diff --git a/.github/workflows/create-proto.yaml b/.github/workflows/create-proto.yaml index 2aa19e36..f7de4222 100644 --- a/.github/workflows/create-proto.yaml +++ b/.github/workflows/create-proto.yaml @@ -1,4 +1,4 @@ -name: compile_PB +name: compile PB on: push: @@ -18,19 +18,9 @@ jobs: uses: actions/setup-node@v4 with: node-version: 20 - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT - working-directory: ./frontend/dashboard - - uses: actions/cache@v3 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - run: yarn install --immutable - working-directory: ./frontend/dashboard + - name: Corepack Enable + run: corepack enable + - run: pnpm install --frozen-lockfile - name: Set up Go uses: actions/setup-go@v4 with: diff --git a/backend/auto-operation/.gitignore b/backend/auto-operation/.gitignore new file mode 100644 index 00000000..a9b203a6 --- /dev/null +++ b/backend/auto-operation/.gitignore @@ -0,0 +1 @@ +main.js diff --git a/backend/auto-operation/main.ts b/backend/auto-operation/main.ts index b02d74b1..862bcf7d 100644 --- a/backend/auto-operation/main.ts +++ b/backend/auto-operation/main.ts @@ -1,22 +1,31 @@ import { createPromiseClient } from "@connectrpc/connect"; import { createConnectTransport } from "@connectrpc/connect-node"; -import { StateManagerService } from "./proto/state/v1/state_connectweb.js"; +import { StateManagerService } from "./proto/state/v1/state_connect.js"; import { BlockStateEnum } from "./proto/state/v1/block_pb.js"; import { StopStateEnum } from "./proto/state/v1/stop_pb.js"; import { PointStateEnum } from "./proto/state/v1/point_pb.js"; import { Priority } from "./proto/state/v1/train_pb.js"; -let mapConfig; +type MapConfig = { + stopBlocks: { [key: string]: string }, + stations: { + [key: string]: { + capacity: number, + } + } +} +let mapConfig: MapConfig; +const SERVER_ADDR = process.env['SERVER_ADDR'] ?? 'http://localhost:8080' const transport = createConnectTransport( { httpVersion: "2", - baseUrl: "http://localhost:8080", + baseUrl: SERVER_ADDR, }); const client = createPromiseClient(StateManagerService, transport); async function loadConfig() { - mapConfig = await import("./map/chofufes-2023.json"); + mapConfig = (await import("./map/chofufes-2023.json")).default; } loadConfig(); @@ -27,7 +36,7 @@ async function addTest() { train: { trainId: "test", positionId: "shinjuku_b1", - priority: Priority.PRIORITY_HIGH, + priority: Priority.HIGH, uuid: "test", destination: "hashimoto_up_s1" } @@ -36,7 +45,7 @@ async function addTest() { train: { trainId: "test2", positionId: "shinjuku_s1", - priority: Priority.PRIORITY_LOW, + priority: Priority.LOW, uuid: "test", destination: "hachioji_up_s1" } @@ -84,14 +93,14 @@ async function main() { // 通過待ちができるかどうか const stationName = train.positionId.split("_")[0] + "_" + train.positionId.split("_")[1]; const capacity = mapConfig.stations[stationName]; - if (capacity > 1 && train.Priority === Priority.PRIORITY_LOW) { + if (capacity.capacity > 1 && train.priority === Priority.LOW) { // 通過待ちが可能な駅で、PriorityがLOWの列車はPriorityがHIGHの列車が停車するまで待つ - const highPriorityTrains = trains.filter(t => (t.positionId.includes(stationName)) && t.Priority === Priority.PRIORITY_HIGH); + const highPriorityTrains = trains.filter(t => (t.positionId.includes(stationName)) && t.priority === Priority.HIGH); if (highPriorityTrains.length > 0) continue; } const stop = stops.find(s => s.id === train.positionId); // 問題ないならGOにする - if (stop.state !== StopStateEnum.STOP_STATE_GO) { + if (stop && stop.state !== StopStateEnum.STOP_STATE_GO) { await client.updateStopState({ "state": { "id": stop.id, @@ -108,8 +117,8 @@ async function main() { // 桜上水上りポイント // デフォルトではSTRAIGHTにして、sakurajosui_up_s1がONならREVERSEにする const sakurajosui_up_s1 = stops.find(s => s.id === "sakurajosui_up_s1"); - if (sakurajosui_up_s1.state === StopStateEnum.STOP_STATE_STOP) { - if (point.state !== StopStateEnum.STOP_STATE_REVERSE) { + if (sakurajosui_up_s1 && sakurajosui_up_s1.state === StopStateEnum.STOP_STATE_STOP) { + if (point.state !== PointStateEnum.POINT_STATE_REVERSE) { await client.updatePointState({ "state": { "id": point.id, @@ -118,7 +127,7 @@ async function main() { }) } } else { - if (point.state !== StopStateEnum.STOP_STATE_STRAIGHT) { + if (point.state !== PointStateEnum.POINT_STATE_NORMAL) { await client.updatePointState({ "state": { "id": point.id, @@ -130,7 +139,7 @@ async function main() { } if (point.id === "sakurajosui_down_p1") { const sakurajosui_down_s1 = stops.find(s => s.id === "sakurajosui_down_s1"); - if (sakurajosui_down_s1.state === StopStateEnum.STOP_STATE_STOP) { + if (sakurajosui_down_s1 && sakurajosui_down_s1.state === StopStateEnum.STOP_STATE_STOP) { if (point.state !== PointStateEnum.POINT_STATE_REVERSE) { await client.updatePointState({ "state": { @@ -183,7 +192,9 @@ async function main() { addTest(); -while (true) { - main(); - await new Promise(resolve => setTimeout(resolve, 200)); -} \ No newline at end of file +(async () => { + while (true) { + main(); + await new Promise(resolve => setTimeout(resolve, 200)); + } +})() \ No newline at end of file diff --git a/backend/auto-operation/package.json b/backend/auto-operation/package.json index 6a6207d5..5e38e841 100644 --- a/backend/auto-operation/package.json +++ b/backend/auto-operation/package.json @@ -4,7 +4,8 @@ "description": "", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "build": "npx tsc" }, "keywords": [], "author": "", @@ -12,15 +13,18 @@ "license": "ISC", "dependencies": { "@bufbuild/buf": "^1.28.1", - "@bufbuild/connect-web": "^0.13.0", "@bufbuild/protobuf": "^1.4.2", - "@bufbuild/protoc-gen-es": "^1.4.2", "@connectrpc/connect": "^1.1.3", "@connectrpc/connect-node": "^1.1.3", "@connectrpc/connect-web": "^1.1.3", - "@connectrpc/protoc-gen-connect-es": "^1.1.3", - "install": "^0.13.0", + "install": "^0.13.0" + }, + "devDependencies": { + "@types/node": "20.9.5", "tsx": "^4.3.0", - "typescript": "5.2.2" - } + "typescript": "5.2.2", + "@connectrpc/protoc-gen-connect-es": "^1.1.3", + "@bufbuild/protoc-gen-es": "^1.4.2" + }, + "packageManager": "pnpm@8.6.11" } \ No newline at end of file diff --git a/backend/auto-operation/proto/state/v1/state_connectweb.d.ts b/backend/auto-operation/proto/state/v1/state_connect.d.ts similarity index 97% rename from backend/auto-operation/proto/state/v1/state_connectweb.d.ts rename to backend/auto-operation/proto/state/v1/state_connect.d.ts index ce3b0613..f21a07b6 100644 --- a/backend/auto-operation/proto/state/v1/state_connectweb.d.ts +++ b/backend/auto-operation/proto/state/v1/state_connect.d.ts @@ -1,4 +1,4 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=dts+js" +// @generated by protoc-gen-connect-es v1.1.3 with parameter "target=dts+js" // @generated from file state/v1/state.proto (package state.v1, syntax proto3) /* eslint-disable */ // @ts-nocheck diff --git a/backend/auto-operation/proto/state/v1/state_connectweb.js b/backend/auto-operation/proto/state/v1/state_connect.js similarity index 97% rename from backend/auto-operation/proto/state/v1/state_connectweb.js rename to backend/auto-operation/proto/state/v1/state_connect.js index 1f4e198d..8da8b3e1 100644 --- a/backend/auto-operation/proto/state/v1/state_connectweb.js +++ b/backend/auto-operation/proto/state/v1/state_connect.js @@ -1,4 +1,4 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=dts+js" +// @generated by protoc-gen-connect-es v1.1.3 with parameter "target=dts+js" // @generated from file state/v1/state.proto (package state.v1, syntax proto3) /* eslint-disable */ // @ts-nocheck diff --git a/backend/auto-operation/tsconfig.json b/backend/auto-operation/tsconfig.json index e075f973..424dbd08 100644 --- a/backend/auto-operation/tsconfig.json +++ b/backend/auto-operation/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "es2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ @@ -25,9 +25,9 @@ // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ + "module": "Node16", /* Specify what module code is generated. */ // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + "moduleResolution": "Node16", /* Specify how TypeScript looks up a file from a given module specifier. */ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ @@ -39,7 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ + "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/backend/proxy/main.go b/backend/proxy/main.go new file mode 100644 index 00000000..55d7048a --- /dev/null +++ b/backend/proxy/main.go @@ -0,0 +1,28 @@ +package main + +import ( + "fmt" + "net/http" + "net/http/httputil" + "net/url" + "strings" +) + +func main() { + frontendURL, _ := url.Parse("http://localhost:3000") + backendURL, _ := url.Parse("http://localhost:8080") + + mux := http.NewServeMux() + mux.Handle("/", httputil.NewSingleHostReverseProxy(frontendURL)) + rev := httputil.ReverseProxy{ + Director: func(r *http.Request) { + r.URL.Path = strings.Replace(r.URL.Path, "/api", "", 1) + r.URL.Host = backendURL.Host + r.URL.Scheme = backendURL.Scheme + r.Header.Set("X-Forwarded-Host", r.Header.Get("Host")) + }, + } + mux.Handle("/api/", &rev) + + fmt.Println(http.ListenAndServe(":3030", mux)) +} diff --git a/docker-bake.hcl b/docker-bake.hcl index ac1c8895..73e715c7 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -1,6 +1,7 @@ group "default" { targets = [ "state-manager", + "autooperation", "dashboard" ] } @@ -29,6 +30,13 @@ target "state-manager" { ] } +target "autooperation" { + dockerfile = "docker/backend/auto-operation/Dockerfile" + tags = [ + GET_TAG("autooperation") + ] +} + target "dashboard" { dockerfile = "docker/frontend/dashboard/Dockerfile" tags = [ diff --git a/docker/backend/auto-operation/Dockerfile b/docker/backend/auto-operation/Dockerfile new file mode 100644 index 00000000..5524583d --- /dev/null +++ b/docker/backend/auto-operation/Dockerfile @@ -0,0 +1,24 @@ +FROM node:20.9-bookworm AS base +ENV PNPM_HOME="/pnpm" +ENV PATH="$PNPM_HOME:$PATH" +RUN corepack enable + +FROM base AS dep-resolver + +WORKDIR /auto-operation +COPY --chown=node:node pnpm-lock.yaml pnpm-workspace.yaml ./ +COPY backend/auto-operation ./backend/auto-operation +RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile + +FROM dep-resolver AS auto-operation-builder +RUN pnpm run --filter=./backend/auto-operation -r build +RUN pnpm deploy --filter=./backend/auto-operation --prod dist/auto-operation +RUN cp backend/auto-operation/main.js dist/auto-operation/main.js +WORKDIR /autooperation/dist/auto-operation + + +FROM gcr.io/distroless/nodejs20-debian12:nonroot AS dashboard-runner +COPY --from=auto-operation-builder --chown=nonroot:nonroot /auto-operation/dist/auto-operation /auto-operation +ENV SERVER_ADDR='' +CMD ["/auto-operation/main.js"] + diff --git a/docker/frontend/dashboard/Dockerfile b/docker/frontend/dashboard/Dockerfile index 3b7ccfdc..43fe71b4 100644 --- a/docker/frontend/dashboard/Dockerfile +++ b/docker/frontend/dashboard/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20.9-bookworm AS base +FROM node:20.10-bookworm AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable @@ -8,15 +8,15 @@ FROM base AS dep-resolver WORKDIR /dashboard COPY --chown=node:node pnpm-lock.yaml pnpm-workspace.yaml ./ COPY frontend/ ./frontend -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile +RUN pnpm install --frozen-lockfile --no-optional FROM dep-resolver AS dashboard-builder RUN pnpm run --filter=./frontend/dashboard -r build RUN pnpm deploy --filter=./frontend/dashboard --prod dist/dashboard WORKDIR /dashboard/dist/dashboard -RUN cp -r .next/static .next/standalone/frontend/dashboard/.next/ -RUN cp -r public .next/standalone/frontend/dashboard/ +RUN cp -r .next/static .next/standalone/.next/ +RUN cp -r public .next/standalone/ FROM gcr.io/distroless/nodejs20-debian12:nonroot AS dashboard-runner COPY --from=dashboard-builder --chown=nonroot:nonroot /dashboard/dist/dashboard /dashboard -CMD ["/dashboard/.next/standalone/frontend/dashboard/server.js"] +CMD ["/dashboard/.next/standalone/server.js"] diff --git a/frontend/dashboard/app/test/page.tsx b/frontend/dashboard/app/test/page.tsx deleted file mode 100644 index fc112bc7..00000000 --- a/frontend/dashboard/app/test/page.tsx +++ /dev/null @@ -1,28 +0,0 @@ -"use client"; -import {createPromiseClient} from "@connectrpc/connect"; -import {StateManagerService} from "@/proto/state/v1/state_connectweb"; -import {createConnectTransport} from "@bufbuild/connect-web"; -import {GetBlockStatesRequest} from "@/proto/state/v1/block_pb"; - -export default function Test() { - - const transport = createConnectTransport( - { - // baseUrl: process.env.NEXT_PUBLIC_API_ENDPOINT!, - baseUrl: "http://localhost:8080", - }); - const sendData = () => { - (async () => { - const client = createPromiseClient(StateManagerService, transport); - const res = await client.getBlockStates(new GetBlockStatesRequest({})); - console.log(res); - })(); - } - - return ( -
-

Test

- -
- ) -} \ No newline at end of file diff --git a/frontend/dashboard/package.json b/frontend/dashboard/package.json index ede53c68..8bd0406f 100644 --- a/frontend/dashboard/package.json +++ b/frontend/dashboard/package.json @@ -9,10 +9,11 @@ "lint": "next lint" }, "dependencies": { - "@bufbuild/connect-web": "^0.13.0", "@bufbuild/protobuf": "^1.4.2", "@connectrpc/connect": "^1.1.3", + "@connectrpc/connect-query": "^0.6.0", "@connectrpc/connect-web": "^1.1.3", + "@tanstack/react-query": "^5.8.4", "clsx": "^2.0.0", "next": "14.0.3", "react": "18.2.0", @@ -20,13 +21,13 @@ }, "devDependencies": { "@bufbuild/buf": "^1.28.1", - "@bufbuild/protoc-gen-connect-web": "^0.11.0", "@bufbuild/protoc-gen-es": "^1.4.2", "@connectrpc/protoc-gen-connect-es": "^1.1.3", + "@connectrpc/protoc-gen-connect-query": "^0.6.0", "@svgr/webpack": "^8.1.0", - "@types/node": "20.9.2", - "@types/react": "18.2.37", - "@types/react-dom": "18.2.15", + "@types/node": "20.9.5", + "@types/react": "18.2.38", + "@types/react-dom": "18.2.17", "eslint-config-prettier": "^9.0.0", "prettier": "3.1.0", "sass": "^1.69.5", @@ -36,5 +37,6 @@ ".next/standalone", ".next/static", "public" - ] + ], + "packageManager": "pnpm@8.6.11" } \ No newline at end of file diff --git a/frontend/dashboard/proto/state/v1/block_pb.d.ts b/frontend/dashboard/proto/state/v1/block_pb.d.ts deleted file mode 100644 index 7e4a3702..00000000 --- a/frontend/dashboard/proto/state/v1/block_pb.d.ts +++ /dev/null @@ -1,163 +0,0 @@ -// -//Block Proto -//閉塞の状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/block.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.BlockStateEnum - */ -export declare enum BlockStateEnum { - /** - * @generated from enum value: BLOCK_STATE_UNKNOWN = 0; - */ - BLOCK_STATE_UNKNOWN = 0, - - /** - * 閉塞が開の状態(列車がいない) - * - * @generated from enum value: BLOCK_STATE_OPEN = 1; - */ - BLOCK_STATE_OPEN = 1, - - /** - * 閉塞が閉の状態(列車がいない) - * - * @generated from enum value: BLOCK_STATE_CLOSE = 2; - */ - BLOCK_STATE_CLOSE = 2, -} - -/** - * 閉塞の状態 - * - * @generated from message state.v1.BlockState - */ -export declare class BlockState extends Message { - /** - * 閉塞のID - * - * @generated from field: string block_id = 1; - */ - blockId: string; - - /** - * 閉塞の状態 - * - * @generated from field: state.v1.BlockStateEnum state = 2; - */ - state: BlockStateEnum; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.BlockState"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): BlockState; - - static fromJson(jsonValue: JsonValue, options?: Partial): BlockState; - - static fromJsonString(jsonString: string, options?: Partial): BlockState; - - static equals(a: BlockState | PlainMessage | undefined, b: BlockState | PlainMessage | undefined): boolean; -} - -/** - * - * GetBlockStates : 閉塞の状態を取得するAPI - * - * @generated from message state.v1.GetBlockStatesRequest - */ -export declare class GetBlockStatesRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetBlockStatesRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetBlockStatesRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetBlockStatesRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetBlockStatesRequest; - - static equals(a: GetBlockStatesRequest | PlainMessage | undefined, b: GetBlockStatesRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetBlockStatesResponse - */ -export declare class GetBlockStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.BlockState states = 1; - */ - states: BlockState[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetBlockStatesResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetBlockStatesResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetBlockStatesResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetBlockStatesResponse; - - static equals(a: GetBlockStatesResponse | PlainMessage | undefined, b: GetBlockStatesResponse | PlainMessage | undefined): boolean; -} - -/** - * - * UpdateBLockState: 閉塞の状態を更新するAPI - * - * @generated from message state.v1.UpdateBlockStateRequest - */ -export declare class UpdateBlockStateRequest extends Message { - /** - * @generated from field: state.v1.BlockState state = 1; - */ - state?: BlockState; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateBlockStateRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateBlockStateRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateBlockStateRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdateBlockStateRequest; - - static equals(a: UpdateBlockStateRequest | PlainMessage | undefined, b: UpdateBlockStateRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateBlockStateResponse - */ -export declare class UpdateBlockStateResponse extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateBlockStateResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateBlockStateResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateBlockStateResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdateBlockStateResponse; - - static equals(a: UpdateBlockStateResponse | PlainMessage | undefined, b: UpdateBlockStateResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/proto/state/v1/block_pb.js b/frontend/dashboard/proto/state/v1/block_pb.js deleted file mode 100644 index 5c9843ab..00000000 --- a/frontend/dashboard/proto/state/v1/block_pb.js +++ /dev/null @@ -1,78 +0,0 @@ -// -//Block Proto -//閉塞の状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/block.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.BlockStateEnum - */ -export const BlockStateEnum = proto3.makeEnum( - "state.v1.BlockStateEnum", - [ - {no: 0, name: "BLOCK_STATE_UNKNOWN"}, - {no: 1, name: "BLOCK_STATE_OPEN"}, - {no: 2, name: "BLOCK_STATE_CLOSE"}, - ], -); - -/** - * 閉塞の状態 - * - * @generated from message state.v1.BlockState - */ -export const BlockState = proto3.makeMessageType( - "state.v1.BlockState", - () => [ - { no: 1, name: "block_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(BlockStateEnum) }, - ], -); - -/** - * - * GetBlockStates : 閉塞の状態を取得するAPI - * - * @generated from message state.v1.GetBlockStatesRequest - */ -export const GetBlockStatesRequest = proto3.makeMessageType( - "state.v1.GetBlockStatesRequest", - [], -); - -/** - * @generated from message state.v1.GetBlockStatesResponse - */ -export const GetBlockStatesResponse = proto3.makeMessageType( - "state.v1.GetBlockStatesResponse", - () => [ - { no: 1, name: "states", kind: "message", T: BlockState, repeated: true }, - ], -); - -/** - * - * UpdateBLockState: 閉塞の状態を更新するAPI - * - * @generated from message state.v1.UpdateBlockStateRequest - */ -export const UpdateBlockStateRequest = proto3.makeMessageType( - "state.v1.UpdateBlockStateRequest", - () => [ - { no: 1, name: "state", kind: "message", T: BlockState }, - ], -); - -/** - * @generated from message state.v1.UpdateBlockStateResponse - */ -export const UpdateBlockStateResponse = proto3.makeMessageType( - "state.v1.UpdateBlockStateResponse", - [], -); - diff --git a/frontend/dashboard/proto/state/v1/block_pb.ts b/frontend/dashboard/proto/state/v1/block_pb.ts deleted file mode 100644 index f5527eec..00000000 --- a/frontend/dashboard/proto/state/v1/block_pb.ts +++ /dev/null @@ -1,233 +0,0 @@ -// -//Block Proto -//閉塞の状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=ts" -// @generated from file state/v1/block.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.BlockStateEnum - */ -export enum BlockStateEnum { - /** - * @generated from enum value: BLOCK_STATE_UNKNOWN = 0; - */ - BLOCK_STATE_UNKNOWN = 0, - - /** - * 閉塞が開の状態(列車がいない) - * - * @generated from enum value: BLOCK_STATE_OPEN = 1; - */ - BLOCK_STATE_OPEN = 1, - - /** - * 閉塞が閉の状態(列車がいない) - * - * @generated from enum value: BLOCK_STATE_CLOSE = 2; - */ - BLOCK_STATE_CLOSE = 2, -} -// Retrieve enum metadata with: proto3.getEnumType(BlockStateEnum) -proto3.util.setEnumType(BlockStateEnum, "state.v1.BlockStateEnum", [ - { no: 0, name: "BLOCK_STATE_UNKNOWN" }, - { no: 1, name: "BLOCK_STATE_OPEN" }, - { no: 2, name: "BLOCK_STATE_CLOSE" }, -]); - -/** - * 閉塞の状態 - * - * @generated from message state.v1.BlockState - */ -export class BlockState extends Message { - /** - * 閉塞のID - * - * @generated from field: string block_id = 1; - */ - blockId = ""; - - /** - * 閉塞の状態 - * - * @generated from field: state.v1.BlockStateEnum state = 2; - */ - state = BlockStateEnum.BLOCK_STATE_UNKNOWN; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.BlockState"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "block_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(BlockStateEnum) }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): BlockState { - return new BlockState().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): BlockState { - return new BlockState().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): BlockState { - return new BlockState().fromJsonString(jsonString, options); - } - - static equals(a: BlockState | PlainMessage | undefined, b: BlockState | PlainMessage | undefined): boolean { - return proto3.util.equals(BlockState, a, b); - } -} - -/** - * - * GetBlockStates : 閉塞の状態を取得するAPI - * - * @generated from message state.v1.GetBlockStatesRequest - */ -export class GetBlockStatesRequest extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetBlockStatesRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetBlockStatesRequest { - return new GetBlockStatesRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetBlockStatesRequest { - return new GetBlockStatesRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetBlockStatesRequest { - return new GetBlockStatesRequest().fromJsonString(jsonString, options); - } - - static equals(a: GetBlockStatesRequest | PlainMessage | undefined, b: GetBlockStatesRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(GetBlockStatesRequest, a, b); - } -} - -/** - * @generated from message state.v1.GetBlockStatesResponse - */ -export class GetBlockStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.BlockState states = 1; - */ - states: BlockState[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetBlockStatesResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "states", kind: "message", T: BlockState, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetBlockStatesResponse { - return new GetBlockStatesResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetBlockStatesResponse { - return new GetBlockStatesResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetBlockStatesResponse { - return new GetBlockStatesResponse().fromJsonString(jsonString, options); - } - - static equals(a: GetBlockStatesResponse | PlainMessage | undefined, b: GetBlockStatesResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(GetBlockStatesResponse, a, b); - } -} - -/** - * - * UpdateBLockState: 閉塞の状態を更新するAPI - * - * @generated from message state.v1.UpdateBlockStateRequest - */ -export class UpdateBlockStateRequest extends Message { - /** - * @generated from field: state.v1.BlockState state = 1; - */ - state?: BlockState; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateBlockStateRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "state", kind: "message", T: BlockState }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateBlockStateRequest { - return new UpdateBlockStateRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateBlockStateRequest { - return new UpdateBlockStateRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdateBlockStateRequest { - return new UpdateBlockStateRequest().fromJsonString(jsonString, options); - } - - static equals(a: UpdateBlockStateRequest | PlainMessage | undefined, b: UpdateBlockStateRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateBlockStateRequest, a, b); - } -} - -/** - * @generated from message state.v1.UpdateBlockStateResponse - */ -export class UpdateBlockStateResponse extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateBlockStateResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateBlockStateResponse { - return new UpdateBlockStateResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateBlockStateResponse { - return new UpdateBlockStateResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdateBlockStateResponse { - return new UpdateBlockStateResponse().fromJsonString(jsonString, options); - } - - static equals(a: UpdateBlockStateResponse | PlainMessage | undefined, b: UpdateBlockStateResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateBlockStateResponse, a, b); - } -} - diff --git a/frontend/dashboard/proto/state/v1/point_pb.d.ts b/frontend/dashboard/proto/state/v1/point_pb.d.ts deleted file mode 100644 index 3549e61c..00000000 --- a/frontend/dashboard/proto/state/v1/point_pb.d.ts +++ /dev/null @@ -1,161 +0,0 @@ -// -//Point Proto -//ポイントレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/point.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.PointStateEnum - */ -export declare enum PointStateEnum { - /** - * @generated from enum value: POINT_STATE_UNKNOWN = 0; - */ - POINT_STATE_UNKNOWN = 0, - - /** - * ポイントがまっすぐな状態 - * - * @generated from enum value: POINT_STATE_NORMAL = 1; - */ - POINT_STATE_NORMAL = 1, - - /** - * ポイントが移動している状態 - * - * @generated from enum value: POINT_STATE_REVERSE = 2; - */ - POINT_STATE_REVERSE = 2, -} - -/** - * @generated from message state.v1.PointAndState - */ -export declare class PointAndState extends Message { - /** - * ポイントのid - * - * @generated from field: string id = 1; - */ - id: string; - - /** - * ポイントの状態 - * - * @generated from field: state.v1.PointStateEnum state = 2; - */ - state: PointStateEnum; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.PointAndState"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): PointAndState; - - static fromJson(jsonValue: JsonValue, options?: Partial): PointAndState; - - static fromJsonString(jsonString: string, options?: Partial): PointAndState; - - static equals(a: PointAndState | PlainMessage | undefined, b: PointAndState | PlainMessage | undefined): boolean; -} - -/** - * - * UpdatePointState : ポイントの状態を更新するAPI - * - * @generated from message state.v1.UpdatePointStateRequest - */ -export declare class UpdatePointStateRequest extends Message { - /** - * @generated from field: state.v1.PointAndState state = 1; - */ - state?: PointAndState; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdatePointStateRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePointStateRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePointStateRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdatePointStateRequest; - - static equals(a: UpdatePointStateRequest | PlainMessage | undefined, b: UpdatePointStateRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdatePointStateResponse - */ -export declare class UpdatePointStateResponse extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdatePointStateResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePointStateResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePointStateResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdatePointStateResponse; - - static equals(a: UpdatePointStateResponse | PlainMessage | undefined, b: UpdatePointStateResponse | PlainMessage | undefined): boolean; -} - -/** - * - * GetPointStates : 全てのポイントの状態を取得するAPI - * - * @generated from message state.v1.GetPointStatesRequest - */ -export declare class GetPointStatesRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetPointStatesRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetPointStatesRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetPointStatesRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetPointStatesRequest; - - static equals(a: GetPointStatesRequest | PlainMessage | undefined, b: GetPointStatesRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetPointStatesResponse - */ -export declare class GetPointStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.PointAndState states = 1; - */ - states: PointAndState[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetPointStatesResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetPointStatesResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetPointStatesResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetPointStatesResponse; - - static equals(a: GetPointStatesResponse | PlainMessage | undefined, b: GetPointStatesResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/proto/state/v1/point_pb.js b/frontend/dashboard/proto/state/v1/point_pb.js deleted file mode 100644 index 623ba2ee..00000000 --- a/frontend/dashboard/proto/state/v1/point_pb.js +++ /dev/null @@ -1,76 +0,0 @@ -// -//Point Proto -//ポイントレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/point.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.PointStateEnum - */ -export const PointStateEnum = proto3.makeEnum( - "state.v1.PointStateEnum", - [ - {no: 0, name: "POINT_STATE_UNKNOWN"}, - {no: 1, name: "POINT_STATE_NORMAL"}, - {no: 2, name: "POINT_STATE_REVERSE"}, - ], -); - -/** - * @generated from message state.v1.PointAndState - */ -export const PointAndState = proto3.makeMessageType( - "state.v1.PointAndState", - () => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(PointStateEnum) }, - ], -); - -/** - * - * UpdatePointState : ポイントの状態を更新するAPI - * - * @generated from message state.v1.UpdatePointStateRequest - */ -export const UpdatePointStateRequest = proto3.makeMessageType( - "state.v1.UpdatePointStateRequest", - () => [ - { no: 1, name: "state", kind: "message", T: PointAndState }, - ], -); - -/** - * @generated from message state.v1.UpdatePointStateResponse - */ -export const UpdatePointStateResponse = proto3.makeMessageType( - "state.v1.UpdatePointStateResponse", - [], -); - -/** - * - * GetPointStates : 全てのポイントの状態を取得するAPI - * - * @generated from message state.v1.GetPointStatesRequest - */ -export const GetPointStatesRequest = proto3.makeMessageType( - "state.v1.GetPointStatesRequest", - [], -); - -/** - * @generated from message state.v1.GetPointStatesResponse - */ -export const GetPointStatesResponse = proto3.makeMessageType( - "state.v1.GetPointStatesResponse", - () => [ - { no: 1, name: "states", kind: "message", T: PointAndState, repeated: true }, - ], -); - diff --git a/frontend/dashboard/proto/state/v1/point_pb.ts b/frontend/dashboard/proto/state/v1/point_pb.ts deleted file mode 100644 index 57354235..00000000 --- a/frontend/dashboard/proto/state/v1/point_pb.ts +++ /dev/null @@ -1,231 +0,0 @@ -// -//Point Proto -//ポイントレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=ts" -// @generated from file state/v1/point.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.PointStateEnum - */ -export enum PointStateEnum { - /** - * @generated from enum value: POINT_STATE_UNKNOWN = 0; - */ - POINT_STATE_UNKNOWN = 0, - - /** - * ポイントがまっすぐな状態 - * - * @generated from enum value: POINT_STATE_NORMAL = 1; - */ - POINT_STATE_NORMAL = 1, - - /** - * ポイントが移動している状態 - * - * @generated from enum value: POINT_STATE_REVERSE = 2; - */ - POINT_STATE_REVERSE = 2, -} -// Retrieve enum metadata with: proto3.getEnumType(PointStateEnum) -proto3.util.setEnumType(PointStateEnum, "state.v1.PointStateEnum", [ - { no: 0, name: "POINT_STATE_UNKNOWN" }, - { no: 1, name: "POINT_STATE_NORMAL" }, - { no: 2, name: "POINT_STATE_REVERSE" }, -]); - -/** - * @generated from message state.v1.PointAndState - */ -export class PointAndState extends Message { - /** - * ポイントのid - * - * @generated from field: string id = 1; - */ - id = ""; - - /** - * ポイントの状態 - * - * @generated from field: state.v1.PointStateEnum state = 2; - */ - state = PointStateEnum.POINT_STATE_UNKNOWN; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.PointAndState"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(PointStateEnum) }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): PointAndState { - return new PointAndState().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): PointAndState { - return new PointAndState().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): PointAndState { - return new PointAndState().fromJsonString(jsonString, options); - } - - static equals(a: PointAndState | PlainMessage | undefined, b: PointAndState | PlainMessage | undefined): boolean { - return proto3.util.equals(PointAndState, a, b); - } -} - -/** - * - * UpdatePointState : ポイントの状態を更新するAPI - * - * @generated from message state.v1.UpdatePointStateRequest - */ -export class UpdatePointStateRequest extends Message { - /** - * @generated from field: state.v1.PointAndState state = 1; - */ - state?: PointAndState; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdatePointStateRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "state", kind: "message", T: PointAndState }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePointStateRequest { - return new UpdatePointStateRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePointStateRequest { - return new UpdatePointStateRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdatePointStateRequest { - return new UpdatePointStateRequest().fromJsonString(jsonString, options); - } - - static equals(a: UpdatePointStateRequest | PlainMessage | undefined, b: UpdatePointStateRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdatePointStateRequest, a, b); - } -} - -/** - * @generated from message state.v1.UpdatePointStateResponse - */ -export class UpdatePointStateResponse extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdatePointStateResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePointStateResponse { - return new UpdatePointStateResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePointStateResponse { - return new UpdatePointStateResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdatePointStateResponse { - return new UpdatePointStateResponse().fromJsonString(jsonString, options); - } - - static equals(a: UpdatePointStateResponse | PlainMessage | undefined, b: UpdatePointStateResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdatePointStateResponse, a, b); - } -} - -/** - * - * GetPointStates : 全てのポイントの状態を取得するAPI - * - * @generated from message state.v1.GetPointStatesRequest - */ -export class GetPointStatesRequest extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetPointStatesRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetPointStatesRequest { - return new GetPointStatesRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetPointStatesRequest { - return new GetPointStatesRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetPointStatesRequest { - return new GetPointStatesRequest().fromJsonString(jsonString, options); - } - - static equals(a: GetPointStatesRequest | PlainMessage | undefined, b: GetPointStatesRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(GetPointStatesRequest, a, b); - } -} - -/** - * @generated from message state.v1.GetPointStatesResponse - */ -export class GetPointStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.PointAndState states = 1; - */ - states: PointAndState[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetPointStatesResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "states", kind: "message", T: PointAndState, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetPointStatesResponse { - return new GetPointStatesResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetPointStatesResponse { - return new GetPointStatesResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetPointStatesResponse { - return new GetPointStatesResponse().fromJsonString(jsonString, options); - } - - static equals(a: GetPointStatesResponse | PlainMessage | undefined, b: GetPointStatesResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(GetPointStatesResponse, a, b); - } -} - diff --git a/frontend/dashboard/proto/state/v1/state_connectweb.d.ts b/frontend/dashboard/proto/state/v1/state_connectweb.d.ts deleted file mode 100644 index ce3b0613..00000000 --- a/frontend/dashboard/proto/state/v1/state_connectweb.d.ts +++ /dev/null @@ -1,113 +0,0 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=dts+js" -// @generated from file state/v1/state.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.js"; -import { MethodKind } from "@bufbuild/protobuf"; -import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.js"; -import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.js"; -import { AddTrainRequest, AddTrainResponse, GetTrainsRequest, GetTrainsResponse, UpdateTrainRequest, UpdateTrainResponse } from "./train_pb.js"; - -/** - * - * StateManagerが提供するサービス - * AutoOperationとフロントエンド間の通信に利用される - * - * @generated from service state.v1.StateManagerService - */ -export declare const StateManagerService: { - readonly typeName: "state.v1.StateManagerService", - readonly methods: { - /** - * Block - * - * @generated from rpc state.v1.StateManagerService.GetBlockStates - */ - readonly getBlockStates: { - readonly name: "GetBlockStates", - readonly I: typeof GetBlockStatesRequest, - readonly O: typeof GetBlockStatesResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateBlockState - */ - readonly updateBlockState: { - readonly name: "UpdateBlockState", - readonly I: typeof UpdateBlockStateRequest, - readonly O: typeof UpdateBlockStateResponse, - readonly kind: MethodKind.Unary, - }, - /** - * Point - * - * @generated from rpc state.v1.StateManagerService.UpdatePointState - */ - readonly updatePointState: { - readonly name: "UpdatePointState", - readonly I: typeof UpdatePointStateRequest, - readonly O: typeof UpdatePointStateResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetPointStates - */ - readonly getPointStates: { - readonly name: "GetPointStates", - readonly I: typeof GetPointStatesRequest, - readonly O: typeof GetPointStatesResponse, - readonly kind: MethodKind.Unary, - }, - /** - * Stop - * - * @generated from rpc state.v1.StateManagerService.UpdateStopState - */ - readonly updateStopState: { - readonly name: "UpdateStopState", - readonly I: typeof UpdateStopStateRequest, - readonly O: typeof UpdateStopStateResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetStopStates - */ - readonly getStopStates: { - readonly name: "GetStopStates", - readonly I: typeof GetStopStatesRequest, - readonly O: typeof GetStopStatesResponse, - readonly kind: MethodKind.Unary, - }, - /** - * Train - * - * @generated from rpc state.v1.StateManagerService.GetTrains - */ - readonly getTrains: { - readonly name: "GetTrains", - readonly I: typeof GetTrainsRequest, - readonly O: typeof GetTrainsResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.AddTrain - */ - readonly addTrain: { - readonly name: "AddTrain", - readonly I: typeof AddTrainRequest, - readonly O: typeof AddTrainResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateTrain - */ - readonly updateTrain: { - readonly name: "UpdateTrain", - readonly I: typeof UpdateTrainRequest, - readonly O: typeof UpdateTrainResponse, - readonly kind: MethodKind.Unary, - }, - } -}; - diff --git a/frontend/dashboard/proto/state/v1/state_connectweb.ts b/frontend/dashboard/proto/state/v1/state_connectweb.ts deleted file mode 100644 index 242d0323..00000000 --- a/frontend/dashboard/proto/state/v1/state_connectweb.ts +++ /dev/null @@ -1,104 +0,0 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=ts" -// @generated from file state/v1/state.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.js"; -import { MethodKind } from "@bufbuild/protobuf"; -import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.js"; -import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.js"; -import { GetTrainsRequest, GetTrainsResponse, UpdateTrainUUIDRequest, UpdateTrainUUIDResponse } from "./train_pb.js"; - -/** - * - * StateManagerが提供するサービス - * AutoOperationとフロントエンド間の通信に利用される - * - * @generated from service state.v1.StateManagerService - */ -export const StateManagerService = { - typeName: "state.v1.StateManagerService", - methods: { - /** - * Block - * - * @generated from rpc state.v1.StateManagerService.GetBlockStates - */ - getBlockStates: { - name: "GetBlockStates", - I: GetBlockStatesRequest, - O: GetBlockStatesResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateBlockState - */ - updateBlockState: { - name: "UpdateBlockState", - I: UpdateBlockStateRequest, - O: UpdateBlockStateResponse, - kind: MethodKind.Unary, - }, - /** - * Point - * - * @generated from rpc state.v1.StateManagerService.UpdatePointState - */ - updatePointState: { - name: "UpdatePointState", - I: UpdatePointStateRequest, - O: UpdatePointStateResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetPointStates - */ - getPointStates: { - name: "GetPointStates", - I: GetPointStatesRequest, - O: GetPointStatesResponse, - kind: MethodKind.Unary, - }, - /** - * Stop - * - * @generated from rpc state.v1.StateManagerService.UpdateStopState - */ - updateStopState: { - name: "UpdateStopState", - I: UpdateStopStateRequest, - O: UpdateStopStateResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetStopStates - */ - getStopStates: { - name: "GetStopStates", - I: GetStopStatesRequest, - O: GetStopStatesResponse, - kind: MethodKind.Unary, - }, - /** - * Train - * - * @generated from rpc state.v1.StateManagerService.GetTrains - */ - getTrains: { - name: "GetTrains", - I: GetTrainsRequest, - O: GetTrainsResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateTrainUUID - */ - updateTrainUUID: { - name: "UpdateTrainUUID", - I: UpdateTrainUUIDRequest, - O: UpdateTrainUUIDResponse, - kind: MethodKind.Unary, - }, - } -} as const; - diff --git a/frontend/dashboard/proto/state/v1/stop_pb.d.ts b/frontend/dashboard/proto/state/v1/stop_pb.d.ts deleted file mode 100644 index bdb5b921..00000000 --- a/frontend/dashboard/proto/state/v1/stop_pb.d.ts +++ /dev/null @@ -1,161 +0,0 @@ -// -//Stop Proto -//ストップレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/stop.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.StopStateEnum - */ -export declare enum StopStateEnum { - /** - * @generated from enum value: STOP_STATE_UNKNOWN = 0; - */ - STOP_STATE_UNKNOWN = 0, - - /** - * バーが下がってる状態 - * - * @generated from enum value: STOP_STATE_GO = 1; - */ - STOP_STATE_GO = 1, - - /** - * バーが上がってる状態 - * - * @generated from enum value: STOP_STATE_STOP = 2; - */ - STOP_STATE_STOP = 2, -} - -/** - * @generated from message state.v1.StopAndState - */ -export declare class StopAndState extends Message { - /** - * ポイントのid - * - * @generated from field: string id = 1; - */ - id: string; - - /** - * ポイントの状態 - * - * @generated from field: state.v1.StopStateEnum state = 2; - */ - state: StopStateEnum; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.StopAndState"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): StopAndState; - - static fromJson(jsonValue: JsonValue, options?: Partial): StopAndState; - - static fromJsonString(jsonString: string, options?: Partial): StopAndState; - - static equals(a: StopAndState | PlainMessage | undefined, b: StopAndState | PlainMessage | undefined): boolean; -} - -/** - * - * UpdateStopState : ストップレールの状態を更新するAPI - * - * @generated from message state.v1.UpdateStopStateRequest - */ -export declare class UpdateStopStateRequest extends Message { - /** - * @generated from field: state.v1.StopAndState state = 1; - */ - state?: StopAndState; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateStopStateRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateStopStateRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateStopStateRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdateStopStateRequest; - - static equals(a: UpdateStopStateRequest | PlainMessage | undefined, b: UpdateStopStateRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateStopStateResponse - */ -export declare class UpdateStopStateResponse extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateStopStateResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateStopStateResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateStopStateResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdateStopStateResponse; - - static equals(a: UpdateStopStateResponse | PlainMessage | undefined, b: UpdateStopStateResponse | PlainMessage | undefined): boolean; -} - -/** - * - * GetStopStates : 全てのストップレールの状態を取得するAPI - * - * @generated from message state.v1.GetStopStatesRequest - */ -export declare class GetStopStatesRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetStopStatesRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetStopStatesRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetStopStatesRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetStopStatesRequest; - - static equals(a: GetStopStatesRequest | PlainMessage | undefined, b: GetStopStatesRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetStopStatesResponse - */ -export declare class GetStopStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.StopAndState states = 1; - */ - states: StopAndState[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetStopStatesResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetStopStatesResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetStopStatesResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetStopStatesResponse; - - static equals(a: GetStopStatesResponse | PlainMessage | undefined, b: GetStopStatesResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/proto/state/v1/stop_pb.js b/frontend/dashboard/proto/state/v1/stop_pb.js deleted file mode 100644 index caf0be2d..00000000 --- a/frontend/dashboard/proto/state/v1/stop_pb.js +++ /dev/null @@ -1,76 +0,0 @@ -// -//Stop Proto -//ストップレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/stop.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.StopStateEnum - */ -export const StopStateEnum = proto3.makeEnum( - "state.v1.StopStateEnum", - [ - {no: 0, name: "STOP_STATE_UNKNOWN"}, - {no: 1, name: "STOP_STATE_GO"}, - {no: 2, name: "STOP_STATE_STOP"}, - ], -); - -/** - * @generated from message state.v1.StopAndState - */ -export const StopAndState = proto3.makeMessageType( - "state.v1.StopAndState", - () => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(StopStateEnum) }, - ], -); - -/** - * - * UpdateStopState : ストップレールの状態を更新するAPI - * - * @generated from message state.v1.UpdateStopStateRequest - */ -export const UpdateStopStateRequest = proto3.makeMessageType( - "state.v1.UpdateStopStateRequest", - () => [ - { no: 1, name: "state", kind: "message", T: StopAndState }, - ], -); - -/** - * @generated from message state.v1.UpdateStopStateResponse - */ -export const UpdateStopStateResponse = proto3.makeMessageType( - "state.v1.UpdateStopStateResponse", - [], -); - -/** - * - * GetStopStates : 全てのストップレールの状態を取得するAPI - * - * @generated from message state.v1.GetStopStatesRequest - */ -export const GetStopStatesRequest = proto3.makeMessageType( - "state.v1.GetStopStatesRequest", - [], -); - -/** - * @generated from message state.v1.GetStopStatesResponse - */ -export const GetStopStatesResponse = proto3.makeMessageType( - "state.v1.GetStopStatesResponse", - () => [ - { no: 1, name: "states", kind: "message", T: StopAndState, repeated: true }, - ], -); - diff --git a/frontend/dashboard/proto/state/v1/stop_pb.ts b/frontend/dashboard/proto/state/v1/stop_pb.ts deleted file mode 100644 index fccb87ec..00000000 --- a/frontend/dashboard/proto/state/v1/stop_pb.ts +++ /dev/null @@ -1,231 +0,0 @@ -// -//Stop Proto -//ストップレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=ts" -// @generated from file state/v1/stop.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.StopStateEnum - */ -export enum StopStateEnum { - /** - * @generated from enum value: STOP_STATE_UNKNOWN = 0; - */ - STOP_STATE_UNKNOWN = 0, - - /** - * バーが下がってる状態 - * - * @generated from enum value: STOP_STATE_GO = 1; - */ - STOP_STATE_GO = 1, - - /** - * バーが上がってる状態 - * - * @generated from enum value: STOP_STATE_STOP = 2; - */ - STOP_STATE_STOP = 2, -} -// Retrieve enum metadata with: proto3.getEnumType(StopStateEnum) -proto3.util.setEnumType(StopStateEnum, "state.v1.StopStateEnum", [ - { no: 0, name: "STOP_STATE_UNKNOWN" }, - { no: 1, name: "STOP_STATE_GO" }, - { no: 2, name: "STOP_STATE_STOP" }, -]); - -/** - * @generated from message state.v1.StopAndState - */ -export class StopAndState extends Message { - /** - * ポイントのid - * - * @generated from field: string id = 1; - */ - id = ""; - - /** - * ポイントの状態 - * - * @generated from field: state.v1.StopStateEnum state = 2; - */ - state = StopStateEnum.STOP_STATE_UNKNOWN; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.StopAndState"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(StopStateEnum) }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): StopAndState { - return new StopAndState().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): StopAndState { - return new StopAndState().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): StopAndState { - return new StopAndState().fromJsonString(jsonString, options); - } - - static equals(a: StopAndState | PlainMessage | undefined, b: StopAndState | PlainMessage | undefined): boolean { - return proto3.util.equals(StopAndState, a, b); - } -} - -/** - * - * UpdateStopState : ストップレールの状態を更新するAPI - * - * @generated from message state.v1.UpdateStopStateRequest - */ -export class UpdateStopStateRequest extends Message { - /** - * @generated from field: state.v1.StopAndState state = 1; - */ - state?: StopAndState; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateStopStateRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "state", kind: "message", T: StopAndState }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateStopStateRequest { - return new UpdateStopStateRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateStopStateRequest { - return new UpdateStopStateRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdateStopStateRequest { - return new UpdateStopStateRequest().fromJsonString(jsonString, options); - } - - static equals(a: UpdateStopStateRequest | PlainMessage | undefined, b: UpdateStopStateRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateStopStateRequest, a, b); - } -} - -/** - * @generated from message state.v1.UpdateStopStateResponse - */ -export class UpdateStopStateResponse extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateStopStateResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateStopStateResponse { - return new UpdateStopStateResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateStopStateResponse { - return new UpdateStopStateResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdateStopStateResponse { - return new UpdateStopStateResponse().fromJsonString(jsonString, options); - } - - static equals(a: UpdateStopStateResponse | PlainMessage | undefined, b: UpdateStopStateResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateStopStateResponse, a, b); - } -} - -/** - * - * GetStopStates : 全てのストップレールの状態を取得するAPI - * - * @generated from message state.v1.GetStopStatesRequest - */ -export class GetStopStatesRequest extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetStopStatesRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetStopStatesRequest { - return new GetStopStatesRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetStopStatesRequest { - return new GetStopStatesRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetStopStatesRequest { - return new GetStopStatesRequest().fromJsonString(jsonString, options); - } - - static equals(a: GetStopStatesRequest | PlainMessage | undefined, b: GetStopStatesRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(GetStopStatesRequest, a, b); - } -} - -/** - * @generated from message state.v1.GetStopStatesResponse - */ -export class GetStopStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.StopAndState states = 1; - */ - states: StopAndState[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetStopStatesResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "states", kind: "message", T: StopAndState, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetStopStatesResponse { - return new GetStopStatesResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetStopStatesResponse { - return new GetStopStatesResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetStopStatesResponse { - return new GetStopStatesResponse().fromJsonString(jsonString, options); - } - - static equals(a: GetStopStatesResponse | PlainMessage | undefined, b: GetStopStatesResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(GetStopStatesResponse, a, b); - } -} - diff --git a/frontend/dashboard/proto/state/v1/train_pb.d.ts b/frontend/dashboard/proto/state/v1/train_pb.d.ts deleted file mode 100644 index 0bfa21b1..00000000 --- a/frontend/dashboard/proto/state/v1/train_pb.d.ts +++ /dev/null @@ -1,231 +0,0 @@ -// -//Train Proto -//駅に停車している列車の情報を扱うためのプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/train.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.Priority - */ -export declare enum Priority { - /** - * @generated from enum value: PRIORITY_UNSPECIFIED = 0; - */ - UNSPECIFIED = 0, - - /** - * @generated from enum value: PRIORITY_LOW = 1; - */ - LOW = 1, - - /** - * @generated from enum value: PRIORITY_HIGH = 2; - */ - HIGH = 2, -} - -/** - * @generated from message state.v1.Train - */ -export declare class Train extends Message { - /** - * 列車ID(NFCのUUIDと一意に対応している) - * - * @generated from field: string train_id = 1; - */ - trainId: string; - - /** - * 駅 or 閉塞のID - * - * @generated from field: string position_id = 2; - */ - positionId: string; - - /** - * 列車の優先度 - * - * @generated from field: state.v1.Priority priority = 3; - */ - priority: Priority; - - /** - * NFCのUUID - * - * @generated from field: string uuid = 4; - */ - uuid: string; - - /** - * 行き先 - * - * @generated from field: string destination = 5; - */ - destination: string; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.Train"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): Train; - - static fromJson(jsonValue: JsonValue, options?: Partial): Train; - - static fromJsonString(jsonString: string, options?: Partial): Train; - - static equals(a: Train | PlainMessage | undefined, b: Train | PlainMessage | undefined): boolean; -} - -/** - * - * GetTrains : 列車の状態を取得するAPI - * - * @generated from message state.v1.GetTrainsRequest - */ -export declare class GetTrainsRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetTrainsRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetTrainsRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetTrainsRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetTrainsRequest; - - static equals(a: GetTrainsRequest | PlainMessage | undefined, b: GetTrainsRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetTrainsResponse - */ -export declare class GetTrainsResponse extends Message { - /** - * @generated from field: repeated state.v1.Train trains = 1; - */ - trains: Train[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetTrainsResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetTrainsResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetTrainsResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetTrainsResponse; - - static equals(a: GetTrainsResponse | PlainMessage | undefined, b: GetTrainsResponse | PlainMessage | undefined): boolean; -} - -/** - * - * Add Train : 列車を追加するAPI - * - * @generated from message state.v1.AddTrainRequest - */ -export declare class AddTrainRequest extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.AddTrainRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): AddTrainRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): AddTrainRequest; - - static fromJsonString(jsonString: string, options?: Partial): AddTrainRequest; - - static equals(a: AddTrainRequest | PlainMessage | undefined, b: AddTrainRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.AddTrainResponse - */ -export declare class AddTrainResponse extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.AddTrainResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): AddTrainResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): AddTrainResponse; - - static fromJsonString(jsonString: string, options?: Partial): AddTrainResponse; - - static equals(a: AddTrainResponse | PlainMessage | undefined, b: AddTrainResponse | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateTrainRequest - */ -export declare class UpdateTrainRequest extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateTrainRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainRequest; - - static equals(a: UpdateTrainRequest | PlainMessage | undefined, b: UpdateTrainRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateTrainResponse - */ -export declare class UpdateTrainResponse extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateTrainResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainResponse; - - static equals(a: UpdateTrainResponse | PlainMessage | undefined, b: UpdateTrainResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/proto/state/v1/train_pb.js b/frontend/dashboard/proto/state/v1/train_pb.js deleted file mode 100644 index a8b61497..00000000 --- a/frontend/dashboard/proto/state/v1/train_pb.js +++ /dev/null @@ -1,101 +0,0 @@ -// -//Train Proto -//駅に停車している列車の情報を扱うためのプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/train.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.Priority - */ -export const Priority = proto3.makeEnum( - "state.v1.Priority", - [ - {no: 0, name: "PRIORITY_UNSPECIFIED", localName: "UNSPECIFIED"}, - {no: 1, name: "PRIORITY_LOW", localName: "LOW"}, - {no: 2, name: "PRIORITY_HIGH", localName: "HIGH"}, - ], -); - -/** - * @generated from message state.v1.Train - */ -export const Train = proto3.makeMessageType( - "state.v1.Train", - () => [ - { no: 1, name: "train_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "position_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 3, name: "priority", kind: "enum", T: proto3.getEnumType(Priority) }, - { no: 4, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 5, name: "destination", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ], -); - -/** - * - * GetTrains : 列車の状態を取得するAPI - * - * @generated from message state.v1.GetTrainsRequest - */ -export const GetTrainsRequest = proto3.makeMessageType( - "state.v1.GetTrainsRequest", - [], -); - -/** - * @generated from message state.v1.GetTrainsResponse - */ -export const GetTrainsResponse = proto3.makeMessageType( - "state.v1.GetTrainsResponse", - () => [ - { no: 1, name: "trains", kind: "message", T: Train, repeated: true }, - ], -); - -/** - * - * Add Train : 列車を追加するAPI - * - * @generated from message state.v1.AddTrainRequest - */ -export const AddTrainRequest = proto3.makeMessageType( - "state.v1.AddTrainRequest", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - -/** - * @generated from message state.v1.AddTrainResponse - */ -export const AddTrainResponse = proto3.makeMessageType( - "state.v1.AddTrainResponse", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - -/** - * @generated from message state.v1.UpdateTrainRequest - */ -export const UpdateTrainRequest = proto3.makeMessageType( - "state.v1.UpdateTrainRequest", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - -/** - * @generated from message state.v1.UpdateTrainResponse - */ -export const UpdateTrainResponse = proto3.makeMessageType( - "state.v1.UpdateTrainResponse", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - diff --git a/frontend/dashboard/proto/state/v1/train_pb.ts b/frontend/dashboard/proto/state/v1/train_pb.ts deleted file mode 100644 index 6027cb6b..00000000 --- a/frontend/dashboard/proto/state/v1/train_pb.ts +++ /dev/null @@ -1,237 +0,0 @@ -// -//Train Proto -//駅に停車している列車の情報を扱うためのプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=ts" -// @generated from file state/v1/train.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.Priority - */ -export enum Priority { - /** - * @generated from enum value: PRIORITY_UNSPECIFIED = 0; - */ - UNSPECIFIED = 0, - - /** - * @generated from enum value: PRIORITY_LOW = 1; - */ - LOW = 1, - - /** - * @generated from enum value: PRIORITY_HIGH = 2; - */ - HIGH = 2, -} -// Retrieve enum metadata with: proto3.getEnumType(Priority) -proto3.util.setEnumType(Priority, "state.v1.Priority", [ - { no: 0, name: "PRIORITY_UNSPECIFIED" }, - { no: 1, name: "PRIORITY_LOW" }, - { no: 2, name: "PRIORITY_HIGH" }, -]); - -/** - * @generated from message state.v1.Train - */ -export class Train extends Message { - /** - * 列車ID(NFCのUUIDと一意に対応している) - * - * @generated from field: string train_id = 1; - */ - trainId = ""; - - /** - * 駅のID - * - * @generated from field: string station_id = 2; - */ - stationId = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.Train"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "train_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "station_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): Train { - return new Train().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): Train { - return new Train().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): Train { - return new Train().fromJsonString(jsonString, options); - } - - static equals(a: Train | PlainMessage | undefined, b: Train | PlainMessage | undefined): boolean { - return proto3.util.equals(Train, a, b); - } -} - -/** - * - * GetTrains : 列車の状態を取得するAPI - * - * @generated from message state.v1.GetTrainsRequest - */ -export class GetTrainsRequest extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetTrainsRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetTrainsRequest { - return new GetTrainsRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetTrainsRequest { - return new GetTrainsRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetTrainsRequest { - return new GetTrainsRequest().fromJsonString(jsonString, options); - } - - static equals(a: GetTrainsRequest | PlainMessage | undefined, b: GetTrainsRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(GetTrainsRequest, a, b); - } -} - -/** - * @generated from message state.v1.GetTrainsResponse - */ -export class GetTrainsResponse extends Message { - /** - * @generated from field: repeated state.v1.Train trains = 1; - */ - trains: Train[] = []; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.GetTrainsResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "trains", kind: "message", T: Train, repeated: true }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetTrainsResponse { - return new GetTrainsResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetTrainsResponse { - return new GetTrainsResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetTrainsResponse { - return new GetTrainsResponse().fromJsonString(jsonString, options); - } - - static equals(a: GetTrainsResponse | PlainMessage | undefined, b: GetTrainsResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(GetTrainsResponse, a, b); - } -} - -/** - * - * UpdateTrainUUID : NFCのUUID紐付けを更新するAPI - * - * @generated from message state.v1.UpdateTrainUUIDRequest - */ -export class UpdateTrainUUIDRequest extends Message { - /** - * 列車ID - * - * @generated from field: string train_id = 1; - */ - trainId = ""; - - /** - * NFCのUUID - * - * @generated from field: string uuid = 2; - */ - uuid = ""; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateTrainUUIDRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "train_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainUUIDRequest { - return new UpdateTrainUUIDRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainUUIDRequest { - return new UpdateTrainUUIDRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainUUIDRequest { - return new UpdateTrainUUIDRequest().fromJsonString(jsonString, options); - } - - static equals(a: UpdateTrainUUIDRequest | PlainMessage | undefined, b: UpdateTrainUUIDRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateTrainUUIDRequest, a, b); - } -} - -/** - * @generated from message state.v1.UpdateTrainUUIDResponse - */ -export class UpdateTrainUUIDResponse extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateTrainUUIDResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainUUIDResponse { - return new UpdateTrainUUIDResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainUUIDResponse { - return new UpdateTrainUUIDResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainUUIDResponse { - return new UpdateTrainUUIDResponse().fromJsonString(jsonString, options); - } - - static equals(a: UpdateTrainUUIDResponse | PlainMessage | undefined, b: UpdateTrainUUIDResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateTrainUUIDResponse, a, b); - } -} - diff --git a/frontend/dashboard/src/app/(index)/layout.tsx b/frontend/dashboard/src/app/(index)/layout.tsx index 9ecd7609..c395e9fa 100644 --- a/frontend/dashboard/src/app/(index)/layout.tsx +++ b/frontend/dashboard/src/app/(index)/layout.tsx @@ -1,9 +1,14 @@ import React, { Suspense } from "react"; +import Provider from "@/app/provider"; export const metadata = { title: "ホーム" }; const Layout: React.FC = ({ children }) => ( - {children} + + + {children} + + ); export default Layout; diff --git a/frontend/dashboard/src/app/(index)/page.tsx b/frontend/dashboard/src/app/(index)/page.tsx index 82754876..cc297e34 100644 --- a/frontend/dashboard/src/app/(index)/page.tsx +++ b/frontend/dashboard/src/app/(index)/page.tsx @@ -1,43 +1,151 @@ +"use client"; + import { Rail, Platform, - TraficLight, + TrafficLight, SwitchPoint, Background, Train, } from "@/components/svgElements"; +import { useMutation, useQuery } from '@tanstack/react-query'; +import { getPointStates, getStopStates, getTrains, updatePointState, updateStopState } from '@/proto/state/v1/state-StateManagerService_connectquery' +import { StopStateEnum } from "@/proto/state/v1/stop_pb"; +import {PointStateEnum} from "@/proto/state/v1/point_pb"; + +const STOP_RAILS_FROM_ID: Map = new Map([ + ["shinjyuku_up_s1", { x: 320, y: 400 }], + ["shinjyuku_down_s1", { x: 200, y: 400 }], + ["sakurajosui_up_s1", { x: 320, y: 220 }], + ["sakurajosui_up_s2", { x: 360, y: 220 }], + ["sakurajosui_down_s1", { x: 200, y: 220 }], + ["sakurajosui_down_s2", { x: 160, y: 220 }], + ["chofu_up_s1", { x: 840, y: 220 }], + ["chofu_up_s2", { x: 800, y: 220 }], + ["chofu_down_s1", { x: 1000, y: 220 }], + ["chofu_down_s2", { x: 960, y: 220 }], + ["hashimoto_up_s1", { x: 700, y: 330 }], + ["hashimoto_down_s1", { x: 700, y: 410 }], + ["hachioji_up_s1", { x: 700, y: 480 }], + ["hachioji_down_s1", { x: 700, y: 560 }], +]); + +const POINT_RAILS_FROM_ID: Map = new Map([ + ["sakurajosui_up_p1", { x: 320, y: 140, fixed: -90, straight: 90, changed: 45 }], + ["sakurajosui_down_p1", { x: 200, y: 300, fixed: 90, straight: 270, changed: 225 }], // Use 270 instead of -90, for rotate to clockwise + ["chofu_up_p1", { x: 1000, y: 140, fixed: -90, straight: 90, changed: 135 }], // Question: これdownじゃない? +]); + +const LOCATIONS_FOR_TRAIN_FROM_ID: Map = new Map([...STOP_RAILS_FROM_ID, ...POINT_RAILS_FROM_ID]) export default function Home() { + const { data: stops, refetch: refetchStops } = useQuery(getStopStates.useQuery({})); + const { mutate: mutateStops } = useMutation(updateStopState.useMutation({})); + const { data: points, refetch: refetchPoints } = useQuery(getPointStates.useQuery({})); + const { mutate: mutatePoints } = useMutation(updatePointState.useMutation({})); + const { data: trains } = useQuery(getTrains.useQuery({})); return ( <> - + - - - - + + + + + { + stops?.states.map((state) => { + const s = STOP_RAILS_FROM_ID.get(state.id) + if (s == undefined){ + throw new Error(`unknown stop rail id: ${state.id}`) + } + return ( + mutateStops({state: {id: state.id, state: state.state == StopStateEnum.STOP_STATE_GO ? StopStateEnum.STOP_STATE_STOP : StopStateEnum.STOP_STATE_GO }}, { onSettled: () => refetchStops() })} /> + ) + }) + } + { + points?.states.map((state) => { + const s = POINT_RAILS_FROM_ID.get(state.id) + if (s == undefined){ + throw new Error(`unknown point rail id: ${state.id}`) + } + return ( mutatePoints({state: {id: state.id, state: state.state == PointStateEnum.POINT_STATE_NORMAL ? PointStateEnum.POINT_STATE_REVERSE : PointStateEnum.POINT_STATE_NORMAL }}, { onSettled: () => refetchPoints() })} /> + ) + }) + } + { + trains?.trains.map((train) => { + const s = LOCATIONS_FOR_TRAIN_FROM_ID.get(train.positionId) + if (s == undefined){ + throw new Error(`unknown train location: ${train.positionId}`) + } + return ( + ) + }) + + } + ); diff --git a/frontend/dashboard/src/app/provider.tsx b/frontend/dashboard/src/app/provider.tsx new file mode 100644 index 00000000..453bf828 --- /dev/null +++ b/frontend/dashboard/src/app/provider.tsx @@ -0,0 +1,26 @@ +"use client"; + +import {createConnectTransport} from "@connectrpc/connect-web"; +import {TransportProvider} from "@connectrpc/connect-query"; +import {QueryClient, QueryClientProvider} from "@tanstack/react-query"; + +export default function Provider({ children }: { children: React.ReactNode}) { + const queryClient = new QueryClient({ + defaultOptions: { + queries: { + refetchInterval: 500, + }, + }}); + + const transport = createConnectTransport( + { + baseUrl: "http://localhost:3030/api/", + }); + return ( + + + {children} + + + ); +} diff --git a/frontend/dashboard/src/app/test/page.tsx b/frontend/dashboard/src/app/test/page.tsx index 1db5e65c..a02691d8 100644 --- a/frontend/dashboard/src/app/test/page.tsx +++ b/frontend/dashboard/src/app/test/page.tsx @@ -1,7 +1,7 @@ "use client"; import { createPromiseClient } from "@connectrpc/connect"; -import { StateManagerService } from "@/proto/state/v1/state_connectweb"; -import { createConnectTransport } from "@bufbuild/connect-web"; +import { StateManagerService } from "@/proto/state/v1/state_connect"; +import { createConnectTransport } from "@connectrpc/connect-web"; import { GetBlockStatesRequest } from "@/proto/state/v1/block_pb"; export default function Test() { diff --git a/frontend/dashboard/src/components/svgElements/TraficLight/TraficLight.module.scss b/frontend/dashboard/src/components/svgElements/TrafficLight/TrafficLight.module.scss similarity index 100% rename from frontend/dashboard/src/components/svgElements/TraficLight/TraficLight.module.scss rename to frontend/dashboard/src/components/svgElements/TrafficLight/TrafficLight.module.scss diff --git a/frontend/dashboard/src/components/svgElements/TraficLight/TraficLight.tsx b/frontend/dashboard/src/components/svgElements/TrafficLight/TrafficLight.tsx similarity index 75% rename from frontend/dashboard/src/components/svgElements/TraficLight/TraficLight.tsx rename to frontend/dashboard/src/components/svgElements/TrafficLight/TrafficLight.tsx index eeceac24..3ade30e3 100644 --- a/frontend/dashboard/src/components/svgElements/TraficLight/TraficLight.tsx +++ b/frontend/dashboard/src/components/svgElements/TrafficLight/TrafficLight.tsx @@ -3,15 +3,16 @@ import clsx from "clsx"; import { Coordinate } from "@/types/Coordinate"; -import styles from "./TraficLight.module.scss"; +import styles from "./TrafficLight.module.scss"; interface Props { position: Coordinate; + name?: string; isStop: boolean; onClick?: () => void; } -export const TraficLight: React.FC = ({ position, isStop, onClick }) => { +export const TrafficLight: React.FC = ({ position, name, isStop, onClick }) => { return ( = ({ position, isStop, onClick }) => { cursor: onClick ? "pointer" : "initial", }} > + { + name && ( + {name} + ) + } { - /** - * 閉塞のID - * - * @generated from field: string block_id = 1; - */ - blockId: string; - - /** - * 閉塞の状態 - * - * @generated from field: state.v1.BlockStateEnum state = 2; - */ - state: BlockStateEnum; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.BlockState"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): BlockState; - - static fromJson(jsonValue: JsonValue, options?: Partial): BlockState; - - static fromJsonString(jsonString: string, options?: Partial): BlockState; - - static equals(a: BlockState | PlainMessage | undefined, b: BlockState | PlainMessage | undefined): boolean; -} - -/** - * - * GetBlockStates : 閉塞の状態を取得するAPI - * - * @generated from message state.v1.GetBlockStatesRequest - */ -export declare class GetBlockStatesRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetBlockStatesRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetBlockStatesRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetBlockStatesRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetBlockStatesRequest; - - static equals(a: GetBlockStatesRequest | PlainMessage | undefined, b: GetBlockStatesRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetBlockStatesResponse - */ -export declare class GetBlockStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.BlockState states = 1; - */ - states: BlockState[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetBlockStatesResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetBlockStatesResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetBlockStatesResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetBlockStatesResponse; - - static equals(a: GetBlockStatesResponse | PlainMessage | undefined, b: GetBlockStatesResponse | PlainMessage | undefined): boolean; -} - -/** - * - * UpdateBLockState: 閉塞の状態を更新するAPI - * - * @generated from message state.v1.UpdateBlockStateRequest - */ -export declare class UpdateBlockStateRequest extends Message { - /** - * @generated from field: state.v1.BlockState state = 1; - */ - state?: BlockState; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateBlockStateRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateBlockStateRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateBlockStateRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdateBlockStateRequest; - - static equals(a: UpdateBlockStateRequest | PlainMessage | undefined, b: UpdateBlockStateRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateBlockStateResponse - */ -export declare class UpdateBlockStateResponse extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateBlockStateResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateBlockStateResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateBlockStateResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdateBlockStateResponse; - - static equals(a: UpdateBlockStateResponse | PlainMessage | undefined, b: UpdateBlockStateResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/src/proto/state/v1/block_pb.js b/frontend/dashboard/src/proto/state/v1/block_pb.js deleted file mode 100644 index 5c9843ab..00000000 --- a/frontend/dashboard/src/proto/state/v1/block_pb.js +++ /dev/null @@ -1,78 +0,0 @@ -// -//Block Proto -//閉塞の状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/block.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.BlockStateEnum - */ -export const BlockStateEnum = proto3.makeEnum( - "state.v1.BlockStateEnum", - [ - {no: 0, name: "BLOCK_STATE_UNKNOWN"}, - {no: 1, name: "BLOCK_STATE_OPEN"}, - {no: 2, name: "BLOCK_STATE_CLOSE"}, - ], -); - -/** - * 閉塞の状態 - * - * @generated from message state.v1.BlockState - */ -export const BlockState = proto3.makeMessageType( - "state.v1.BlockState", - () => [ - { no: 1, name: "block_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(BlockStateEnum) }, - ], -); - -/** - * - * GetBlockStates : 閉塞の状態を取得するAPI - * - * @generated from message state.v1.GetBlockStatesRequest - */ -export const GetBlockStatesRequest = proto3.makeMessageType( - "state.v1.GetBlockStatesRequest", - [], -); - -/** - * @generated from message state.v1.GetBlockStatesResponse - */ -export const GetBlockStatesResponse = proto3.makeMessageType( - "state.v1.GetBlockStatesResponse", - () => [ - { no: 1, name: "states", kind: "message", T: BlockState, repeated: true }, - ], -); - -/** - * - * UpdateBLockState: 閉塞の状態を更新するAPI - * - * @generated from message state.v1.UpdateBlockStateRequest - */ -export const UpdateBlockStateRequest = proto3.makeMessageType( - "state.v1.UpdateBlockStateRequest", - () => [ - { no: 1, name: "state", kind: "message", T: BlockState }, - ], -); - -/** - * @generated from message state.v1.UpdateBlockStateResponse - */ -export const UpdateBlockStateResponse = proto3.makeMessageType( - "state.v1.UpdateBlockStateResponse", - [], -); - diff --git a/frontend/dashboard/src/proto/state/v1/point_pb.d.ts b/frontend/dashboard/src/proto/state/v1/point_pb.d.ts deleted file mode 100644 index 3549e61c..00000000 --- a/frontend/dashboard/src/proto/state/v1/point_pb.d.ts +++ /dev/null @@ -1,161 +0,0 @@ -// -//Point Proto -//ポイントレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/point.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.PointStateEnum - */ -export declare enum PointStateEnum { - /** - * @generated from enum value: POINT_STATE_UNKNOWN = 0; - */ - POINT_STATE_UNKNOWN = 0, - - /** - * ポイントがまっすぐな状態 - * - * @generated from enum value: POINT_STATE_NORMAL = 1; - */ - POINT_STATE_NORMAL = 1, - - /** - * ポイントが移動している状態 - * - * @generated from enum value: POINT_STATE_REVERSE = 2; - */ - POINT_STATE_REVERSE = 2, -} - -/** - * @generated from message state.v1.PointAndState - */ -export declare class PointAndState extends Message { - /** - * ポイントのid - * - * @generated from field: string id = 1; - */ - id: string; - - /** - * ポイントの状態 - * - * @generated from field: state.v1.PointStateEnum state = 2; - */ - state: PointStateEnum; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.PointAndState"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): PointAndState; - - static fromJson(jsonValue: JsonValue, options?: Partial): PointAndState; - - static fromJsonString(jsonString: string, options?: Partial): PointAndState; - - static equals(a: PointAndState | PlainMessage | undefined, b: PointAndState | PlainMessage | undefined): boolean; -} - -/** - * - * UpdatePointState : ポイントの状態を更新するAPI - * - * @generated from message state.v1.UpdatePointStateRequest - */ -export declare class UpdatePointStateRequest extends Message { - /** - * @generated from field: state.v1.PointAndState state = 1; - */ - state?: PointAndState; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdatePointStateRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePointStateRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePointStateRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdatePointStateRequest; - - static equals(a: UpdatePointStateRequest | PlainMessage | undefined, b: UpdatePointStateRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdatePointStateResponse - */ -export declare class UpdatePointStateResponse extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdatePointStateResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdatePointStateResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdatePointStateResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdatePointStateResponse; - - static equals(a: UpdatePointStateResponse | PlainMessage | undefined, b: UpdatePointStateResponse | PlainMessage | undefined): boolean; -} - -/** - * - * GetPointStates : 全てのポイントの状態を取得するAPI - * - * @generated from message state.v1.GetPointStatesRequest - */ -export declare class GetPointStatesRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetPointStatesRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetPointStatesRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetPointStatesRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetPointStatesRequest; - - static equals(a: GetPointStatesRequest | PlainMessage | undefined, b: GetPointStatesRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetPointStatesResponse - */ -export declare class GetPointStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.PointAndState states = 1; - */ - states: PointAndState[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetPointStatesResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetPointStatesResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetPointStatesResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetPointStatesResponse; - - static equals(a: GetPointStatesResponse | PlainMessage | undefined, b: GetPointStatesResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/src/proto/state/v1/point_pb.js b/frontend/dashboard/src/proto/state/v1/point_pb.js deleted file mode 100644 index 623ba2ee..00000000 --- a/frontend/dashboard/src/proto/state/v1/point_pb.js +++ /dev/null @@ -1,76 +0,0 @@ -// -//Point Proto -//ポイントレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/point.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.PointStateEnum - */ -export const PointStateEnum = proto3.makeEnum( - "state.v1.PointStateEnum", - [ - {no: 0, name: "POINT_STATE_UNKNOWN"}, - {no: 1, name: "POINT_STATE_NORMAL"}, - {no: 2, name: "POINT_STATE_REVERSE"}, - ], -); - -/** - * @generated from message state.v1.PointAndState - */ -export const PointAndState = proto3.makeMessageType( - "state.v1.PointAndState", - () => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(PointStateEnum) }, - ], -); - -/** - * - * UpdatePointState : ポイントの状態を更新するAPI - * - * @generated from message state.v1.UpdatePointStateRequest - */ -export const UpdatePointStateRequest = proto3.makeMessageType( - "state.v1.UpdatePointStateRequest", - () => [ - { no: 1, name: "state", kind: "message", T: PointAndState }, - ], -); - -/** - * @generated from message state.v1.UpdatePointStateResponse - */ -export const UpdatePointStateResponse = proto3.makeMessageType( - "state.v1.UpdatePointStateResponse", - [], -); - -/** - * - * GetPointStates : 全てのポイントの状態を取得するAPI - * - * @generated from message state.v1.GetPointStatesRequest - */ -export const GetPointStatesRequest = proto3.makeMessageType( - "state.v1.GetPointStatesRequest", - [], -); - -/** - * @generated from message state.v1.GetPointStatesResponse - */ -export const GetPointStatesResponse = proto3.makeMessageType( - "state.v1.GetPointStatesResponse", - () => [ - { no: 1, name: "states", kind: "message", T: PointAndState, repeated: true }, - ], -); - diff --git a/frontend/dashboard/proto/state/v1/state_connectweb.js b/frontend/dashboard/src/proto/state/v1/state-StateManagerService_connectquery.ts similarity index 50% rename from frontend/dashboard/proto/state/v1/state_connectweb.js rename to frontend/dashboard/src/proto/state/v1/state-StateManagerService_connectquery.ts index 1f4e198d..74f71878 100644 --- a/frontend/dashboard/proto/state/v1/state_connectweb.js +++ b/frontend/dashboard/src/proto/state/v1/state-StateManagerService_connectquery.ts @@ -1,13 +1,16 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=dts+js" +// @generated by protoc-gen-connect-query v0.6.0 with parameter "target=ts,import_extension=.ts" // @generated from file state/v1/state.proto (package state.v1, syntax proto3) /* eslint-disable */ // @ts-nocheck -import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.js"; +import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.ts"; import { MethodKind } from "@bufbuild/protobuf"; -import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.js"; -import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.js"; -import { AddTrainRequest, AddTrainResponse, GetTrainsRequest, GetTrainsResponse, UpdateTrainRequest, UpdateTrainResponse } from "./train_pb.js"; +import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.ts"; +import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.ts"; +import { AddTrainRequest, AddTrainResponse, GetTrainsRequest, GetTrainsResponse, UpdateTrainRequest, UpdateTrainResponse } from "./train_pb.ts"; +import { createQueryService, createUnaryHooks, UnaryFunctionsWithHooks } from "@connectrpc/connect-query"; + +export const typeName = "state.v1.StateManagerService"; /** * @@ -109,5 +112,59 @@ export const StateManagerService = { kind: MethodKind.Unary, }, } -}; +} as const; + +const $queryService = createQueryService({ service: StateManagerService,}); + +/** + * Block + * + * @generated from rpc state.v1.StateManagerService.GetBlockStates + */ +export const getBlockStates: UnaryFunctionsWithHooks = { ...$queryService.getBlockStates, ...createUnaryHooks($queryService.getBlockStates)}; + +/** + * @generated from rpc state.v1.StateManagerService.UpdateBlockState + */ +export const updateBlockState: UnaryFunctionsWithHooks = { ...$queryService.updateBlockState, ...createUnaryHooks($queryService.updateBlockState)}; + +/** + * Point + * + * @generated from rpc state.v1.StateManagerService.UpdatePointState + */ +export const updatePointState: UnaryFunctionsWithHooks = { ...$queryService.updatePointState, ...createUnaryHooks($queryService.updatePointState)}; + +/** + * @generated from rpc state.v1.StateManagerService.GetPointStates + */ +export const getPointStates: UnaryFunctionsWithHooks = { ...$queryService.getPointStates, ...createUnaryHooks($queryService.getPointStates)}; +/** + * Stop + * + * @generated from rpc state.v1.StateManagerService.UpdateStopState + */ +export const updateStopState: UnaryFunctionsWithHooks = { ...$queryService.updateStopState, ...createUnaryHooks($queryService.updateStopState)}; + +/** + * @generated from rpc state.v1.StateManagerService.GetStopStates + */ +export const getStopStates: UnaryFunctionsWithHooks = { ...$queryService.getStopStates, ...createUnaryHooks($queryService.getStopStates)}; + +/** + * Train + * + * @generated from rpc state.v1.StateManagerService.GetTrains + */ +export const getTrains: UnaryFunctionsWithHooks = { ...$queryService.getTrains, ...createUnaryHooks($queryService.getTrains)}; + +/** + * @generated from rpc state.v1.StateManagerService.AddTrain + */ +export const addTrain: UnaryFunctionsWithHooks = { ...$queryService.addTrain, ...createUnaryHooks($queryService.addTrain)}; + +/** + * @generated from rpc state.v1.StateManagerService.UpdateTrain + */ +export const updateTrain: UnaryFunctionsWithHooks = { ...$queryService.updateTrain, ...createUnaryHooks($queryService.updateTrain)}; diff --git a/frontend/dashboard/src/proto/state/v1/state_connectweb.js b/frontend/dashboard/src/proto/state/v1/state_connect.ts similarity index 90% rename from frontend/dashboard/src/proto/state/v1/state_connectweb.js rename to frontend/dashboard/src/proto/state/v1/state_connect.ts index 1f4e198d..48a431c0 100644 --- a/frontend/dashboard/src/proto/state/v1/state_connectweb.js +++ b/frontend/dashboard/src/proto/state/v1/state_connect.ts @@ -1,13 +1,13 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=dts+js" +// @generated by protoc-gen-connect-es v1.1.3 with parameter "target=ts,import_extension=none" // @generated from file state/v1/state.proto (package state.v1, syntax proto3) /* eslint-disable */ // @ts-nocheck -import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.js"; +import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb"; import { MethodKind } from "@bufbuild/protobuf"; -import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.js"; -import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.js"; -import { AddTrainRequest, AddTrainResponse, GetTrainsRequest, GetTrainsResponse, UpdateTrainRequest, UpdateTrainResponse } from "./train_pb.js"; +import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb"; +import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb"; +import { AddTrainRequest, AddTrainResponse, GetTrainsRequest, GetTrainsResponse, UpdateTrainRequest, UpdateTrainResponse } from "./train_pb"; /** * @@ -109,5 +109,5 @@ export const StateManagerService = { kind: MethodKind.Unary, }, } -}; +} as const; diff --git a/frontend/dashboard/src/proto/state/v1/state_connectweb.d.ts b/frontend/dashboard/src/proto/state/v1/state_connectweb.d.ts deleted file mode 100644 index ce3b0613..00000000 --- a/frontend/dashboard/src/proto/state/v1/state_connectweb.d.ts +++ /dev/null @@ -1,113 +0,0 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=dts+js" -// @generated from file state/v1/state.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.js"; -import { MethodKind } from "@bufbuild/protobuf"; -import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.js"; -import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.js"; -import { AddTrainRequest, AddTrainResponse, GetTrainsRequest, GetTrainsResponse, UpdateTrainRequest, UpdateTrainResponse } from "./train_pb.js"; - -/** - * - * StateManagerが提供するサービス - * AutoOperationとフロントエンド間の通信に利用される - * - * @generated from service state.v1.StateManagerService - */ -export declare const StateManagerService: { - readonly typeName: "state.v1.StateManagerService", - readonly methods: { - /** - * Block - * - * @generated from rpc state.v1.StateManagerService.GetBlockStates - */ - readonly getBlockStates: { - readonly name: "GetBlockStates", - readonly I: typeof GetBlockStatesRequest, - readonly O: typeof GetBlockStatesResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateBlockState - */ - readonly updateBlockState: { - readonly name: "UpdateBlockState", - readonly I: typeof UpdateBlockStateRequest, - readonly O: typeof UpdateBlockStateResponse, - readonly kind: MethodKind.Unary, - }, - /** - * Point - * - * @generated from rpc state.v1.StateManagerService.UpdatePointState - */ - readonly updatePointState: { - readonly name: "UpdatePointState", - readonly I: typeof UpdatePointStateRequest, - readonly O: typeof UpdatePointStateResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetPointStates - */ - readonly getPointStates: { - readonly name: "GetPointStates", - readonly I: typeof GetPointStatesRequest, - readonly O: typeof GetPointStatesResponse, - readonly kind: MethodKind.Unary, - }, - /** - * Stop - * - * @generated from rpc state.v1.StateManagerService.UpdateStopState - */ - readonly updateStopState: { - readonly name: "UpdateStopState", - readonly I: typeof UpdateStopStateRequest, - readonly O: typeof UpdateStopStateResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetStopStates - */ - readonly getStopStates: { - readonly name: "GetStopStates", - readonly I: typeof GetStopStatesRequest, - readonly O: typeof GetStopStatesResponse, - readonly kind: MethodKind.Unary, - }, - /** - * Train - * - * @generated from rpc state.v1.StateManagerService.GetTrains - */ - readonly getTrains: { - readonly name: "GetTrains", - readonly I: typeof GetTrainsRequest, - readonly O: typeof GetTrainsResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.AddTrain - */ - readonly addTrain: { - readonly name: "AddTrain", - readonly I: typeof AddTrainRequest, - readonly O: typeof AddTrainResponse, - readonly kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateTrain - */ - readonly updateTrain: { - readonly name: "UpdateTrain", - readonly I: typeof UpdateTrainRequest, - readonly O: typeof UpdateTrainResponse, - readonly kind: MethodKind.Unary, - }, - } -}; - diff --git a/frontend/dashboard/src/proto/state/v1/state_connectweb.ts b/frontend/dashboard/src/proto/state/v1/state_connectweb.ts deleted file mode 100644 index 242d0323..00000000 --- a/frontend/dashboard/src/proto/state/v1/state_connectweb.ts +++ /dev/null @@ -1,104 +0,0 @@ -// @generated by protoc-gen-connect-web v0.11.0 with parameter "target=ts" -// @generated from file state/v1/state.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { GetBlockStatesRequest, GetBlockStatesResponse, UpdateBlockStateRequest, UpdateBlockStateResponse } from "./block_pb.js"; -import { MethodKind } from "@bufbuild/protobuf"; -import { GetPointStatesRequest, GetPointStatesResponse, UpdatePointStateRequest, UpdatePointStateResponse } from "./point_pb.js"; -import { GetStopStatesRequest, GetStopStatesResponse, UpdateStopStateRequest, UpdateStopStateResponse } from "./stop_pb.js"; -import { GetTrainsRequest, GetTrainsResponse, UpdateTrainUUIDRequest, UpdateTrainUUIDResponse } from "./train_pb.js"; - -/** - * - * StateManagerが提供するサービス - * AutoOperationとフロントエンド間の通信に利用される - * - * @generated from service state.v1.StateManagerService - */ -export const StateManagerService = { - typeName: "state.v1.StateManagerService", - methods: { - /** - * Block - * - * @generated from rpc state.v1.StateManagerService.GetBlockStates - */ - getBlockStates: { - name: "GetBlockStates", - I: GetBlockStatesRequest, - O: GetBlockStatesResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateBlockState - */ - updateBlockState: { - name: "UpdateBlockState", - I: UpdateBlockStateRequest, - O: UpdateBlockStateResponse, - kind: MethodKind.Unary, - }, - /** - * Point - * - * @generated from rpc state.v1.StateManagerService.UpdatePointState - */ - updatePointState: { - name: "UpdatePointState", - I: UpdatePointStateRequest, - O: UpdatePointStateResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetPointStates - */ - getPointStates: { - name: "GetPointStates", - I: GetPointStatesRequest, - O: GetPointStatesResponse, - kind: MethodKind.Unary, - }, - /** - * Stop - * - * @generated from rpc state.v1.StateManagerService.UpdateStopState - */ - updateStopState: { - name: "UpdateStopState", - I: UpdateStopStateRequest, - O: UpdateStopStateResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.GetStopStates - */ - getStopStates: { - name: "GetStopStates", - I: GetStopStatesRequest, - O: GetStopStatesResponse, - kind: MethodKind.Unary, - }, - /** - * Train - * - * @generated from rpc state.v1.StateManagerService.GetTrains - */ - getTrains: { - name: "GetTrains", - I: GetTrainsRequest, - O: GetTrainsResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc state.v1.StateManagerService.UpdateTrainUUID - */ - updateTrainUUID: { - name: "UpdateTrainUUID", - I: UpdateTrainUUIDRequest, - O: UpdateTrainUUIDResponse, - kind: MethodKind.Unary, - }, - } -} as const; - diff --git a/frontend/dashboard/src/proto/state/v1/stop_pb.d.ts b/frontend/dashboard/src/proto/state/v1/stop_pb.d.ts deleted file mode 100644 index bdb5b921..00000000 --- a/frontend/dashboard/src/proto/state/v1/stop_pb.d.ts +++ /dev/null @@ -1,161 +0,0 @@ -// -//Stop Proto -//ストップレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/stop.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.StopStateEnum - */ -export declare enum StopStateEnum { - /** - * @generated from enum value: STOP_STATE_UNKNOWN = 0; - */ - STOP_STATE_UNKNOWN = 0, - - /** - * バーが下がってる状態 - * - * @generated from enum value: STOP_STATE_GO = 1; - */ - STOP_STATE_GO = 1, - - /** - * バーが上がってる状態 - * - * @generated from enum value: STOP_STATE_STOP = 2; - */ - STOP_STATE_STOP = 2, -} - -/** - * @generated from message state.v1.StopAndState - */ -export declare class StopAndState extends Message { - /** - * ポイントのid - * - * @generated from field: string id = 1; - */ - id: string; - - /** - * ポイントの状態 - * - * @generated from field: state.v1.StopStateEnum state = 2; - */ - state: StopStateEnum; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.StopAndState"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): StopAndState; - - static fromJson(jsonValue: JsonValue, options?: Partial): StopAndState; - - static fromJsonString(jsonString: string, options?: Partial): StopAndState; - - static equals(a: StopAndState | PlainMessage | undefined, b: StopAndState | PlainMessage | undefined): boolean; -} - -/** - * - * UpdateStopState : ストップレールの状態を更新するAPI - * - * @generated from message state.v1.UpdateStopStateRequest - */ -export declare class UpdateStopStateRequest extends Message { - /** - * @generated from field: state.v1.StopAndState state = 1; - */ - state?: StopAndState; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateStopStateRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateStopStateRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateStopStateRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdateStopStateRequest; - - static equals(a: UpdateStopStateRequest | PlainMessage | undefined, b: UpdateStopStateRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateStopStateResponse - */ -export declare class UpdateStopStateResponse extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateStopStateResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateStopStateResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateStopStateResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdateStopStateResponse; - - static equals(a: UpdateStopStateResponse | PlainMessage | undefined, b: UpdateStopStateResponse | PlainMessage | undefined): boolean; -} - -/** - * - * GetStopStates : 全てのストップレールの状態を取得するAPI - * - * @generated from message state.v1.GetStopStatesRequest - */ -export declare class GetStopStatesRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetStopStatesRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetStopStatesRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetStopStatesRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetStopStatesRequest; - - static equals(a: GetStopStatesRequest | PlainMessage | undefined, b: GetStopStatesRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetStopStatesResponse - */ -export declare class GetStopStatesResponse extends Message { - /** - * @generated from field: repeated state.v1.StopAndState states = 1; - */ - states: StopAndState[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetStopStatesResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetStopStatesResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetStopStatesResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetStopStatesResponse; - - static equals(a: GetStopStatesResponse | PlainMessage | undefined, b: GetStopStatesResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/src/proto/state/v1/stop_pb.js b/frontend/dashboard/src/proto/state/v1/stop_pb.js deleted file mode 100644 index caf0be2d..00000000 --- a/frontend/dashboard/src/proto/state/v1/stop_pb.js +++ /dev/null @@ -1,76 +0,0 @@ -// -//Stop Proto -//ストップレールの状態を扱うプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/stop.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.StopStateEnum - */ -export const StopStateEnum = proto3.makeEnum( - "state.v1.StopStateEnum", - [ - {no: 0, name: "STOP_STATE_UNKNOWN"}, - {no: 1, name: "STOP_STATE_GO"}, - {no: 2, name: "STOP_STATE_STOP"}, - ], -); - -/** - * @generated from message state.v1.StopAndState - */ -export const StopAndState = proto3.makeMessageType( - "state.v1.StopAndState", - () => [ - { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "state", kind: "enum", T: proto3.getEnumType(StopStateEnum) }, - ], -); - -/** - * - * UpdateStopState : ストップレールの状態を更新するAPI - * - * @generated from message state.v1.UpdateStopStateRequest - */ -export const UpdateStopStateRequest = proto3.makeMessageType( - "state.v1.UpdateStopStateRequest", - () => [ - { no: 1, name: "state", kind: "message", T: StopAndState }, - ], -); - -/** - * @generated from message state.v1.UpdateStopStateResponse - */ -export const UpdateStopStateResponse = proto3.makeMessageType( - "state.v1.UpdateStopStateResponse", - [], -); - -/** - * - * GetStopStates : 全てのストップレールの状態を取得するAPI - * - * @generated from message state.v1.GetStopStatesRequest - */ -export const GetStopStatesRequest = proto3.makeMessageType( - "state.v1.GetStopStatesRequest", - [], -); - -/** - * @generated from message state.v1.GetStopStatesResponse - */ -export const GetStopStatesResponse = proto3.makeMessageType( - "state.v1.GetStopStatesResponse", - () => [ - { no: 1, name: "states", kind: "message", T: StopAndState, repeated: true }, - ], -); - diff --git a/frontend/dashboard/src/proto/state/v1/train_pb.d.ts b/frontend/dashboard/src/proto/state/v1/train_pb.d.ts deleted file mode 100644 index 25927e47..00000000 --- a/frontend/dashboard/src/proto/state/v1/train_pb.d.ts +++ /dev/null @@ -1,224 +0,0 @@ -// -//Train Proto -//駅に停車している列車の情報を扱うためのプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/train.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; -import { Message, proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.Priority - */ -export declare enum Priority { - /** - * @generated from enum value: PRIORITY_UNSPECIFIED = 0; - */ - UNSPECIFIED = 0, - - /** - * @generated from enum value: PRIORITY_LOW = 1; - */ - LOW = 1, - - /** - * @generated from enum value: PRIORITY_HIGH = 2; - */ - HIGH = 2, -} - -/** - * @generated from message state.v1.Train - */ -export declare class Train extends Message { - /** - * 列車ID(NFCのUUIDと一意に対応している) - * - * @generated from field: string train_id = 1; - */ - trainId: string; - - /** - * 駅 or 閉塞のID - * - * @generated from field: string position_id = 2; - */ - positionId: string; - - /** - * 列車の優先度 - * - * @generated from field: state.v1.Priority priority = 3; - */ - priority: Priority; - - /** - * NFCのUUID - * - * @generated from field: string uuid = 4; - */ - uuid: string; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.Train"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): Train; - - static fromJson(jsonValue: JsonValue, options?: Partial): Train; - - static fromJsonString(jsonString: string, options?: Partial): Train; - - static equals(a: Train | PlainMessage | undefined, b: Train | PlainMessage | undefined): boolean; -} - -/** - * - * GetTrains : 列車の状態を取得するAPI - * - * @generated from message state.v1.GetTrainsRequest - */ -export declare class GetTrainsRequest extends Message { - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetTrainsRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetTrainsRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetTrainsRequest; - - static fromJsonString(jsonString: string, options?: Partial): GetTrainsRequest; - - static equals(a: GetTrainsRequest | PlainMessage | undefined, b: GetTrainsRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.GetTrainsResponse - */ -export declare class GetTrainsResponse extends Message { - /** - * @generated from field: repeated state.v1.Train trains = 1; - */ - trains: Train[]; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.GetTrainsResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): GetTrainsResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): GetTrainsResponse; - - static fromJsonString(jsonString: string, options?: Partial): GetTrainsResponse; - - static equals(a: GetTrainsResponse | PlainMessage | undefined, b: GetTrainsResponse | PlainMessage | undefined): boolean; -} - -/** - * - * Add Train : 列車を追加するAPI - * - * @generated from message state.v1.AddTrainRequest - */ -export declare class AddTrainRequest extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.AddTrainRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): AddTrainRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): AddTrainRequest; - - static fromJsonString(jsonString: string, options?: Partial): AddTrainRequest; - - static equals(a: AddTrainRequest | PlainMessage | undefined, b: AddTrainRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.AddTrainResponse - */ -export declare class AddTrainResponse extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.AddTrainResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): AddTrainResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): AddTrainResponse; - - static fromJsonString(jsonString: string, options?: Partial): AddTrainResponse; - - static equals(a: AddTrainResponse | PlainMessage | undefined, b: AddTrainResponse | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateTrainRequest - */ -export declare class UpdateTrainRequest extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateTrainRequest"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainRequest; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainRequest; - - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainRequest; - - static equals(a: UpdateTrainRequest | PlainMessage | undefined, b: UpdateTrainRequest | PlainMessage | undefined): boolean; -} - -/** - * @generated from message state.v1.UpdateTrainResponse - */ -export declare class UpdateTrainResponse extends Message { - /** - * @generated from field: state.v1.Train train = 1; - */ - train?: Train; - - constructor(data?: PartialMessage); - - static readonly runtime: typeof proto3; - static readonly typeName = "state.v1.UpdateTrainResponse"; - static readonly fields: FieldList; - - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainResponse; - - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainResponse; - - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainResponse; - - static equals(a: UpdateTrainResponse | PlainMessage | undefined, b: UpdateTrainResponse | PlainMessage | undefined): boolean; -} - diff --git a/frontend/dashboard/src/proto/state/v1/train_pb.js b/frontend/dashboard/src/proto/state/v1/train_pb.js deleted file mode 100644 index a70e7d4a..00000000 --- a/frontend/dashboard/src/proto/state/v1/train_pb.js +++ /dev/null @@ -1,100 +0,0 @@ -// -//Train Proto -//駅に停車している列車の情報を扱うためのプロトコル - -// @generated by protoc-gen-es v1.4.2 with parameter "target=dts+js" -// @generated from file state/v1/train.proto (package state.v1, syntax proto3) -/* eslint-disable */ -// @ts-nocheck - -import { proto3 } from "@bufbuild/protobuf"; - -/** - * @generated from enum state.v1.Priority - */ -export const Priority = proto3.makeEnum( - "state.v1.Priority", - [ - {no: 0, name: "PRIORITY_UNSPECIFIED", localName: "UNSPECIFIED"}, - {no: 1, name: "PRIORITY_LOW", localName: "LOW"}, - {no: 2, name: "PRIORITY_HIGH", localName: "HIGH"}, - ], -); - -/** - * @generated from message state.v1.Train - */ -export const Train = proto3.makeMessageType( - "state.v1.Train", - () => [ - { no: 1, name: "train_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "position_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 3, name: "priority", kind: "enum", T: proto3.getEnumType(Priority) }, - { no: 4, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - ], -); - -/** - * - * GetTrains : 列車の状態を取得するAPI - * - * @generated from message state.v1.GetTrainsRequest - */ -export const GetTrainsRequest = proto3.makeMessageType( - "state.v1.GetTrainsRequest", - [], -); - -/** - * @generated from message state.v1.GetTrainsResponse - */ -export const GetTrainsResponse = proto3.makeMessageType( - "state.v1.GetTrainsResponse", - () => [ - { no: 1, name: "trains", kind: "message", T: Train, repeated: true }, - ], -); - -/** - * - * Add Train : 列車を追加するAPI - * - * @generated from message state.v1.AddTrainRequest - */ -export const AddTrainRequest = proto3.makeMessageType( - "state.v1.AddTrainRequest", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - -/** - * @generated from message state.v1.AddTrainResponse - */ -export const AddTrainResponse = proto3.makeMessageType( - "state.v1.AddTrainResponse", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - -/** - * @generated from message state.v1.UpdateTrainRequest - */ -export const UpdateTrainRequest = proto3.makeMessageType( - "state.v1.UpdateTrainRequest", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - -/** - * @generated from message state.v1.UpdateTrainResponse - */ -export const UpdateTrainResponse = proto3.makeMessageType( - "state.v1.UpdateTrainResponse", - () => [ - { no: 1, name: "train", kind: "message", T: Train }, - ], -); - diff --git a/frontend/dashboard/src/proto/state/v1/train_pb.ts b/frontend/dashboard/src/proto/state/v1/train_pb.ts index 6027cb6b..cd7d31d1 100644 --- a/frontend/dashboard/src/proto/state/v1/train_pb.ts +++ b/frontend/dashboard/src/proto/state/v1/train_pb.ts @@ -48,11 +48,32 @@ export class Train extends Message { trainId = ""; /** - * 駅のID + * 駅 or 閉塞のID * - * @generated from field: string station_id = 2; + * @generated from field: string position_id = 2; */ - stationId = ""; + positionId = ""; + + /** + * 列車の優先度 + * + * @generated from field: state.v1.Priority priority = 3; + */ + priority = Priority.UNSPECIFIED; + + /** + * NFCのUUID + * + * @generated from field: string uuid = 4; + */ + uuid = ""; + + /** + * 行き先 + * + * @generated from field: string destination = 5; + */ + destination = ""; constructor(data?: PartialMessage) { super(); @@ -63,7 +84,10 @@ export class Train extends Message { static readonly typeName = "state.v1.Train"; static readonly fields: FieldList = proto3.util.newFieldList(() => [ { no: 1, name: "train_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "station_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "position_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 3, name: "priority", kind: "enum", T: proto3.getEnumType(Priority) }, + { no: 4, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 5, name: "destination", kind: "scalar", T: 9 /* ScalarType.STRING */ }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): Train { @@ -156,82 +180,152 @@ export class GetTrainsResponse extends Message { /** * - * UpdateTrainUUID : NFCのUUID紐付けを更新するAPI + * Add Train : 列車を追加するAPI * - * @generated from message state.v1.UpdateTrainUUIDRequest + * @generated from message state.v1.AddTrainRequest */ -export class UpdateTrainUUIDRequest extends Message { +export class AddTrainRequest extends Message { /** - * 列車ID - * - * @generated from field: string train_id = 1; + * @generated from field: state.v1.Train train = 1; */ - trainId = ""; + train?: Train; + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "state.v1.AddTrainRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "train", kind: "message", T: Train }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): AddTrainRequest { + return new AddTrainRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): AddTrainRequest { + return new AddTrainRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): AddTrainRequest { + return new AddTrainRequest().fromJsonString(jsonString, options); + } + + static equals(a: AddTrainRequest | PlainMessage | undefined, b: AddTrainRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(AddTrainRequest, a, b); + } +} + +/** + * @generated from message state.v1.AddTrainResponse + */ +export class AddTrainResponse extends Message { /** - * NFCのUUID - * - * @generated from field: string uuid = 2; + * @generated from field: state.v1.Train train = 1; */ - uuid = ""; + train?: Train; - constructor(data?: PartialMessage) { + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); } static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateTrainUUIDRequest"; + static readonly typeName = "state.v1.AddTrainResponse"; static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "train_id", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "uuid", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 1, name: "train", kind: "message", T: Train }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): AddTrainResponse { + return new AddTrainResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): AddTrainResponse { + return new AddTrainResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): AddTrainResponse { + return new AddTrainResponse().fromJsonString(jsonString, options); + } + + static equals(a: AddTrainResponse | PlainMessage | undefined, b: AddTrainResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(AddTrainResponse, a, b); + } +} + +/** + * @generated from message state.v1.UpdateTrainRequest + */ +export class UpdateTrainRequest extends Message { + /** + * @generated from field: state.v1.Train train = 1; + */ + train?: Train; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "state.v1.UpdateTrainRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "train", kind: "message", T: Train }, ]); - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainUUIDRequest { - return new UpdateTrainUUIDRequest().fromBinary(bytes, options); + static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainRequest { + return new UpdateTrainRequest().fromBinary(bytes, options); } - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainUUIDRequest { - return new UpdateTrainUUIDRequest().fromJson(jsonValue, options); + static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainRequest { + return new UpdateTrainRequest().fromJson(jsonValue, options); } - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainUUIDRequest { - return new UpdateTrainUUIDRequest().fromJsonString(jsonString, options); + static fromJsonString(jsonString: string, options?: Partial): UpdateTrainRequest { + return new UpdateTrainRequest().fromJsonString(jsonString, options); } - static equals(a: UpdateTrainUUIDRequest | PlainMessage | undefined, b: UpdateTrainUUIDRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateTrainUUIDRequest, a, b); + static equals(a: UpdateTrainRequest | PlainMessage | undefined, b: UpdateTrainRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(UpdateTrainRequest, a, b); } } /** - * @generated from message state.v1.UpdateTrainUUIDResponse + * @generated from message state.v1.UpdateTrainResponse */ -export class UpdateTrainUUIDResponse extends Message { - constructor(data?: PartialMessage) { +export class UpdateTrainResponse extends Message { + /** + * @generated from field: state.v1.Train train = 1; + */ + train?: Train; + + constructor(data?: PartialMessage) { super(); proto3.util.initPartial(data, this); } static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "state.v1.UpdateTrainUUIDResponse"; + static readonly typeName = "state.v1.UpdateTrainResponse"; static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "train", kind: "message", T: Train }, ]); - static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainUUIDResponse { - return new UpdateTrainUUIDResponse().fromBinary(bytes, options); + static fromBinary(bytes: Uint8Array, options?: Partial): UpdateTrainResponse { + return new UpdateTrainResponse().fromBinary(bytes, options); } - static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainUUIDResponse { - return new UpdateTrainUUIDResponse().fromJson(jsonValue, options); + static fromJson(jsonValue: JsonValue, options?: Partial): UpdateTrainResponse { + return new UpdateTrainResponse().fromJson(jsonValue, options); } - static fromJsonString(jsonString: string, options?: Partial): UpdateTrainUUIDResponse { - return new UpdateTrainUUIDResponse().fromJsonString(jsonString, options); + static fromJsonString(jsonString: string, options?: Partial): UpdateTrainResponse { + return new UpdateTrainResponse().fromJsonString(jsonString, options); } - static equals(a: UpdateTrainUUIDResponse | PlainMessage | undefined, b: UpdateTrainUUIDResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(UpdateTrainUUIDResponse, a, b); + static equals(a: UpdateTrainResponse | PlainMessage | undefined, b: UpdateTrainResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(UpdateTrainResponse, a, b); } } diff --git a/frontend/dashboard/tsconfig.json b/frontend/dashboard/tsconfig.json index 6903a56a..b8a37b32 100644 --- a/frontend/dashboard/tsconfig.json +++ b/frontend/dashboard/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es5", + "target": "ES2022", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, "skipLibCheck": true, diff --git a/frontend/dashboard/yarn.lock b/frontend/dashboard/yarn.lock index a91dd90a..ea0af22e 100644 --- a/frontend/dashboard/yarn.lock +++ b/frontend/dashboard/yarn.lock @@ -1071,31 +1071,11 @@ "@bufbuild/buf-win32-arm64" "1.28.1" "@bufbuild/buf-win32-x64" "1.28.1" -"@bufbuild/connect-web@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@bufbuild/connect-web/-/connect-web-0.13.0.tgz#87301c92d49d3c3f9acb99729c2f7505d739aa4a" - integrity sha512-Ys9VFDWYktD9yFQSLOlkpsD42LonDNMCysLCfjXFuxlupYuf4f7qg0zkT5bESyTfqk4xtRDSSGR3xygaj/ONIQ== - dependencies: - "@bufbuild/connect" "0.13.0" - -"@bufbuild/connect@0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@bufbuild/connect/-/connect-0.13.0.tgz#97a84a2cac747c7a52d4421a3382d8d165f61c99" - integrity sha512-eZSMbVLyUFtXiZNORgCEvv580xKZeYQdMOWj2i/nxOcpXQcrEzTMTA7SZzWv4k4gveWCOSRoWmYDeOhfWXJv0g== - -"@bufbuild/protobuf@1.4.2", "@bufbuild/protobuf@^1.2.1", "@bufbuild/protobuf@^1.3.3", "@bufbuild/protobuf@^1.4.2": +"@bufbuild/protobuf@1.4.2", "@bufbuild/protobuf@^1.3.3", "@bufbuild/protobuf@^1.4.2": version "1.4.2" resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-1.4.2.tgz#dc4faf21264a47b71a15806616043cb006e80ac8" integrity sha512-JyEH8Z+OD5Sc2opSg86qMHn1EM1Sa+zj/Tc0ovxdwk56ByVNONJSabuCUbLQp+eKN3rWNfrho0X+3SEqEPXIow== -"@bufbuild/protoc-gen-connect-web@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@bufbuild/protoc-gen-connect-web/-/protoc-gen-connect-web-0.11.0.tgz#985e12d0acc804a14033916bd2cebf3d88562dd1" - integrity sha512-7GvYkQjN6LP/ixtosI4JBN8eph2kS5XNju9zFwBuJ6aHqfl1sNRkRWG8LEdtTJtyW2R3QypAUyLfpLQf/ZyRVw== - dependencies: - "@bufbuild/protobuf" "^1.2.1" - "@bufbuild/protoplugin" "^1.2.1" - "@bufbuild/protoc-gen-es@^1.4.2": version "1.4.2" resolved "https://registry.yarnpkg.com/@bufbuild/protoc-gen-es/-/protoc-gen-es-1.4.2.tgz#00c8b09430dd1154e626da7c247fd6425a1cd41d" @@ -1104,7 +1084,7 @@ "@bufbuild/protobuf" "^1.4.2" "@bufbuild/protoplugin" "1.4.2" -"@bufbuild/protoplugin@1.4.2", "@bufbuild/protoplugin@^1.2.1", "@bufbuild/protoplugin@^1.3.3": +"@bufbuild/protoplugin@1.4.2", "@bufbuild/protoplugin@^1.3.3": version "1.4.2" resolved "https://registry.yarnpkg.com/@bufbuild/protoplugin/-/protoplugin-1.4.2.tgz#abf9b0e6a3dc8b52b1d6699d7a1ce5219fa82322" integrity sha512-5IwGC1ZRD2A+KydGXeaSOErwfILLqVtvMH/RkN+cOoHcQd4EYXFStcF7g7aR+yICRDEEjQVi5tQF/qPGBSr9vg== @@ -1113,7 +1093,14 @@ "@typescript/vfs" "^1.4.0" typescript "4.5.2" -"@connectrpc/connect-web@^1.1.3": +"@connectrpc/connect-query@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@connectrpc/connect-query/-/connect-query-0.6.0.tgz#7af7b6177d07eb079b23396f1ca4fff72e223b9e" + integrity sha512-/qqQ1LRfxv+YCfK8DWzzo+sJyxctCwdBmwoTEB6tkNLhKBYn1xD8eGXi1rKCOjfOPWrQXHGCAjsYAJg3WCRl+w== + dependencies: + stable-hash "^0.0.3" + +"@connectrpc/connect-web@^1.1.2": version "1.1.3" resolved "https://registry.yarnpkg.com/@connectrpc/connect-web/-/connect-web-1.1.3.tgz#027922b4f1537ecb1eaaa31ec3a59dd471a65320" integrity sha512-WfShOZt91duJngqivYF4wJFRbeRa4bF/fPMfDVN0MAYSX3VuaTMn8o9qgKN7tsg2H2ZClyOVQwMkZx6IdcP7Zw== @@ -1131,6 +1118,14 @@ "@bufbuild/protobuf" "^1.3.3" "@bufbuild/protoplugin" "^1.3.3" +"@connectrpc/protoc-gen-connect-query@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@connectrpc/protoc-gen-connect-query/-/protoc-gen-connect-query-0.6.0.tgz#bb19291a3c949a8c23f4a27d23fb0c9fb67e48c0" + integrity sha512-Y8Zow5bK/WFVABbrIYpqDo5hVYzWyqRuXfGLqurhKthrbpDKgB/MGYaz8ly7k2B0SE28//62HKVKlM63w12S4g== + dependencies: + "@bufbuild/protobuf" "^1.3.3" + "@bufbuild/protoplugin" "^1.3.3" + "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" @@ -1326,15 +1321,27 @@ dependencies: tslib "^2.4.0" +"@tanstack/query-core@5.8.3": + version "5.8.3" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.8.3.tgz#7c6d62721518223e8b27f1a0b5e9bd4e3bb7ecd8" + integrity sha512-SWFMFtcHfttLYif6pevnnMYnBvxKf3C+MHMH7bevyYfpXpTMsLB9O6nNGBdWSoPwnZRXFNyNeVZOw25Wmdasow== + +"@tanstack/react-query@^5.8.4": + version "5.8.4" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.8.4.tgz#7d5ef4dc4e2985fdc607d0f30ff79a8453abe652" + integrity sha512-CD+AkXzg8J72JrE6ocmuBEJfGzEzu/bzkD6sFXFDDB5yji9N20JofXZlN6n0+CaPJuIi+e4YLCbGsyPFKkfNQA== + dependencies: + "@tanstack/query-core" "5.8.3" + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@types/node@20.9.2": - version "20.9.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.2.tgz#002815c8e87fe0c9369121c78b52e800fadc0ac6" - integrity sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg== +"@types/node@20.9.5": + version "20.9.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.5.tgz#bb441014bcb91c63742b0e1fe25b902f5d581faa" + integrity sha512-Uq2xbNq0chGg+/WQEU0LJTSs/1nKxz6u1iemLcGomkSnKokbW1fbLqc3HOqCf2JP7KjlL4QkS7oZZTrOQHQYgQ== dependencies: undici-types "~5.26.4" @@ -1343,14 +1350,14 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== -"@types/react-dom@18.2.15": - version "18.2.15" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.15.tgz#921af67f9ee023ac37ea84b1bc0cc40b898ea522" - integrity sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg== +"@types/react-dom@18.2.17": + version "18.2.17" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.17.tgz#375c55fab4ae671bd98448dcfa153268d01d6f64" + integrity sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg== dependencies: "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@18.2.38": version "18.2.38" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.38.tgz#3605ca41d3daff2c434e0b98d79a2469d4c2dd52" integrity sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw== @@ -1359,15 +1366,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@18.2.37": - version "18.2.37" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.37.tgz#0f03af69e463c0f19a356c2660dbca5d19c44cae" - integrity sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/scheduler@*": version "0.16.7" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.7.tgz#d62f1bd54724c84089f51f9218393930ba4abcf4" @@ -2082,6 +2080,11 @@ snake-case@^3.0.4: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== +stable-hash@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/stable-hash/-/stable-hash-0.0.3.tgz#0078583e684d56ca0ece08f7c588b19f88955698" + integrity sha512-c63fvNCQ7ip1wBfPv54MflMA5L6OE5J0p6Fg13IpKft4JAFoNal8+s/jtJ8PibrwqXm4onnbeQsADs8k0NQGUA== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" diff --git a/frontend/editor/package.json b/frontend/editor/package.json index 861a33de..ba9b8957 100644 --- a/frontend/editor/package.json +++ b/frontend/editor/package.json @@ -13,9 +13,9 @@ }, "devDependencies": { "prettier": "3.1.0", - "@types/node": "20.9.3", + "@types/node": "20.9.5", "@types/react": "18.2.38", - "@types/react-dom": "18.2.16", + "@types/react-dom": "18.2.17", "typescript": "5.3.2" } } diff --git a/frontend/video-sender/Dockerfile b/frontend/video-sender/Dockerfile index b1de38af..f572c53d 100644 --- a/frontend/video-sender/Dockerfile +++ b/frontend/video-sender/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20.9-buster as builder +FROM node:20.10-buster as builder ENV ESP_EYE_IP 192.168.12.199 WORKDIR /app COPY package.json package-lock.json /app/ diff --git a/go.mod b/go.mod index 3892719f..ba14d701 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,7 @@ require ( connectrpc.com/connect v1.12.0 github.com/eclipse/paho.mqtt.golang v1.4.3 github.com/go-chi/chi/v5 v5.0.10 + github.com/go-chi/cors v1.2.1 github.com/go-chi/httplog/v2 v2.0.7 github.com/joho/godotenv v1.5.1 github.com/rs/cors v1.10.1 diff --git a/go.sum b/go.sum index 210497f2..58af7008 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,8 @@ github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhF github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/go-chi/chi/v5 v5.0.10 h1:rLz5avzKpjqxrYwXNfmjkrYYXOyLJd37pz53UFHC6vk= github.com/go-chi/chi/v5 v5.0.10/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= +github.com/go-chi/cors v1.2.1 h1:xEC8UT3Rlp2QuWNEr4Fs/c2EAGVKBwy/1vHx3bppil4= +github.com/go-chi/cors v1.2.1/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58= github.com/go-chi/httplog/v2 v2.0.7 h1:2vQTW3HWftsR3mVoUkv9taDFkswxn8S4hC+6VNefKdU= github.com/go-chi/httplog/v2 v2.0.7/go.mod h1:/XXdxicJsp4BA5fapgIC3VuTD+z0Z/VzukoB3VDc1YE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a26f1909..93a561b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,15 +11,9 @@ importers: '@bufbuild/buf': specifier: ^1.28.1 version: 1.28.1 - '@bufbuild/connect-web': - specifier: ^0.13.0 - version: 0.13.0(@bufbuild/protobuf@1.4.2) '@bufbuild/protobuf': specifier: ^1.4.2 version: 1.4.2 - '@bufbuild/protoc-gen-es': - specifier: ^1.4.2 - version: 1.4.2(@bufbuild/protobuf@1.4.2) '@connectrpc/connect': specifier: ^1.1.3 version: 1.1.3(@bufbuild/protobuf@1.4.2) @@ -29,12 +23,19 @@ importers: '@connectrpc/connect-web': specifier: ^1.1.3 version: 1.1.3(@bufbuild/protobuf@1.4.2)(@connectrpc/connect@1.1.3) - '@connectrpc/protoc-gen-connect-es': - specifier: ^1.1.3 - version: 1.1.3(@bufbuild/protoc-gen-es@1.4.2)(@connectrpc/connect@1.1.3) install: specifier: ^0.13.0 version: 0.13.0 + devDependencies: + '@bufbuild/protoc-gen-es': + specifier: ^1.4.2 + version: 1.4.2(@bufbuild/protobuf@1.4.2) + '@connectrpc/protoc-gen-connect-es': + specifier: ^1.1.3 + version: 1.1.3(@bufbuild/protoc-gen-es@1.4.2)(@connectrpc/connect@1.1.3) + '@types/node': + specifier: 20.9.5 + version: 20.9.5 tsx: specifier: ^4.3.0 version: 4.3.0 @@ -44,21 +45,27 @@ importers: frontend/dashboard: dependencies: - '@bufbuild/connect-web': - specifier: ^0.13.0 - version: 0.13.0(@bufbuild/protobuf@1.4.2) '@bufbuild/protobuf': specifier: ^1.4.2 version: 1.4.2 '@connectrpc/connect': specifier: ^1.1.3 version: 1.1.3(@bufbuild/protobuf@1.4.2) + '@connectrpc/connect-query': + specifier: ^0.6.0 + version: 0.6.0(@bufbuild/protobuf@1.4.2)(@connectrpc/connect@1.1.3)(@tanstack/react-query@5.8.4)(react-dom@18.2.0)(react@18.2.0) '@connectrpc/connect-web': specifier: ^1.1.3 version: 1.1.3(@bufbuild/protobuf@1.4.2)(@connectrpc/connect@1.1.3) + '@tanstack/react-query': + specifier: ^5.8.4 + version: 5.8.4(react-dom@18.2.0)(react@18.2.0) + clsx: + specifier: ^2.0.0 + version: 2.0.0 next: specifier: 14.0.3 - version: 14.0.3(react-dom@18.2.0)(react@18.2.0) + version: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) react: specifier: 18.2.0 version: 18.2.0 @@ -69,24 +76,36 @@ importers: '@bufbuild/buf': specifier: ^1.28.1 version: 1.28.1 - '@bufbuild/protoc-gen-connect-web': - specifier: ^0.11.0 - version: 0.11.0(@bufbuild/protoc-gen-es@1.4.2) '@bufbuild/protoc-gen-es': specifier: ^1.4.2 version: 1.4.2(@bufbuild/protobuf@1.4.2) '@connectrpc/protoc-gen-connect-es': specifier: ^1.1.3 version: 1.1.3(@bufbuild/protoc-gen-es@1.4.2)(@connectrpc/connect@1.1.3) + '@connectrpc/protoc-gen-connect-query': + specifier: ^0.6.0 + version: 0.6.0(@bufbuild/protoc-gen-es@1.4.2) + '@svgr/webpack': + specifier: ^8.1.0 + version: 8.1.0(typescript@5.2.2) '@types/node': - specifier: 20.9.2 - version: 20.9.2 + specifier: 20.9.5 + version: 20.9.5 '@types/react': - specifier: 18.2.37 - version: 18.2.37 + specifier: 18.2.38 + version: 18.2.38 '@types/react-dom': - specifier: 18.2.15 - version: 18.2.15 + specifier: 18.2.17 + version: 18.2.17 + eslint-config-prettier: + specifier: ^9.0.0 + version: 9.0.0(eslint@8.54.0) + prettier: + specifier: 3.1.0 + version: 3.1.0 + sass: + specifier: ^1.69.5 + version: 1.69.5 typescript: specifier: 5.2.2 version: 5.2.2 @@ -101,7 +120,7 @@ importers: version: 9.2.3 next: specifier: 14.0.3 - version: 14.0.3(react-dom@18.2.0)(react@18.2.0) + version: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5) react: specifier: 18.2.0 version: 18.2.0 @@ -113,14 +132,14 @@ importers: version: 18.2.10(konva@9.2.3)(react-dom@18.2.0)(react@18.2.0) devDependencies: '@types/node': - specifier: 20.9.3 - version: 20.9.3 + specifier: 20.9.5 + version: 20.9.5 '@types/react': specifier: 18.2.38 version: 18.2.38 '@types/react-dom': - specifier: 18.2.16 - version: 18.2.16 + specifier: 18.2.17 + version: 18.2.17 prettier: specifier: 3.1.0 version: 3.1.0 @@ -128,26 +147,1299 @@ importers: specifier: 5.3.2 version: 5.3.2 - frontend/video-sender: + frontend/video-sender: + dependencies: + skyway-js: + specifier: 4.4.5 + version: 4.4.5 + devDependencies: + prettier: + specifier: 3.1.0 + version: 3.1.0 + webpack: + specifier: 5.89.0 + version: 5.89.0(webpack-cli@5.1.4) + webpack-cli: + specifier: 5.1.4 + version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) + webpack-dev-server: + specifier: 4.15.1 + version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + + /@babel/code-frame@7.23.4: + resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helpers': 7.23.4 + '@babel/parser': 7.23.4 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/generator@7.23.4: + resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.4 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.4 + dev: true + + /@babel/helpers@7.23.4: + resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.23.4: + resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.4 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.3): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-classes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: true + + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.3): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.3): + resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/types': 7.23.4 + dev: true + + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.3) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-classes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.3) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.3): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.4 + esutils: 2.0.3 + dev: true + + /@babel/preset-react@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/preset-typescript@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 dependencies: - skyway-js: - specifier: 4.4.5 - version: 4.4.5 - devDependencies: - prettier: - specifier: 3.1.0 - version: 3.1.0 - webpack: - specifier: 5.89.0 - version: 5.89.0(webpack-cli@5.1.4) - webpack-cli: - specifier: 5.1.4 - version: 5.1.4(webpack-dev-server@4.15.1)(webpack@5.89.0) - webpack-dev-server: - specifier: 4.15.1 - version: 4.15.1(webpack-cli@5.1.4)(webpack@5.89.0) + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typescript': 7.23.4(@babel/core@7.23.3) + dev: true -packages: + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.23.4: + resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: true + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.4 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + + /@babel/traverse@7.23.4: + resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.23.4: + resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 /@bufbuild/buf-darwin-arm64@1.28.1: resolution: {integrity: sha512-nAyvwKkcd8qQTExCZo5MtSRhXLK7e3vzKFKHjXfkveRakSUST2HFlFZAHfErZimN4wBrPTN0V0hNRU8PPjkMpQ==} @@ -210,49 +1502,9 @@ packages: '@bufbuild/buf-win32-arm64': 1.28.1 '@bufbuild/buf-win32-x64': 1.28.1 - /@bufbuild/connect-web@0.13.0(@bufbuild/protobuf@1.4.2): - resolution: {integrity: sha512-Ys9VFDWYktD9yFQSLOlkpsD42LonDNMCysLCfjXFuxlupYuf4f7qg0zkT5bESyTfqk4xtRDSSGR3xygaj/ONIQ==} - deprecated: Connect has moved to its own org @connectrpc and has a stable v1. Run `npx @connectrpc/connect-migrate@latest` to update. See https://github.com/connectrpc/connect-es/releases/tag/v0.13.1 for details. - peerDependencies: - '@bufbuild/protobuf': ^1.2.1 - dependencies: - '@bufbuild/connect': 0.13.0(@bufbuild/protobuf@1.4.2) - '@bufbuild/protobuf': 1.4.2 - dev: false - - /@bufbuild/connect@0.13.0(@bufbuild/protobuf@1.4.2): - resolution: {integrity: sha512-eZSMbVLyUFtXiZNORgCEvv580xKZeYQdMOWj2i/nxOcpXQcrEzTMTA7SZzWv4k4gveWCOSRoWmYDeOhfWXJv0g==} - deprecated: Connect has moved to its own org @connectrpc and has a stable v1. Run `npx @connectrpc/connect-migrate@latest` to update. See https://github.com/connectrpc/connect-es/releases/tag/v0.13.1 for details. - peerDependencies: - '@bufbuild/protobuf': ^1.2.1 - dependencies: - '@bufbuild/protobuf': 1.4.2 - dev: false - /@bufbuild/protobuf@1.4.2: resolution: {integrity: sha512-JyEH8Z+OD5Sc2opSg86qMHn1EM1Sa+zj/Tc0ovxdwk56ByVNONJSabuCUbLQp+eKN3rWNfrho0X+3SEqEPXIow==} - /@bufbuild/protoc-gen-connect-web@0.11.0(@bufbuild/protoc-gen-es@1.4.2): - resolution: {integrity: sha512-7GvYkQjN6LP/ixtosI4JBN8eph2kS5XNju9zFwBuJ6aHqfl1sNRkRWG8LEdtTJtyW2R3QypAUyLfpLQf/ZyRVw==} - engines: {node: '>=16.0.0'} - deprecated: This package is no longer supported. Please switch to use https://www.npmjs.com/package/@bufbuild/protoc-gen-connect-es. Details for switching can be found at https://github.com/bufbuild/connect-es/discussions/647 - hasBin: true - peerDependencies: - '@bufbuild/connect': 0.11.0 - '@bufbuild/protoc-gen-es': ^1.2.1 - peerDependenciesMeta: - '@bufbuild/connect': - optional: true - '@bufbuild/protoc-gen-es': - optional: true - dependencies: - '@bufbuild/protobuf': 1.4.2 - '@bufbuild/protoc-gen-es': 1.4.2(@bufbuild/protobuf@1.4.2) - '@bufbuild/protoplugin': 1.4.2 - transitivePeerDependencies: - - supports-color - dev: true - /@bufbuild/protoc-gen-es@1.4.2(@bufbuild/protobuf@1.4.2): resolution: {integrity: sha512-/It7M2s8H1zTDvUMJu6vhBmtnzeFL2VS6e78RYIY38602pNXDK/vbteKUo4KrG0O07lOPFu87hHZ0Y+w5Ib6iw==} engines: {node: '>=14'} @@ -267,6 +1519,7 @@ packages: '@bufbuild/protoplugin': 1.4.2 transitivePeerDependencies: - supports-color + dev: true /@bufbuild/protoplugin@1.4.2: resolution: {integrity: sha512-5IwGC1ZRD2A+KydGXeaSOErwfILLqVtvMH/RkN+cOoHcQd4EYXFStcF7g7aR+yICRDEEjQVi5tQF/qPGBSr9vg==} @@ -276,6 +1529,7 @@ packages: typescript: 4.5.2 transitivePeerDependencies: - supports-color + dev: true /@connectrpc/connect-node@1.1.3(@bufbuild/protobuf@1.4.2)(@connectrpc/connect@1.1.3): resolution: {integrity: sha512-oq7Uk8XlLzC2+eHaxZTX189dhujD0/tK9plizxofsFHUnLquMSmzQQ2GzvTv4u6U05eZYc/crySmf86Sqpi1bA==} @@ -289,6 +1543,23 @@ packages: undici: 5.27.2 dev: false + /@connectrpc/connect-query@0.6.0(@bufbuild/protobuf@1.4.2)(@connectrpc/connect@1.1.3)(@tanstack/react-query@5.8.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/qqQ1LRfxv+YCfK8DWzzo+sJyxctCwdBmwoTEB6tkNLhKBYn1xD8eGXi1rKCOjfOPWrQXHGCAjsYAJg3WCRl+w==} + peerDependencies: + '@bufbuild/protobuf': ^1.3.3 + '@connectrpc/connect': ^1.1.2 + '@tanstack/react-query': ^5.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + dependencies: + '@bufbuild/protobuf': 1.4.2 + '@connectrpc/connect': 1.1.3(@bufbuild/protobuf@1.4.2) + '@tanstack/react-query': 5.8.4(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + stable-hash: 0.0.3 + dev: false + /@connectrpc/connect-web@1.1.3(@bufbuild/protobuf@1.4.2)(@connectrpc/connect@1.1.3): resolution: {integrity: sha512-WfShOZt91duJngqivYF4wJFRbeRa4bF/fPMfDVN0MAYSX3VuaTMn8o9qgKN7tsg2H2ZClyOVQwMkZx6IdcP7Zw==} peerDependencies: @@ -325,6 +1596,24 @@ packages: '@connectrpc/connect': 1.1.3(@bufbuild/protobuf@1.4.2) transitivePeerDependencies: - supports-color + dev: true + + /@connectrpc/protoc-gen-connect-query@0.6.0(@bufbuild/protoc-gen-es@1.4.2): + resolution: {integrity: sha512-Y8Zow5bK/WFVABbrIYpqDo5hVYzWyqRuXfGLqurhKthrbpDKgB/MGYaz8ly7k2B0SE28//62HKVKlM63w12S4g==} + engines: {node: '>=16'} + hasBin: true + peerDependencies: + '@bufbuild/protoc-gen-es': 1.x + peerDependenciesMeta: + '@bufbuild/protoc-gen-es': + optional: true + dependencies: + '@bufbuild/protobuf': 1.4.2 + '@bufbuild/protoc-gen-es': 1.4.2(@bufbuild/protobuf@1.4.2) + '@bufbuild/protoplugin': 1.4.2 + transitivePeerDependencies: + - supports-color + dev: true /@discoveryjs/json-ext@0.5.7: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} @@ -337,7 +1626,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm@0.18.20: @@ -346,7 +1635,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-x64@0.18.20: @@ -355,7 +1644,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-arm64@0.18.20: @@ -364,7 +1653,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-x64@0.18.20: @@ -373,7 +1662,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-arm64@0.18.20: @@ -382,7 +1671,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-x64@0.18.20: @@ -391,7 +1680,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm64@0.18.20: @@ -400,7 +1689,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm@0.18.20: @@ -409,7 +1698,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ia32@0.18.20: @@ -418,7 +1707,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-loong64@0.18.20: @@ -427,7 +1716,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-mips64el@0.18.20: @@ -436,7 +1725,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ppc64@0.18.20: @@ -445,7 +1734,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-riscv64@0.18.20: @@ -454,7 +1743,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-s390x@0.18.20: @@ -463,7 +1752,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-x64@0.18.20: @@ -472,7 +1761,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/netbsd-x64@0.18.20: @@ -481,7 +1770,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/openbsd-x64@0.18.20: @@ -490,7 +1779,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/sunos-x64@0.18.20: @@ -499,7 +1788,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-arm64@0.18.20: @@ -508,7 +1797,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-ia32@0.18.20: @@ -517,7 +1806,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-x64@0.18.20: @@ -526,14 +1815,71 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.54.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.23.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.54.0: + resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@fastify/busboy@2.1.0: resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} dev: false + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + /@jitsi/sdp-interop@0.1.14: resolution: {integrity: sha512-v60VAtBx9LO46c9In9oMNY+Ho5993UMOLHBg6VcrcyoVTIWIeqs/9YjjmrQ3Sf4I5aMRABNl7HTby/1lHcqFJw==} dependencies: @@ -547,17 +1893,14 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.20 - dev: true /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - dev: true /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} @@ -568,14 +1911,12 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true /@jridgewell/trace-mapping@0.3.20: resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /@leichtgewicht/ip-codec@2.0.4: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} @@ -648,41 +1989,219 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.0.3: - resolution: {integrity: sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true + /@next/swc-linux-x64-musl@14.0.3: + resolution: {integrity: sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-arm64-msvc@14.0.3: + resolution: {integrity: sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-ia32-msvc@14.0.3: + resolution: {integrity: sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@next/swc-win32-x64-msvc@14.0.3: + resolution: {integrity: sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.23.3): + resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.3): + resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@svgr/babel-preset@8.1.0(@babel/core@7.23.3): + resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.3) + '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.23.3) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.3) + dev: true + + /@svgr/core@8.1.0(typescript@5.2.2): + resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==} + engines: {node: '>=14'} + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-preset': 8.1.0(@babel/core@7.23.3) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.2.2) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@svgr/hast-util-to-babel-ast@8.0.0: + resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} + engines: {node: '>=14'} + dependencies: + '@babel/types': 7.23.4 + entities: 4.5.0 + dev: true - /@next/swc-win32-arm64-msvc@14.0.3: - resolution: {integrity: sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true + /@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0): + resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@babel/core': 7.23.3 + '@svgr/babel-preset': 8.1.0(@babel/core@7.23.3) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: true - /@next/swc-win32-ia32-msvc@14.0.3: - resolution: {integrity: sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true + /@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0)(typescript@5.2.2): + resolution: {integrity: sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==} + engines: {node: '>=14'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@svgr/core': 8.1.0(typescript@5.2.2) + cosmiconfig: 8.3.6(typescript@5.2.2) + deepmerge: 4.3.1 + svgo: 3.0.4 + transitivePeerDependencies: + - typescript + dev: true - /@next/swc-win32-x64-msvc@14.0.3: - resolution: {integrity: sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true + /@svgr/webpack@8.1.0(typescript@5.2.2): + resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} + engines: {node: '>=14'} + dependencies: + '@babel/core': 7.23.3 + '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.3) + '@babel/preset-env': 7.23.3(@babel/core@7.23.3) + '@babel/preset-react': 7.23.3(@babel/core@7.23.3) + '@babel/preset-typescript': 7.23.3(@babel/core@7.23.3) + '@svgr/core': 8.1.0(typescript@5.2.2) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0)(typescript@5.2.2) + transitivePeerDependencies: + - supports-color + - typescript + dev: true /@swc/helpers@0.5.2: resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} @@ -690,30 +2209,56 @@ packages: tslib: 2.6.2 dev: false + /@tanstack/query-core@5.8.3: + resolution: {integrity: sha512-SWFMFtcHfttLYif6pevnnMYnBvxKf3C+MHMH7bevyYfpXpTMsLB9O6nNGBdWSoPwnZRXFNyNeVZOw25Wmdasow==} + dev: false + + /@tanstack/react-query@5.8.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CD+AkXzg8J72JrE6ocmuBEJfGzEzu/bzkD6sFXFDDB5yji9N20JofXZlN6n0+CaPJuIi+e4YLCbGsyPFKkfNQA==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@tanstack/query-core': 5.8.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.17.41 - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/eslint-scope@3.7.7: @@ -737,7 +2282,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -759,7 +2304,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/json-schema@7.0.15: @@ -777,21 +2322,15 @@ packages: /@types/node-forge@1.3.10: resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/node@12.20.55: resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} dev: false - /@types/node@20.9.2: - resolution: {integrity: sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/node@20.9.3: - resolution: {integrity: sha512-nk5wXLAXGBKfrhLB0cyHGbSqopS+nz0BUgZkUQqSHSSgdee0kssp1IAqlQOu333bW+gMNs2QREx7iynm19Abxw==} + /@types/node@20.9.5: + resolution: {integrity: sha512-Uq2xbNq0chGg+/WQEU0LJTSs/1nKxz6u1iemLcGomkSnKokbW1fbLqc3HOqCf2JP7KjlL4QkS7oZZTrOQHQYgQ==} dependencies: undici-types: 5.26.5 dev: true @@ -807,14 +2346,8 @@ packages: resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} dev: true - /@types/react-dom@18.2.15: - resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==} - dependencies: - '@types/react': 18.2.38 - dev: true - - /@types/react-dom@18.2.16: - resolution: {integrity: sha512-766c37araZ9vxtYs25gvY2wNdFWsT2ZiUvOd0zMhTaoGj6B911N8CKQWgXXJoPMLF3J82thpRqQA7Rf3rBwyJw==} + /@types/react-dom@18.2.17: + resolution: {integrity: sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==} dependencies: '@types/react': 18.2.38 dev: true @@ -825,14 +2358,6 @@ packages: '@types/react': 18.2.38 dev: false - /@types/react@18.2.37: - resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==} - dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.7 - csstype: 3.1.2 - dev: true - /@types/react@18.2.38: resolution: {integrity: sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw==} dependencies: @@ -851,7 +2376,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/serve-index@1.9.4: @@ -865,19 +2390,19 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 dev: true /@typescript/vfs@1.5.0: @@ -886,6 +2411,11 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true /@webassemblyjs/ast@1.11.6: resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} @@ -1059,6 +2589,14 @@ packages: acorn: 8.11.2 dev: true + /acorn-jsx@5.3.2(acorn@8.11.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.2 + dev: true + /acorn@8.11.2: resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} engines: {node: '>=0.4.0'} @@ -1133,7 +2671,19 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: false + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -1141,7 +2691,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} @@ -1155,6 +2704,10 @@ packages: readable-stream: 3.6.2 dev: false + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -1167,6 +2720,42 @@ packages: resolution: {integrity: sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==} dev: false + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.3): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.3): + resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.3): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + transitivePeerDependencies: + - supports-color + dev: true + /backo2@1.0.2: resolution: {integrity: sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==} dev: false @@ -1190,7 +2779,6 @@ packages: /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: true /blob@0.0.5: resolution: {integrity: sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==} @@ -1225,6 +2813,10 @@ packages: multicast-dns: 7.2.5 dev: true + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -1236,7 +2828,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /browserslist@4.22.1: resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} @@ -1247,7 +2838,6 @@ packages: electron-to-chromium: 1.4.589 node-releases: 2.0.13 update-browserslist-db: 1.0.13(browserslist@4.22.1) - dev: true /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1285,9 +2875,23 @@ packages: set-function-length: 1.1.1 dev: true + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + /caniuse-lite@1.0.30001563: resolution: {integrity: sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==} + /caniuse-lite@1.0.30001564: + resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==} + dev: false + /canvas@2.11.2: resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} engines: {node: '>=6'} @@ -1301,6 +2905,22 @@ packages: - supports-color dev: false + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + /chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -1314,7 +2934,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} @@ -1339,6 +2958,30 @@ packages: shallow-clone: 3.0.1 dev: true + /clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true @@ -1357,6 +3000,11 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + /component-bind@1.0.0: resolution: {integrity: sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==} dev: false @@ -1415,6 +3063,9 @@ packages: engines: {node: '>= 0.6'} dev: true + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true @@ -1424,10 +3075,32 @@ packages: engines: {node: '>= 0.6'} dev: true + /core-js-compat@3.33.3: + resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==} + dependencies: + browserslist: 4.22.1 + dev: true + /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true + /cosmiconfig@8.3.6(typescript@5.2.2): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + typescript: 5.2.2 + dev: true + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1437,6 +3110,44 @@ packages: which: 2.0.2 dev: true + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + css-tree: 2.2.1 + dev: true + /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} @@ -1485,6 +3196,15 @@ packages: mimic-response: 2.1.0 dev: false + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + /default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} @@ -1549,13 +3269,53 @@ packages: '@leichtgewicht/ip-codec': 2.0.4 dev: true + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: true + /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true /electron-to-chromium@1.4.589: resolution: {integrity: sha512-zF6y5v/YfoFIgwf2dDfAqVlPPsyQeWNpEWXbAlDUS8Ax4Z2VoiiZpAPC0Jm9hXEkJm2vIZpwB6rc4KnLTQffbQ==} - dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1604,6 +3364,11 @@ packages: tapable: 2.2.1 dev: true + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + /enum@3.0.4: resolution: {integrity: sha512-X+VaPeIut6Vh0nJq1sfSBQQuqVmjUpiheoR5RokqeRm4xkzsNZjOqK+gpSnW+BrEs5d9q7Wl+nf1LpolFDYp4g==} engines: {node: '>=0.6.0'} @@ -1615,6 +3380,12 @@ packages: hasBin: true dev: true + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + /es-module-lexer@1.4.1: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true @@ -1647,23 +3418,116 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - dev: false + dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.0.0(eslint@8.54.0): + resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.54.0 + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.54.0: + resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.54.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.23.0 + graphemer: 1.4.0 + ignore: 5.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color dev: true - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.2 + acorn-jsx: 5.3.2(acorn@8.11.2) + eslint-visitor-keys: 3.4.3 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + estraverse: 5.3.0 dev: true /esrecurse@4.3.0: @@ -1683,6 +3547,11 @@ packages: engines: {node: '>=4.0'} dev: true + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + /etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} @@ -1758,11 +3627,21 @@ packages: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} dev: true + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + /faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} @@ -1770,12 +3649,18 @@ packages: websocket-driver: 0.7.4 dev: true + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + /fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /filter-obj@1.1.0: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} @@ -1805,11 +3690,32 @@ packages: path-exists: 4.0.0 dev: true + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.9 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true dev: true + /flatted@3.2.9: + resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + dev: true + /follow-redirects@1.15.3: resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} @@ -1870,6 +3776,10 @@ packages: wide-align: 1.1.5 dev: false + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + /get-intrinsic@1.2.2: resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} dependencies: @@ -1888,13 +3798,19 @@ packages: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: resolve-pkg-maps: 1.0.0 - dev: false + dev: true /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 dev: true /glob-to-regexp@0.4.1: @@ -1910,6 +3826,17 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globals@13.23.0: + resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -1919,6 +3846,10 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + /handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true @@ -1933,6 +3864,10 @@ packages: resolution: {integrity: sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==} dev: false + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -2063,6 +3998,22 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: false + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + dev: true + + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -2072,6 +4023,11 @@ packages: resolve-cwd: 3.0.0 dev: true + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + /indexof@0.0.1: resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: false @@ -2109,12 +4065,15 @@ packages: engines: {node: '>= 10'} dev: true + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: true /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} @@ -2131,7 +4090,6 @@ packages: /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - dev: true /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} @@ -2143,11 +4101,14 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-plain-obj@3.0.0: @@ -2204,7 +4165,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.9.3 + '@types/node': 20.9.5 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -2215,7 +4176,27 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -2229,6 +4210,21 @@ packages: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: true + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -2245,6 +4241,18 @@ packages: shell-quote: 1.8.1 dev: true + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -2257,6 +4265,21 @@ packages: p-locate: 4.1.0 dev: true + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -2264,6 +4287,17 @@ packages: js-tokens: 4.0.0 dev: false + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + /lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -2278,6 +4312,14 @@ packages: semver: 6.3.1 dev: false + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -2402,6 +4444,10 @@ packages: hasBin: true dev: false + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -2411,7 +4457,7 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next@14.0.3(react-dom@18.2.0)(react@18.2.0): + /next@14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0)(sass@1.69.5): resolution: {integrity: sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==} engines: {node: '>=18.17.0'} hasBin: true @@ -2429,11 +4475,12 @@ packages: '@next/env': 14.0.3 '@swc/helpers': 0.5.2 busboy: 1.6.0 - caniuse-lite: 1.0.30001563 + caniuse-lite: 1.0.30001564 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(react@18.2.0) + sass: 1.69.5 + styled-jsx: 5.1.1(@babel/core@7.23.3)(react@18.2.0) watchpack: 2.4.0 optionalDependencies: '@next/swc-darwin-arm64': 14.0.3 @@ -2450,6 +4497,13 @@ packages: - babel-plugin-macros dev: false + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: true + /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -2469,7 +4523,6 @@ packages: /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} - dev: true /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} @@ -2482,7 +4535,6 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -2500,6 +4552,12 @@ packages: set-blocking: 2.0.0 dev: false + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + /object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -2552,6 +4610,18 @@ packages: is-wsl: 2.2.0 dev: true + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -2559,6 +4629,13 @@ packages: p-try: 2.2.0 dev: true + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + /p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -2566,6 +4643,13 @@ packages: p-limit: 2.3.0 dev: true + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + /p-retry@4.6.2: resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} engines: {node: '>=8'} @@ -2579,6 +4663,23 @@ packages: engines: {node: '>=6'} dev: true + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.23.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + /parseqs@0.0.6: resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} dev: false @@ -2614,13 +4715,17 @@ packages: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -2638,6 +4743,11 @@ packages: source-map-js: 1.0.2 dev: false + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + /prettier@3.1.0: resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} @@ -2678,6 +4788,10 @@ packages: strict-uri-encode: 2.0.0 dev: false + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -2768,7 +4882,6 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: true /rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} @@ -2777,6 +4890,46 @@ packages: resolve: 1.22.8 dev: true + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: true + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.23.4 + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -2793,6 +4946,11 @@ packages: resolve-from: 5.0.0 dev: true + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + /resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -2800,7 +4958,7 @@ packages: /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false + dev: true /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} @@ -2816,12 +4974,23 @@ packages: engines: {node: '>= 4'} dev: true + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true @@ -2833,6 +5002,15 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true + /sass@1.69.5: + resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + /scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: @@ -2883,7 +5061,6 @@ packages: /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: false /semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} @@ -3035,6 +5212,13 @@ packages: - utf-8-validate dev: false + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: true + /socket.io-client@2.5.0: resolution: {integrity: sha512-lOO9clmdgssDykiOmVQQitwBAF3I6mYcQAo7hQ7AM6Ny5X7fp8hIJ3HcQs3Rjz4SoggoxA1OgrQyY8EgTbcPYw==} dependencies: @@ -3076,7 +5260,6 @@ packages: /source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - dev: false /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -3121,6 +5304,10 @@ packages: engines: {node: '>=6'} dev: false + /stable-hash@0.0.3: + resolution: {integrity: sha512-c63fvNCQ7ip1wBfPv54MflMA5L6OE5J0p6Fg13IpKft4JAFoNal8+s/jtJ8PibrwqXm4onnbeQsADs8k0NQGUA==} + dev: false + /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -3166,14 +5353,18 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - dev: false /strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} dev: true - /styled-jsx@5.1.1(react@18.2.0): + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /styled-jsx@5.1.1(@babel/core@7.23.3)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -3186,10 +5377,24 @@ packages: babel-plugin-macros: optional: true dependencies: + '@babel/core': 7.23.3 client-only: 0.0.1 react: 18.2.0 dev: false + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + /supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} @@ -3202,6 +5407,24 @@ packages: engines: {node: '>= 0.4'} dev: true + /svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: true + + /svgo@3.0.4: + resolution: {integrity: sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + css-what: 6.1.0 + csso: 5.0.5 + picocolors: 1.0.0 + dev: true + /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -3254,6 +5477,10 @@ packages: source-map-support: 0.5.21 dev: true + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + /thunky@1.1.0: resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} dev: true @@ -3262,12 +5489,15 @@ packages: resolution: {integrity: sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==} dev: false + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + /to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} @@ -3280,7 +5510,6 @@ packages: /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: false /tsx@4.3.0: resolution: {integrity: sha512-zalfbBdr7tvYok5sSbnsv4uL+DhT1wRZwbWwuOXjhH8YtJxN2bpl6lpXMxuPThMAKzZ2qgrhuf5ckq/uSsm3CA==} @@ -3291,7 +5520,19 @@ packages: get-tsconfig: 4.7.2 optionalDependencies: fsevents: 2.3.3 - dev: false + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} @@ -3305,11 +5546,13 @@ packages: resolution: {integrity: sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==} engines: {node: '>=4.2.0'} hasBin: true + dev: true /typescript@5.2.2: resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} engines: {node: '>=14.17'} hasBin: true + dev: true /typescript@5.3.2: resolution: {integrity: sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==} @@ -3328,6 +5571,29 @@ packages: '@fastify/busboy': 2.1.0 dev: false + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + /unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -3342,7 +5608,6 @@ packages: browserslist: 4.22.1 escalade: 3.1.1 picocolors: 1.0.0 - dev: true /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -3613,6 +5878,9 @@ packages: engines: {node: '>=0.4.0'} dev: false + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: false @@ -3620,3 +5888,8 @@ packages: /yeast@0.1.2: resolution: {integrity: sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==} dev: false + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3778eca8..aafa9621 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,3 @@ packages: - 'frontend/*' + - 'backend/auto-operation/' \ No newline at end of file diff --git a/proto/Makefile b/proto/Makefile index 5fdfaa03..5b5f2ef5 100644 --- a/proto/Makefile +++ b/proto/Makefile @@ -1,3 +1,4 @@ buf: rm -Rf ../backend/spec - buf generate \ No newline at end of file + rm ../frontend/dashboard/src/proto/ -Rf + buf generate diff --git a/proto/buf.gen.yaml b/proto/buf.gen.yaml index ac6988dd..8b658551 100644 --- a/proto/buf.gen.yaml +++ b/proto/buf.gen.yaml @@ -14,21 +14,28 @@ plugins: - paths=source_relative - plugin: es path: ../frontend/dashboard/node_modules/.bin/protoc-gen-es - out: ../frontend/dashboard/proto + out: ../frontend/dashboard/src/proto opt: - - target=dts+js + - target=ts - plugin: connect-es - path: ../frontend/dashboard/node_modules/.bin/protoc-gen-connect-web - out: ../frontend/dashboard/proto + path: ../frontend/dashboard/node_modules/.bin/protoc-gen-connect-es + out: ../frontend/dashboard/src/proto opt: - - target=dts+js + - target=ts + - import_extension=none + - plugin: connect-query + path: ../frontend/dashboard/node_modules/.bin/protoc-gen-connect-query + out: ../frontend/dashboard/src/proto + opt: + - target=ts + - import_extension=.ts - plugin: es path: ../frontend/dashboard/node_modules/.bin/protoc-gen-es out: ../backend/auto-operation/proto opt: - target=dts+js - plugin: connect-es - path: ../frontend/dashboard/node_modules/.bin/protoc-gen-connect-web + path: ../frontend/dashboard/node_modules/.bin/protoc-gen-connect-es out: ../backend/auto-operation/proto opt: - target=dts+js