Compare commits

...

2 Commits

Author SHA1 Message Date
c669d66969 fix: just dev-all support windows 2025-06-05 02:44:23 +08:00
082e08e7f4 fcwd: add tui temp 2025-06-04 01:09:18 +08:00
10 changed files with 206 additions and 124 deletions

89
.vscode/settings.json vendored
View File

@ -1,46 +1,45 @@
{
"npm.packageManager": "pnpm",
"rust-analyzer.showUnlinkedFileNotification": false,
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"[jsonc]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"editor.codeActionsOnSave": {
"quickfix.biome": "explicit",
"source.organizeImports.biome": "explicit"
},
"emmet.showExpandedAbbreviation": "never",
"prettier.enable": false,
"typescript.tsdk": "node_modules/typescript/lib",
"rust-analyzer.cargo.features": [
"testcontainers",
"playground"
],
"sqltools.connections": [
{
"previewLimit": 50,
"server": "localhost",
"port": 5432,
"driver": "PostgreSQL",
"name": "konobangu-dev",
"database": "konobangu",
"username": "konobangu"
}
]
}
"npm.packageManager": "pnpm",
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
"editor.formatOnSave": true
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"[jsonc]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
},
"editor.codeActionsOnSave": {
"quickfix.biome": "explicit",
"source.organizeImports.biome": "explicit"
},
"emmet.showExpandedAbbreviation": "never",
"prettier.enable": false,
"typescript.tsdk": "node_modules/typescript/lib",
"rust-analyzer.showUnlinkedFileNotification": false,
"sqltools.connections": [
{
"previewLimit": 50,
"server": "localhost",
"port": 5432,
"driver": "PostgreSQL",
"name": "konobangu-dev",
"database": "konobangu",
"username": "konobangu"
}
],
"rust-analyzer.cargo.extraArgs": [
"--all-features"
]
}

54
Cargo.lock generated
View File

@ -858,9 +858,9 @@ dependencies = [
[[package]]
name = "bumpalo"
version = "3.17.0"
version = "3.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee"
[[package]]
name = "bytecheck"
@ -934,9 +934,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.2.25"
version = "1.2.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0fc897dc1e865cc67c0e05a836d9d3f1df3cbe442aa4a9473b18e12624a4951"
checksum = "956a5e21988b87f372569b66183b78babf23ebc2e744b733e4350a752c4dafac"
dependencies = [
"jobserver",
"libc",
@ -2062,7 +2062,7 @@ dependencies = [
"serde",
"serde_json",
"serde_yaml",
"toml 0.8.22",
"toml 0.8.23",
"uncased",
"version_check",
]
@ -2081,9 +2081,9 @@ dependencies = [
[[package]]
name = "flate2"
version = "1.1.1"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece"
checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
dependencies = [
"crc32fast",
"miniz_oxide",
@ -2778,9 +2778,9 @@ dependencies = [
[[package]]
name = "hyper-rustls"
version = "0.27.6"
version = "0.27.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "03a01595e11bdcec50946522c32dde3fc6914743000a68b93000965f2f02406d"
checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
dependencies = [
"http",
"hyper",
@ -4832,9 +4832,9 @@ dependencies = [
[[package]]
name = "portable-atomic"
version = "1.11.0"
version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
[[package]]
name = "potential_utf"
@ -6144,9 +6144,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
version = "0.6.8"
version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
dependencies = [
"serde",
]
@ -6414,9 +6414,9 @@ dependencies = [
[[package]]
name = "smallvec"
version = "1.15.0"
version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9"
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
dependencies = [
"serde",
]
@ -7231,9 +7231,9 @@ dependencies = [
[[package]]
name = "toml"
version = "0.8.22"
version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae"
checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
dependencies = [
"serde",
"serde_spanned",
@ -7243,18 +7243,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
version = "0.6.9"
version = "0.6.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3"
checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
version = "0.22.26"
version = "0.22.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e"
checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
dependencies = [
"indexmap 2.9.0",
"serde",
@ -7266,9 +7266,9 @@ dependencies = [
[[package]]
name = "toml_write"
version = "0.1.1"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076"
checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
[[package]]
name = "tower"
@ -7354,9 +7354,9 @@ dependencies = [
[[package]]
name = "tracing-attributes"
version = "0.1.28"
version = "0.1.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
checksum = "1b1ffbcf9c6f6b99d386e7444eb608ba646ae452a36b39737deb9663b610f662"
dependencies = [
"proc-macro2",
"quote",
@ -7365,9 +7365,9 @@ dependencies = [
[[package]]
name = "tracing-core"
version = "0.1.33"
version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
dependencies = [
"once_cell",
"valuable",

View File

@ -60,7 +60,7 @@ tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
axum-extra = "0.10"
mockito = { version = "1.6.1" }
convert_case = "0.8"
color-eyre = "0.6.4"
color-eyre = "0.6.5"
inquire = "0.7.5"
[patch.crates-io]

View File

@ -30,6 +30,7 @@ pub use web::{
extract_mikan_bangumi_index_meta_list_from_season_flow_fragment,
extract_mikan_bangumi_meta_from_expand_subscribed_fragment,
extract_mikan_episode_meta_from_episode_homepage_html,
scrape_mikan_bangumi_index_meta_from_bangumi_homepage_url,
scrape_mikan_bangumi_meta_from_bangumi_homepage_url,
scrape_mikan_bangumi_meta_list_from_season_flow_url,
scrape_mikan_bangumi_meta_stream_from_season_flow_url,

12
dev.kdl
View File

@ -21,13 +21,13 @@ layout {
children
}
tab name="WebUI" {
pane command="pnpm" {
args "run" "--filter=webui" "dev"
pane command="just" {
args "dev-webui"
}
}
tab name="Proxy" {
pane command="pnpm" {
args "run" "--filter=proxy" "dev"
pane command="just" {
args "dev-proxy"
}
}
tab name="Recorder" {
@ -36,8 +36,8 @@ layout {
}
}
tab name="Deps" {
pane command="docker" {
args "compose" "-f" "devdeps.compose.yaml" "up"
pane command="just" {
args "dev-deps"
}
}
tab name="Codegen" {

View File

@ -31,9 +31,14 @@ dev-deps-clean:
dev-codegen:
pnpm run --filter=webui codegen
[unix]
dev-all:
zellij --layout dev.kdl
[windows]
dev-all:
pnpm run dev-all
dev-codegen-wait:
@until nc -z localhost 5001; do echo "Waiting for Recorder..."; sleep 1; done
pnpm run --filter=webui codegen-watch

View File

@ -3,15 +3,18 @@
"version": "0.0.0",
"description": "Kono bangumi?",
"license": "MIT",
"workspaces": [
"packages/*",
"apps/*"
],
"workspaces": ["packages/*", "apps/*"],
"repository": {
"type": "git",
"url": "https://github.com/dumtruck/konobangu.git"
},
"scripts": {
"dev-webui": "just dev-webui",
"dev-proxy": "just dev-proxy",
"dev-recorder": "just dev-recorder",
"dev-deps": "just dev-deps",
"dev-codegen-wait": "just dev-codegen-wait",
"dev-all": "turbo run //#dev-recorder //#dev-proxy //#dev-webui //#dev-deps //#dev-codegen-wait",
"lint": "ultracite lint",
"format": "ultracite format",
"bump-deps": "npx --yes npm-check-updates --deep -u -x react-day-picker && pnpm install",
@ -27,6 +30,7 @@
"@biomejs/biome": "1.9.4",
"@types/node": "^22.15.29",
"tsx": "^4.19.4",
"turbo": "^2.5.4",
"typescript": "^5.8.3",
"ultracite": "^4.2.8"
}

117
pnpm-lock.yaml generated
View File

@ -23,6 +23,9 @@ importers:
tsx:
specifier: ^4.19.4
version: 4.19.4
turbo:
specifier: ^2.5.4
version: 2.5.4
typescript:
specifier: ^5.8.3
version: 5.8.3
@ -236,9 +239,6 @@ importers:
react-dom:
specifier: ^19.1.0
version: 19.1.0(react@19.1.0)
react-hook-form:
specifier: ^7.56.3
version: 7.57.0(react@19.1.0)
react-resizable-panels:
specifier: ^3.0.1
version: 3.0.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
@ -364,10 +364,10 @@ importers:
devDependencies:
'@vitejs/plugin-react':
specifier: ^4.3.4
version: 4.5.1(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0))
version: 4.5.1(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0))
vitest:
specifier: ^2.1.8
version: 2.1.9(@types/node@22.15.29)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0)
version: 2.1.9(@types/node@22.15.29)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0)
packages:
@ -6698,11 +6698,6 @@ packages:
uglify-js:
optional: true
terser@5.39.0:
resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
engines: {node: '>=10'}
hasBin: true
terser@5.41.0:
resolution: {integrity: sha512-H406eLPXpZbAX14+B8psIuvIr8+3c+2hkuYzpMkoE0ij+NdsVATbA78vb8neA/eqrj7rywa2pIkdmWRsXW6wmw==}
engines: {node: '>=10'}
@ -6823,6 +6818,40 @@ packages:
engines: {node: '>=18.0.0'}
hasBin: true
turbo-darwin-64@2.5.4:
resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==}
cpu: [x64]
os: [darwin]
turbo-darwin-arm64@2.5.4:
resolution: {integrity: sha512-2+Nx6LAyuXw2MdXb7pxqle3MYignLvS7OwtsP9SgtSBaMlnNlxl9BovzqdYAgkUW3AsYiQMJ/wBRb7d+xemM5A==}
cpu: [arm64]
os: [darwin]
turbo-linux-64@2.5.4:
resolution: {integrity: sha512-5May2kjWbc8w4XxswGAl74GZ5eM4Gr6IiroqdLhXeXyfvWEdm2mFYCSWOzz0/z5cAgqyGidF1jt1qzUR8hTmOA==}
cpu: [x64]
os: [linux]
turbo-linux-arm64@2.5.4:
resolution: {integrity: sha512-/2yqFaS3TbfxV3P5yG2JUI79P7OUQKOUvAnx4MV9Bdz6jqHsHwc9WZPpO4QseQm+NvmgY6ICORnoVPODxGUiJg==}
cpu: [arm64]
os: [linux]
turbo-windows-64@2.5.4:
resolution: {integrity: sha512-EQUO4SmaCDhO6zYohxIjJpOKRN3wlfU7jMAj3CgcyTPvQR/UFLEKAYHqJOnJtymbQmiiM/ihX6c6W6Uq0yC7mA==}
cpu: [x64]
os: [win32]
turbo-windows-arm64@2.5.4:
resolution: {integrity: sha512-oQ8RrK1VS8lrxkLriotFq+PiF7iiGgkZtfLKF4DDKsmdbPo0O9R2mQxm7jHLuXraRCuIQDWMIw6dpcr7Iykf4A==}
cpu: [arm64]
os: [win32]
turbo@2.5.4:
resolution: {integrity: sha512-kc8ZibdRcuWUG1pbYSBFWqmIjynlD8Lp7IB6U3vIzvOv9VG+6Sp8bzyeBWE3Oi8XV5KsQrznyRTBPvrf99E4mA==}
hasBin: true
tw-animate-css@1.3.4:
resolution: {integrity: sha512-dd1Ht6/YQHcNbq0znIT6dG8uhO7Ce+VIIhZUhjsryXsMPJQz3bZg7Q2eNzLwipb25bRZslGb2myio5mScd1TFg==}
@ -10684,7 +10713,7 @@ snapshots:
dependencies:
'@types/node': 22.15.29
'@vitejs/plugin-react@4.5.1(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0))':
'@vitejs/plugin-react@4.5.1(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0))':
dependencies:
'@babel/core': 7.27.1
'@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.27.1)
@ -10692,7 +10721,7 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-beta.9
'@types/babel__core': 7.20.5
react-refresh: 0.17.0
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0)
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0)
transitivePeerDependencies:
- supports-color
@ -10703,13 +10732,13 @@ snapshots:
chai: 5.1.2
tinyrainbow: 1.2.0
'@vitest/mocker@2.1.9(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0))':
'@vitest/mocker@2.1.9(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0))':
dependencies:
'@vitest/spy': 2.1.9
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0)
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0)
'@vitest/pretty-format@2.1.9':
dependencies:
@ -14219,14 +14248,6 @@ snapshots:
webpack: 5.97.1
optional: true
terser@5.39.0:
dependencies:
'@jridgewell/source-map': 0.3.6
acorn: 8.14.1
commander: 2.20.3
source-map-support: 0.5.21
optional: true
terser@5.41.0:
dependencies:
'@jridgewell/source-map': 0.3.6
@ -14340,6 +14361,33 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
turbo-darwin-64@2.5.4:
optional: true
turbo-darwin-arm64@2.5.4:
optional: true
turbo-linux-64@2.5.4:
optional: true
turbo-linux-arm64@2.5.4:
optional: true
turbo-windows-64@2.5.4:
optional: true
turbo-windows-arm64@2.5.4:
optional: true
turbo@2.5.4:
optionalDependencies:
turbo-darwin-64: 2.5.4
turbo-darwin-arm64: 2.5.4
turbo-linux-64: 2.5.4
turbo-linux-arm64: 2.5.4
turbo-windows-64: 2.5.4
turbo-windows-arm64: 2.5.4
tw-animate-css@1.3.4: {}
type-fest@0.21.3: {}
@ -14530,13 +14578,13 @@ snapshots:
d3-time: 3.1.0
d3-timer: 3.0.1
vite-node@2.1.9(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0):
vite-node@2.1.9(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0):
dependencies:
cac: 6.7.14
debug: 4.4.0
es-module-lexer: 1.7.0
pathe: 1.1.2
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0)
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0)
transitivePeerDependencies:
- '@types/node'
- less
@ -14548,18 +14596,6 @@ snapshots:
- supports-color
- terser
vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0):
dependencies:
esbuild: 0.21.5
postcss: 8.5.4
rollup: 4.29.1
optionalDependencies:
'@types/node': 22.15.29
fsevents: 2.3.3
lightningcss: 1.30.1
sass: 1.77.4
terser: 5.39.0
vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0):
dependencies:
esbuild: 0.21.5
@ -14571,12 +14607,11 @@ snapshots:
lightningcss: 1.30.1
sass: 1.77.4
terser: 5.41.0
optional: true
vitest@2.1.9(@types/node@22.15.29)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0):
vitest@2.1.9(@types/node@22.15.29)(jsdom@25.0.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0):
dependencies:
'@vitest/expect': 2.1.9
'@vitest/mocker': 2.1.9(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0))
'@vitest/mocker': 2.1.9(vite@5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0))
'@vitest/pretty-format': 2.1.9
'@vitest/runner': 2.1.9
'@vitest/snapshot': 2.1.9
@ -14592,8 +14627,8 @@ snapshots:
tinyexec: 0.3.2
tinypool: 1.0.2
tinyrainbow: 1.2.0
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0)
vite-node: 2.1.9(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.39.0)
vite: 5.4.11(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0)
vite-node: 2.1.9(@types/node@22.15.29)(lightningcss@1.30.1)(sass@1.77.4)(terser@5.41.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.29

View File

@ -4,6 +4,8 @@ packages:
- '!packages/testing-torrents'
onlyBuiltDependencies:
- '@biomejs/biome'
- '@parcel/watcher'
- '@tailwindcss/oxide'
- bufferutil
- core-js
- esbuild

36
turbo.json Normal file
View File

@ -0,0 +1,36 @@
{
"$schema": "https://turborepo.com/schema.json",
"ui": "tui",
"tasks": {
"//#dev-webui": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-proxy": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-recorder": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-deps": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-codegen-wait": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
}
}
}