jbilcke-hf HF staff commited on
Commit
74c9d0e
1 Parent(s): 5bd8810

fix theme + work on task manager

Browse files
package-lock.json CHANGED
@@ -11,9 +11,9 @@
11
  "dependencies": {
12
  "@aitube/broadway": "0.0.22",
13
  "@aitube/clap": "0.0.30",
14
- "@aitube/clapper-services": "0.0.34",
15
  "@aitube/engine": "0.0.26",
16
- "@aitube/timeline": "0.0.44",
17
  "@fal-ai/serverless-client": "^0.13.0",
18
  "@ffmpeg/ffmpeg": "^0.12.10",
19
  "@ffmpeg/util": "^0.12.1",
@@ -161,12 +161,12 @@
161
  }
162
  },
163
  "node_modules/@aitube/clapper-services": {
164
- "version": "0.0.34",
165
- "resolved": "https://registry.npmjs.org/@aitube/clapper-services/-/clapper-services-0.0.34.tgz",
166
- "integrity": "sha512-d0HruUyWRIXozO67W+2iEUTuBdbojGPn9BnIf6cvxkVbywLwy4hKaN+SD+yQwOi/jqoqu+TTQYUoWSF93JDVEQ==",
167
  "peerDependencies": {
168
  "@aitube/clap": "0.0.30",
169
- "@aitube/timeline": "0.0.44",
170
  "@monaco-editor/react": "4.6.0",
171
  "monaco-editor": "0.50.0",
172
  "react": "*",
@@ -192,9 +192,9 @@
192
  }
193
  },
194
  "node_modules/@aitube/timeline": {
195
- "version": "0.0.44",
196
- "resolved": "https://registry.npmjs.org/@aitube/timeline/-/timeline-0.0.44.tgz",
197
- "integrity": "sha512-iELTtmLONWR7zuGLLr9cJRlMuNoBXWxZzgGerDeXa5VyQhDmjj4shLOlZLP78PiIVHMdRwZr16IN6ob899VmMw==",
198
  "dependencies": {
199
  "date-fns": "^3.6.0",
200
  "react-virtualized-auto-sizer": "^1.0.24"
@@ -2823,15 +2823,6 @@
2823
  "node": ">=14.14"
2824
  }
2825
  },
2826
- "node_modules/@emnapi/runtime": {
2827
- "version": "1.2.0",
2828
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.2.0.tgz",
2829
- "integrity": "sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==",
2830
- "optional": true,
2831
- "dependencies": {
2832
- "tslib": "^2.4.0"
2833
- }
2834
- },
2835
  "node_modules/@emotion/is-prop-valid": {
2836
  "version": "1.3.0",
2837
  "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz",
@@ -2855,70 +2846,6 @@
2855
  "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
2856
  "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
2857
  },
2858
- "node_modules/@esbuild/aix-ppc64": {
2859
- "version": "0.21.5",
2860
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
2861
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
2862
- "cpu": [
2863
- "ppc64"
2864
- ],
2865
- "dev": true,
2866
- "optional": true,
2867
- "os": [
2868
- "aix"
2869
- ],
2870
- "engines": {
2871
- "node": ">=12"
2872
- }
2873
- },
2874
- "node_modules/@esbuild/android-arm": {
2875
- "version": "0.21.5",
2876
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
2877
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
2878
- "cpu": [
2879
- "arm"
2880
- ],
2881
- "dev": true,
2882
- "optional": true,
2883
- "os": [
2884
- "android"
2885
- ],
2886
- "engines": {
2887
- "node": ">=12"
2888
- }
2889
- },
2890
- "node_modules/@esbuild/android-arm64": {
2891
- "version": "0.21.5",
2892
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
2893
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
2894
- "cpu": [
2895
- "arm64"
2896
- ],
2897
- "dev": true,
2898
- "optional": true,
2899
- "os": [
2900
- "android"
2901
- ],
2902
- "engines": {
2903
- "node": ">=12"
2904
- }
2905
- },
2906
- "node_modules/@esbuild/android-x64": {
2907
- "version": "0.21.5",
2908
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
2909
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
2910
- "cpu": [
2911
- "x64"
2912
- ],
2913
- "dev": true,
2914
- "optional": true,
2915
- "os": [
2916
- "android"
2917
- ],
2918
- "engines": {
2919
- "node": ">=12"
2920
- }
2921
- },
2922
  "node_modules/@esbuild/darwin-arm64": {
2923
  "version": "0.21.5",
2924
  "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
@@ -2935,424 +2862,136 @@
2935
  "node": ">=12"
2936
  }
2937
  },
2938
- "node_modules/@esbuild/darwin-x64": {
2939
- "version": "0.21.5",
2940
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
2941
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
2942
- "cpu": [
2943
- "x64"
2944
- ],
2945
- "dev": true,
2946
- "optional": true,
2947
- "os": [
2948
- "darwin"
2949
- ],
2950
- "engines": {
2951
- "node": ">=12"
2952
- }
2953
- },
2954
- "node_modules/@esbuild/freebsd-arm64": {
2955
- "version": "0.21.5",
2956
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
2957
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
2958
- "cpu": [
2959
- "arm64"
2960
- ],
2961
  "dev": true,
2962
- "optional": true,
2963
- "os": [
2964
- "freebsd"
2965
- ],
2966
  "engines": {
2967
- "node": ">=12"
 
 
 
2968
  }
2969
  },
2970
- "node_modules/@esbuild/freebsd-x64": {
2971
- "version": "0.21.5",
2972
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
2973
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
2974
- "cpu": [
2975
- "x64"
2976
- ],
2977
  "dev": true,
2978
- "optional": true,
2979
- "os": [
2980
- "freebsd"
2981
- ],
2982
  "engines": {
2983
- "node": ">=12"
2984
  }
2985
  },
2986
- "node_modules/@esbuild/linux-arm": {
2987
- "version": "0.21.5",
2988
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
2989
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
2990
- "cpu": [
2991
- "arm"
2992
- ],
2993
  "dev": true,
2994
- "optional": true,
2995
- "os": [
2996
- "linux"
2997
- ],
 
 
 
 
 
 
 
2998
  "engines": {
2999
- "node": ">=12"
 
 
 
3000
  }
3001
  },
3002
- "node_modules/@esbuild/linux-arm64": {
3003
- "version": "0.21.5",
3004
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
3005
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
3006
- "cpu": [
3007
- "arm64"
3008
- ],
3009
  "dev": true,
3010
- "optional": true,
3011
- "os": [
3012
- "linux"
3013
- ],
3014
  "engines": {
3015
- "node": ">=12"
 
 
 
3016
  }
3017
  },
3018
- "node_modules/@esbuild/linux-ia32": {
3019
- "version": "0.21.5",
3020
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
3021
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
3022
- "cpu": [
3023
- "ia32"
3024
- ],
3025
  "dev": true,
3026
- "optional": true,
3027
- "os": [
3028
- "linux"
3029
- ],
3030
  "engines": {
3031
- "node": ">=12"
 
 
 
3032
  }
3033
  },
3034
- "node_modules/@esbuild/linux-loong64": {
3035
- "version": "0.21.5",
3036
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
3037
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
3038
- "cpu": [
3039
- "loong64"
3040
- ],
3041
  "dev": true,
3042
- "optional": true,
3043
- "os": [
3044
- "linux"
3045
- ],
3046
  "engines": {
3047
- "node": ">=12"
3048
  }
3049
  },
3050
- "node_modules/@esbuild/linux-mips64el": {
3051
- "version": "0.21.5",
3052
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
3053
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
3054
- "cpu": [
3055
- "mips64el"
3056
- ],
3057
- "dev": true,
3058
- "optional": true,
3059
- "os": [
3060
- "linux"
3061
- ],
3062
  "engines": {
3063
- "node": ">=12"
3064
  }
3065
  },
3066
- "node_modules/@esbuild/linux-ppc64": {
3067
- "version": "0.21.5",
3068
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
3069
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
3070
- "cpu": [
3071
- "ppc64"
3072
- ],
3073
- "dev": true,
3074
- "optional": true,
3075
- "os": [
3076
- "linux"
3077
- ],
3078
  "engines": {
3079
- "node": ">=12"
3080
  }
3081
  },
3082
- "node_modules/@esbuild/linux-riscv64": {
3083
- "version": "0.21.5",
3084
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
3085
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
3086
- "cpu": [
3087
- "riscv64"
3088
- ],
3089
- "dev": true,
3090
- "optional": true,
3091
- "os": [
3092
- "linux"
3093
- ],
3094
  "engines": {
3095
- "node": ">=12"
3096
  }
3097
  },
3098
- "node_modules/@esbuild/linux-s390x": {
3099
- "version": "0.21.5",
3100
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
3101
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
3102
- "cpu": [
3103
- "s390x"
3104
- ],
3105
- "dev": true,
3106
- "optional": true,
3107
- "os": [
3108
- "linux"
3109
- ],
3110
  "engines": {
3111
- "node": ">=12"
3112
  }
3113
  },
3114
- "node_modules/@esbuild/linux-x64": {
3115
- "version": "0.21.5",
3116
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
3117
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
3118
- "cpu": [
3119
- "x64"
3120
- ],
3121
- "dev": true,
3122
- "optional": true,
3123
- "os": [
3124
- "linux"
3125
- ],
3126
- "engines": {
3127
- "node": ">=12"
3128
- }
3129
- },
3130
- "node_modules/@esbuild/netbsd-x64": {
3131
- "version": "0.21.5",
3132
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
3133
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
3134
- "cpu": [
3135
- "x64"
3136
- ],
3137
- "dev": true,
3138
- "optional": true,
3139
- "os": [
3140
- "netbsd"
3141
- ],
3142
- "engines": {
3143
- "node": ">=12"
3144
- }
3145
- },
3146
- "node_modules/@esbuild/openbsd-x64": {
3147
- "version": "0.21.5",
3148
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
3149
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
3150
- "cpu": [
3151
- "x64"
3152
- ],
3153
- "dev": true,
3154
- "optional": true,
3155
- "os": [
3156
- "openbsd"
3157
- ],
3158
- "engines": {
3159
- "node": ">=12"
3160
- }
3161
- },
3162
- "node_modules/@esbuild/sunos-x64": {
3163
- "version": "0.21.5",
3164
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
3165
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
3166
- "cpu": [
3167
- "x64"
3168
- ],
3169
- "dev": true,
3170
- "optional": true,
3171
- "os": [
3172
- "sunos"
3173
- ],
3174
- "engines": {
3175
- "node": ">=12"
3176
- }
3177
- },
3178
- "node_modules/@esbuild/win32-arm64": {
3179
- "version": "0.21.5",
3180
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
3181
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
3182
- "cpu": [
3183
- "arm64"
3184
- ],
3185
- "dev": true,
3186
- "optional": true,
3187
- "os": [
3188
- "win32"
3189
- ],
3190
- "engines": {
3191
- "node": ">=12"
3192
- }
3193
- },
3194
- "node_modules/@esbuild/win32-ia32": {
3195
- "version": "0.21.5",
3196
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
3197
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
3198
- "cpu": [
3199
- "ia32"
3200
- ],
3201
- "dev": true,
3202
- "optional": true,
3203
- "os": [
3204
- "win32"
3205
- ],
3206
- "engines": {
3207
- "node": ">=12"
3208
- }
3209
- },
3210
- "node_modules/@esbuild/win32-x64": {
3211
- "version": "0.21.5",
3212
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
3213
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
3214
- "cpu": [
3215
- "x64"
3216
- ],
3217
- "dev": true,
3218
- "optional": true,
3219
- "os": [
3220
- "win32"
3221
- ],
3222
- "engines": {
3223
- "node": ">=12"
3224
- }
3225
- },
3226
- "node_modules/@eslint-community/eslint-utils": {
3227
- "version": "4.4.0",
3228
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
3229
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
3230
- "dev": true,
3231
- "dependencies": {
3232
- "eslint-visitor-keys": "^3.3.0"
3233
- },
3234
- "engines": {
3235
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
3236
- },
3237
- "peerDependencies": {
3238
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
3239
- }
3240
- },
3241
- "node_modules/@eslint-community/regexpp": {
3242
- "version": "4.11.0",
3243
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
3244
- "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
3245
- "dev": true,
3246
- "engines": {
3247
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
3248
- }
3249
- },
3250
- "node_modules/@eslint/eslintrc": {
3251
- "version": "2.1.4",
3252
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
3253
- "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
3254
- "dev": true,
3255
- "dependencies": {
3256
- "ajv": "^6.12.4",
3257
- "debug": "^4.3.2",
3258
- "espree": "^9.6.0",
3259
- "globals": "^13.19.0",
3260
- "ignore": "^5.2.0",
3261
- "import-fresh": "^3.2.1",
3262
- "js-yaml": "^4.1.0",
3263
- "minimatch": "^3.1.2",
3264
- "strip-json-comments": "^3.1.1"
3265
- },
3266
- "engines": {
3267
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
3268
- },
3269
- "funding": {
3270
- "url": "https://opencollective.com/eslint"
3271
- }
3272
- },
3273
- "node_modules/@eslint/eslintrc/node_modules/globals": {
3274
- "version": "13.24.0",
3275
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
3276
- "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
3277
- "dev": true,
3278
- "dependencies": {
3279
- "type-fest": "^0.20.2"
3280
- },
3281
- "engines": {
3282
- "node": ">=8"
3283
- },
3284
- "funding": {
3285
- "url": "https://github.com/sponsors/sindresorhus"
3286
- }
3287
- },
3288
- "node_modules/@eslint/eslintrc/node_modules/type-fest": {
3289
- "version": "0.20.2",
3290
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
3291
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
3292
- "dev": true,
3293
- "engines": {
3294
- "node": ">=10"
3295
- },
3296
- "funding": {
3297
- "url": "https://github.com/sponsors/sindresorhus"
3298
- }
3299
- },
3300
- "node_modules/@eslint/js": {
3301
- "version": "8.57.0",
3302
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
3303
- "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
3304
- "dev": true,
3305
- "engines": {
3306
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
3307
- }
3308
- },
3309
- "node_modules/@fal-ai/serverless-client": {
3310
- "version": "0.13.0",
3311
- "resolved": "https://registry.npmjs.org/@fal-ai/serverless-client/-/serverless-client-0.13.0.tgz",
3312
- "integrity": "sha512-Nkb/5YXJIPQHzM79+fRb1LZ1zQLSSvNhDVL2l62sN6/H4XqAWueIOqAAvPF8ds39uSGn8nF1WQV1mt7raVMlWw==",
3313
- "dependencies": {
3314
- "@msgpack/msgpack": "^3.0.0-beta2",
3315
- "eventsource-parser": "^1.1.2",
3316
- "robot3": "^0.4.1",
3317
- "uuid-random": "^1.3.2"
3318
- },
3319
- "engines": {
3320
- "node": ">=18.0.0"
3321
- }
3322
- },
3323
- "node_modules/@ffmpeg/ffmpeg": {
3324
- "version": "0.12.10",
3325
- "resolved": "https://registry.npmjs.org/@ffmpeg/ffmpeg/-/ffmpeg-0.12.10.tgz",
3326
- "integrity": "sha512-lVtk8PW8e+NUzGZhPTWj2P1J4/NyuCrbDD3O9IGpSeLYtUZKBqZO8CNj1WYGghep/MXoM8e1qVY1GztTkf8YYQ==",
3327
- "dependencies": {
3328
- "@ffmpeg/types": "^0.12.2"
3329
- },
3330
- "engines": {
3331
- "node": ">=18.x"
3332
- }
3333
- },
3334
- "node_modules/@ffmpeg/types": {
3335
- "version": "0.12.2",
3336
- "resolved": "https://registry.npmjs.org/@ffmpeg/types/-/types-0.12.2.tgz",
3337
- "integrity": "sha512-NJtxwPoLb60/z1Klv0ueshguWQ/7mNm106qdHkB4HL49LXszjhjCCiL+ldHJGQ9ai2Igx0s4F24ghigy//ERdA==",
3338
- "engines": {
3339
- "node": ">=16.x"
3340
- }
3341
- },
3342
- "node_modules/@ffmpeg/util": {
3343
- "version": "0.12.1",
3344
- "resolved": "https://registry.npmjs.org/@ffmpeg/util/-/util-0.12.1.tgz",
3345
- "integrity": "sha512-10jjfAKWaDyb8+nAkijcsi9wgz/y26LOc1NKJradNMyCIl6usQcBbhkjX5qhALrSBcOy6TOeksunTYa+a03qNQ==",
3346
- "engines": {
3347
- "node": ">=18.x"
3348
- }
3349
- },
3350
- "node_modules/@floating-ui/core": {
3351
- "version": "1.6.5",
3352
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz",
3353
- "integrity": "sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==",
3354
- "dependencies": {
3355
- "@floating-ui/utils": "^0.2.5"
3356
  }
3357
  },
3358
  "node_modules/@floating-ui/dom": {
@@ -3405,484 +3044,96 @@
3405
  "engines": {
3406
  "node": ">=18.0.0"
3407
  }
3408
- },
3409
- "node_modules/@huggingface/hub": {
3410
- "version": "0.15.1",
3411
- "resolved": "https://registry.npmjs.org/@huggingface/hub/-/hub-0.15.1.tgz",
3412
- "integrity": "sha512-uHb4aFkJDoGfLeRHfFTjkI36Z8IV6Z1c+KzhMDqUSC56opyr7Mn1Nsx7Rri/C7KDwROhQfBp/fOOqqjTzn6Cgg==",
3413
- "dependencies": {
3414
- "@huggingface/tasks": "^0.10.6",
3415
- "hash-wasm": "^4.9.0"
3416
- },
3417
- "engines": {
3418
- "node": ">=18"
3419
- }
3420
- },
3421
- "node_modules/@huggingface/inference": {
3422
- "version": "2.8.0",
3423
- "resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-2.8.0.tgz",
3424
- "integrity": "sha512-Ti681P1qckcCAqgzmL53jBnluPuZGelmMIuXNjgAwC5+RIjF4S0SDQu6oy44ZTwekwNp2ETaZ2sXsOk+45aC4w==",
3425
- "dependencies": {
3426
- "@huggingface/tasks": "^0.11.2"
3427
- },
3428
- "engines": {
3429
- "node": ">=18"
3430
- }
3431
- },
3432
- "node_modules/@huggingface/inference/node_modules/@huggingface/tasks": {
3433
- "version": "0.11.3",
3434
- "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.3.tgz",
3435
- "integrity": "sha512-IYq4OdlySdscjkFwm6iIqP1ZgKl4OGhvQFJWI7Yxpq2V8RmXcgIjiqk/65S6Ap7i+eyCdlOC4qweVy/ICNE0JA=="
3436
- },
3437
- "node_modules/@huggingface/jinja": {
3438
- "version": "0.2.2",
3439
- "resolved": "https://registry.npmjs.org/@huggingface/jinja/-/jinja-0.2.2.tgz",
3440
- "integrity": "sha512-/KPde26khDUIPkTGU82jdtTW9UAuvUTumCAbFs/7giR0SxsvZC4hru51PBvpijH6BVkHcROcvZM/lpy5h1jRRA==",
3441
- "engines": {
3442
- "node": ">=18"
3443
- }
3444
- },
3445
- "node_modules/@huggingface/tasks": {
3446
- "version": "0.10.22",
3447
- "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.10.22.tgz",
3448
- "integrity": "sha512-sCtp+A6sq6NXoUU7NXuXWoVNNjKddk1GTQIh3cJ6illF8S4zmFoerCVRvFf19BdgICGvF+RVZiv9sGGK9KRDTg=="
3449
- },
3450
- "node_modules/@humanwhocodes/config-array": {
3451
- "version": "0.11.14",
3452
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
3453
- "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
3454
- "deprecated": "Use @eslint/config-array instead",
3455
- "dev": true,
3456
- "dependencies": {
3457
- "@humanwhocodes/object-schema": "^2.0.2",
3458
- "debug": "^4.3.1",
3459
- "minimatch": "^3.0.5"
3460
- },
3461
- "engines": {
3462
- "node": ">=10.10.0"
3463
- }
3464
- },
3465
- "node_modules/@humanwhocodes/module-importer": {
3466
- "version": "1.0.1",
3467
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
3468
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
3469
- "dev": true,
3470
- "engines": {
3471
- "node": ">=12.22"
3472
- },
3473
- "funding": {
3474
- "type": "github",
3475
- "url": "https://github.com/sponsors/nzakas"
3476
- }
3477
- },
3478
- "node_modules/@humanwhocodes/object-schema": {
3479
- "version": "2.0.3",
3480
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
3481
- "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
3482
- "deprecated": "Use @eslint/object-schema instead",
3483
- "dev": true
3484
- },
3485
- "node_modules/@img/sharp-darwin-arm64": {
3486
- "version": "0.33.4",
3487
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz",
3488
- "integrity": "sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==",
3489
- "cpu": [
3490
- "arm64"
3491
- ],
3492
- "optional": true,
3493
- "os": [
3494
- "darwin"
3495
- ],
3496
- "engines": {
3497
- "glibc": ">=2.26",
3498
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3499
- "npm": ">=9.6.5",
3500
- "pnpm": ">=7.1.0",
3501
- "yarn": ">=3.2.0"
3502
- },
3503
- "funding": {
3504
- "url": "https://opencollective.com/libvips"
3505
- },
3506
- "optionalDependencies": {
3507
- "@img/sharp-libvips-darwin-arm64": "1.0.2"
3508
- }
3509
- },
3510
- "node_modules/@img/sharp-darwin-x64": {
3511
- "version": "0.33.4",
3512
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.4.tgz",
3513
- "integrity": "sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==",
3514
- "cpu": [
3515
- "x64"
3516
- ],
3517
- "optional": true,
3518
- "os": [
3519
- "darwin"
3520
- ],
3521
- "engines": {
3522
- "glibc": ">=2.26",
3523
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3524
- "npm": ">=9.6.5",
3525
- "pnpm": ">=7.1.0",
3526
- "yarn": ">=3.2.0"
3527
- },
3528
- "funding": {
3529
- "url": "https://opencollective.com/libvips"
3530
- },
3531
- "optionalDependencies": {
3532
- "@img/sharp-libvips-darwin-x64": "1.0.2"
3533
- }
3534
- },
3535
- "node_modules/@img/sharp-libvips-darwin-arm64": {
3536
- "version": "1.0.2",
3537
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.2.tgz",
3538
- "integrity": "sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==",
3539
- "cpu": [
3540
- "arm64"
3541
- ],
3542
- "optional": true,
3543
- "os": [
3544
- "darwin"
3545
- ],
3546
- "engines": {
3547
- "macos": ">=11",
3548
- "npm": ">=9.6.5",
3549
- "pnpm": ">=7.1.0",
3550
- "yarn": ">=3.2.0"
3551
- },
3552
- "funding": {
3553
- "url": "https://opencollective.com/libvips"
3554
- }
3555
- },
3556
- "node_modules/@img/sharp-libvips-darwin-x64": {
3557
- "version": "1.0.2",
3558
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.2.tgz",
3559
- "integrity": "sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==",
3560
- "cpu": [
3561
- "x64"
3562
- ],
3563
- "optional": true,
3564
- "os": [
3565
- "darwin"
3566
- ],
3567
- "engines": {
3568
- "macos": ">=10.13",
3569
- "npm": ">=9.6.5",
3570
- "pnpm": ">=7.1.0",
3571
- "yarn": ">=3.2.0"
3572
- },
3573
- "funding": {
3574
- "url": "https://opencollective.com/libvips"
3575
- }
3576
- },
3577
- "node_modules/@img/sharp-libvips-linux-arm": {
3578
- "version": "1.0.2",
3579
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.2.tgz",
3580
- "integrity": "sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==",
3581
- "cpu": [
3582
- "arm"
3583
- ],
3584
- "optional": true,
3585
- "os": [
3586
- "linux"
3587
- ],
3588
- "engines": {
3589
- "glibc": ">=2.28",
3590
- "npm": ">=9.6.5",
3591
- "pnpm": ">=7.1.0",
3592
- "yarn": ">=3.2.0"
3593
- },
3594
- "funding": {
3595
- "url": "https://opencollective.com/libvips"
3596
- }
3597
- },
3598
- "node_modules/@img/sharp-libvips-linux-arm64": {
3599
- "version": "1.0.2",
3600
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.2.tgz",
3601
- "integrity": "sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==",
3602
- "cpu": [
3603
- "arm64"
3604
- ],
3605
- "optional": true,
3606
- "os": [
3607
- "linux"
3608
- ],
3609
- "engines": {
3610
- "glibc": ">=2.26",
3611
- "npm": ">=9.6.5",
3612
- "pnpm": ">=7.1.0",
3613
- "yarn": ">=3.2.0"
3614
- },
3615
- "funding": {
3616
- "url": "https://opencollective.com/libvips"
3617
- }
3618
- },
3619
- "node_modules/@img/sharp-libvips-linux-s390x": {
3620
- "version": "1.0.2",
3621
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.2.tgz",
3622
- "integrity": "sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==",
3623
- "cpu": [
3624
- "s390x"
3625
- ],
3626
- "optional": true,
3627
- "os": [
3628
- "linux"
3629
- ],
3630
- "engines": {
3631
- "glibc": ">=2.28",
3632
- "npm": ">=9.6.5",
3633
- "pnpm": ">=7.1.0",
3634
- "yarn": ">=3.2.0"
3635
- },
3636
- "funding": {
3637
- "url": "https://opencollective.com/libvips"
3638
- }
3639
- },
3640
- "node_modules/@img/sharp-libvips-linux-x64": {
3641
- "version": "1.0.2",
3642
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.2.tgz",
3643
- "integrity": "sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==",
3644
- "cpu": [
3645
- "x64"
3646
- ],
3647
- "optional": true,
3648
- "os": [
3649
- "linux"
3650
- ],
3651
- "engines": {
3652
- "glibc": ">=2.26",
3653
- "npm": ">=9.6.5",
3654
- "pnpm": ">=7.1.0",
3655
- "yarn": ">=3.2.0"
3656
- },
3657
- "funding": {
3658
- "url": "https://opencollective.com/libvips"
3659
- }
3660
- },
3661
- "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
3662
- "version": "1.0.2",
3663
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.2.tgz",
3664
- "integrity": "sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==",
3665
- "cpu": [
3666
- "arm64"
3667
- ],
3668
- "optional": true,
3669
- "os": [
3670
- "linux"
3671
- ],
3672
- "engines": {
3673
- "musl": ">=1.2.2",
3674
- "npm": ">=9.6.5",
3675
- "pnpm": ">=7.1.0",
3676
- "yarn": ">=3.2.0"
3677
- },
3678
- "funding": {
3679
- "url": "https://opencollective.com/libvips"
3680
- }
3681
- },
3682
- "node_modules/@img/sharp-libvips-linuxmusl-x64": {
3683
- "version": "1.0.2",
3684
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz",
3685
- "integrity": "sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==",
3686
- "cpu": [
3687
- "x64"
3688
- ],
3689
- "optional": true,
3690
- "os": [
3691
- "linux"
3692
- ],
3693
- "engines": {
3694
- "musl": ">=1.2.2",
3695
- "npm": ">=9.6.5",
3696
- "pnpm": ">=7.1.0",
3697
- "yarn": ">=3.2.0"
3698
- },
3699
- "funding": {
3700
- "url": "https://opencollective.com/libvips"
3701
- }
3702
- },
3703
- "node_modules/@img/sharp-linux-arm": {
3704
- "version": "0.33.4",
3705
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.4.tgz",
3706
- "integrity": "sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==",
3707
- "cpu": [
3708
- "arm"
3709
- ],
3710
- "optional": true,
3711
- "os": [
3712
- "linux"
3713
- ],
3714
- "engines": {
3715
- "glibc": ">=2.28",
3716
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3717
- "npm": ">=9.6.5",
3718
- "pnpm": ">=7.1.0",
3719
- "yarn": ">=3.2.0"
3720
- },
3721
- "funding": {
3722
- "url": "https://opencollective.com/libvips"
3723
- },
3724
- "optionalDependencies": {
3725
- "@img/sharp-libvips-linux-arm": "1.0.2"
3726
- }
3727
- },
3728
- "node_modules/@img/sharp-linux-arm64": {
3729
- "version": "0.33.4",
3730
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.4.tgz",
3731
- "integrity": "sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==",
3732
- "cpu": [
3733
- "arm64"
3734
- ],
3735
- "optional": true,
3736
- "os": [
3737
- "linux"
3738
- ],
3739
- "engines": {
3740
- "glibc": ">=2.26",
3741
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3742
- "npm": ">=9.6.5",
3743
- "pnpm": ">=7.1.0",
3744
- "yarn": ">=3.2.0"
3745
- },
3746
- "funding": {
3747
- "url": "https://opencollective.com/libvips"
3748
- },
3749
- "optionalDependencies": {
3750
- "@img/sharp-libvips-linux-arm64": "1.0.2"
3751
- }
3752
- },
3753
- "node_modules/@img/sharp-linux-s390x": {
3754
- "version": "0.33.4",
3755
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.4.tgz",
3756
- "integrity": "sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==",
3757
- "cpu": [
3758
- "s390x"
3759
- ],
3760
- "optional": true,
3761
- "os": [
3762
- "linux"
3763
- ],
3764
- "engines": {
3765
- "glibc": ">=2.31",
3766
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3767
- "npm": ">=9.6.5",
3768
- "pnpm": ">=7.1.0",
3769
- "yarn": ">=3.2.0"
3770
- },
3771
- "funding": {
3772
- "url": "https://opencollective.com/libvips"
3773
- },
3774
- "optionalDependencies": {
3775
- "@img/sharp-libvips-linux-s390x": "1.0.2"
3776
- }
3777
- },
3778
- "node_modules/@img/sharp-linux-x64": {
3779
- "version": "0.33.4",
3780
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.4.tgz",
3781
- "integrity": "sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==",
3782
- "cpu": [
3783
- "x64"
3784
- ],
3785
- "optional": true,
3786
- "os": [
3787
- "linux"
3788
- ],
3789
- "engines": {
3790
- "glibc": ">=2.26",
3791
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3792
- "npm": ">=9.6.5",
3793
- "pnpm": ">=7.1.0",
3794
- "yarn": ">=3.2.0"
3795
- },
3796
- "funding": {
3797
- "url": "https://opencollective.com/libvips"
3798
- },
3799
- "optionalDependencies": {
3800
- "@img/sharp-libvips-linux-x64": "1.0.2"
3801
- }
3802
- },
3803
- "node_modules/@img/sharp-linuxmusl-arm64": {
3804
- "version": "0.33.4",
3805
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.4.tgz",
3806
- "integrity": "sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==",
3807
- "cpu": [
3808
- "arm64"
3809
- ],
3810
- "optional": true,
3811
- "os": [
3812
- "linux"
3813
- ],
3814
- "engines": {
3815
- "musl": ">=1.2.2",
3816
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3817
- "npm": ">=9.6.5",
3818
- "pnpm": ">=7.1.0",
3819
- "yarn": ">=3.2.0"
3820
  },
3821
- "funding": {
3822
- "url": "https://opencollective.com/libvips"
 
 
 
 
 
 
 
 
3823
  },
3824
- "optionalDependencies": {
3825
- "@img/sharp-libvips-linuxmusl-arm64": "1.0.2"
3826
  }
3827
  },
3828
- "node_modules/@img/sharp-linuxmusl-x64": {
3829
- "version": "0.33.4",
3830
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.4.tgz",
3831
- "integrity": "sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==",
3832
- "cpu": [
3833
- "x64"
3834
- ],
3835
- "optional": true,
3836
- "os": [
3837
- "linux"
3838
- ],
3839
  "engines": {
3840
- "musl": ">=1.2.2",
3841
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3842
- "npm": ">=9.6.5",
3843
- "pnpm": ">=7.1.0",
3844
- "yarn": ">=3.2.0"
3845
- },
3846
- "funding": {
3847
- "url": "https://opencollective.com/libvips"
3848
- },
3849
- "optionalDependencies": {
3850
- "@img/sharp-libvips-linuxmusl-x64": "1.0.2"
3851
  }
3852
  },
3853
- "node_modules/@img/sharp-wasm32": {
3854
- "version": "0.33.4",
3855
- "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.4.tgz",
3856
- "integrity": "sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==",
3857
- "cpu": [
3858
- "wasm32"
3859
- ],
3860
- "optional": true,
 
 
 
3861
  "dependencies": {
3862
- "@emnapi/runtime": "^1.1.1"
 
 
3863
  },
3864
  "engines": {
3865
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3866
- "npm": ">=9.6.5",
3867
- "pnpm": ">=7.1.0",
3868
- "yarn": ">=3.2.0"
 
 
 
 
 
 
3869
  },
3870
  "funding": {
3871
- "url": "https://opencollective.com/libvips"
 
3872
  }
3873
  },
3874
- "node_modules/@img/sharp-win32-ia32": {
 
 
 
 
 
 
 
3875
  "version": "0.33.4",
3876
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.4.tgz",
3877
- "integrity": "sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==",
3878
  "cpu": [
3879
- "ia32"
3880
  ],
3881
  "optional": true,
3882
  "os": [
3883
- "win32"
3884
  ],
3885
  "engines": {
 
3886
  "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3887
  "npm": ">=9.6.5",
3888
  "pnpm": ">=7.1.0",
@@ -3890,21 +3141,24 @@
3890
  },
3891
  "funding": {
3892
  "url": "https://opencollective.com/libvips"
 
 
 
3893
  }
3894
  },
3895
- "node_modules/@img/sharp-win32-x64": {
3896
- "version": "0.33.4",
3897
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.4.tgz",
3898
- "integrity": "sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==",
3899
  "cpu": [
3900
- "x64"
3901
  ],
3902
  "optional": true,
3903
  "os": [
3904
- "win32"
3905
  ],
3906
  "engines": {
3907
- "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3908
  "npm": ">=9.6.5",
3909
  "pnpm": ">=7.1.0",
3910
  "yarn": ">=3.2.0"
@@ -6495,32 +5749,6 @@
6495
  "url": "https://github.com/chalk/strip-ansi?sponsor=1"
6496
  }
6497
  },
6498
- "node_modules/@rollup/rollup-android-arm-eabi": {
6499
- "version": "4.19.0",
6500
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz",
6501
- "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==",
6502
- "cpu": [
6503
- "arm"
6504
- ],
6505
- "dev": true,
6506
- "optional": true,
6507
- "os": [
6508
- "android"
6509
- ]
6510
- },
6511
- "node_modules/@rollup/rollup-android-arm64": {
6512
- "version": "4.19.0",
6513
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz",
6514
- "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==",
6515
- "cpu": [
6516
- "arm64"
6517
- ],
6518
- "dev": true,
6519
- "optional": true,
6520
- "os": [
6521
- "android"
6522
- ]
6523
- },
6524
  "node_modules/@rollup/rollup-darwin-arm64": {
6525
  "version": "4.19.0",
6526
  "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz",
@@ -6534,175 +5762,6 @@
6534
  "darwin"
6535
  ]
6536
  },
6537
- "node_modules/@rollup/rollup-darwin-x64": {
6538
- "version": "4.19.0",
6539
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz",
6540
- "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==",
6541
- "cpu": [
6542
- "x64"
6543
- ],
6544
- "dev": true,
6545
- "optional": true,
6546
- "os": [
6547
- "darwin"
6548
- ]
6549
- },
6550
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
6551
- "version": "4.19.0",
6552
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz",
6553
- "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==",
6554
- "cpu": [
6555
- "arm"
6556
- ],
6557
- "dev": true,
6558
- "optional": true,
6559
- "os": [
6560
- "linux"
6561
- ]
6562
- },
6563
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
6564
- "version": "4.19.0",
6565
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz",
6566
- "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==",
6567
- "cpu": [
6568
- "arm"
6569
- ],
6570
- "dev": true,
6571
- "optional": true,
6572
- "os": [
6573
- "linux"
6574
- ]
6575
- },
6576
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
6577
- "version": "4.19.0",
6578
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz",
6579
- "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==",
6580
- "cpu": [
6581
- "arm64"
6582
- ],
6583
- "dev": true,
6584
- "optional": true,
6585
- "os": [
6586
- "linux"
6587
- ]
6588
- },
6589
- "node_modules/@rollup/rollup-linux-arm64-musl": {
6590
- "version": "4.19.0",
6591
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz",
6592
- "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==",
6593
- "cpu": [
6594
- "arm64"
6595
- ],
6596
- "dev": true,
6597
- "optional": true,
6598
- "os": [
6599
- "linux"
6600
- ]
6601
- },
6602
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
6603
- "version": "4.19.0",
6604
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz",
6605
- "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==",
6606
- "cpu": [
6607
- "ppc64"
6608
- ],
6609
- "dev": true,
6610
- "optional": true,
6611
- "os": [
6612
- "linux"
6613
- ]
6614
- },
6615
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
6616
- "version": "4.19.0",
6617
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz",
6618
- "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==",
6619
- "cpu": [
6620
- "riscv64"
6621
- ],
6622
- "dev": true,
6623
- "optional": true,
6624
- "os": [
6625
- "linux"
6626
- ]
6627
- },
6628
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
6629
- "version": "4.19.0",
6630
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz",
6631
- "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==",
6632
- "cpu": [
6633
- "s390x"
6634
- ],
6635
- "dev": true,
6636
- "optional": true,
6637
- "os": [
6638
- "linux"
6639
- ]
6640
- },
6641
- "node_modules/@rollup/rollup-linux-x64-gnu": {
6642
- "version": "4.19.0",
6643
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz",
6644
- "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==",
6645
- "cpu": [
6646
- "x64"
6647
- ],
6648
- "dev": true,
6649
- "optional": true,
6650
- "os": [
6651
- "linux"
6652
- ]
6653
- },
6654
- "node_modules/@rollup/rollup-linux-x64-musl": {
6655
- "version": "4.19.0",
6656
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz",
6657
- "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==",
6658
- "cpu": [
6659
- "x64"
6660
- ],
6661
- "dev": true,
6662
- "optional": true,
6663
- "os": [
6664
- "linux"
6665
- ]
6666
- },
6667
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
6668
- "version": "4.19.0",
6669
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz",
6670
- "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==",
6671
- "cpu": [
6672
- "arm64"
6673
- ],
6674
- "dev": true,
6675
- "optional": true,
6676
- "os": [
6677
- "win32"
6678
- ]
6679
- },
6680
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
6681
- "version": "4.19.0",
6682
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz",
6683
- "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==",
6684
- "cpu": [
6685
- "ia32"
6686
- ],
6687
- "dev": true,
6688
- "optional": true,
6689
- "os": [
6690
- "win32"
6691
- ]
6692
- },
6693
- "node_modules/@rollup/rollup-win32-x64-msvc": {
6694
- "version": "4.19.0",
6695
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz",
6696
- "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==",
6697
- "cpu": [
6698
- "x64"
6699
- ],
6700
- "dev": true,
6701
- "optional": true,
6702
- "os": [
6703
- "win32"
6704
- ]
6705
- },
6706
  "node_modules/@rushstack/eslint-patch": {
6707
  "version": "1.10.3",
6708
  "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz",
 
11
  "dependencies": {
12
  "@aitube/broadway": "0.0.22",
13
  "@aitube/clap": "0.0.30",
14
+ "@aitube/clapper-services": "0.0.35",
15
  "@aitube/engine": "0.0.26",
16
+ "@aitube/timeline": "0.0.45",
17
  "@fal-ai/serverless-client": "^0.13.0",
18
  "@ffmpeg/ffmpeg": "^0.12.10",
19
  "@ffmpeg/util": "^0.12.1",
 
161
  }
162
  },
163
  "node_modules/@aitube/clapper-services": {
164
+ "version": "0.0.35",
165
+ "resolved": "https://registry.npmjs.org/@aitube/clapper-services/-/clapper-services-0.0.35.tgz",
166
+ "integrity": "sha512-qI0qj+8tKgv6vbhBvy+RKItITSIHsjdVq6NAuxjNwXYFhxgMFuZpj34gB0AcGH9ZShl7ZEGlqptU3B9pOpqa1A==",
167
  "peerDependencies": {
168
  "@aitube/clap": "0.0.30",
169
+ "@aitube/timeline": "0.0.45",
170
  "@monaco-editor/react": "4.6.0",
171
  "monaco-editor": "0.50.0",
172
  "react": "*",
 
192
  }
193
  },
194
  "node_modules/@aitube/timeline": {
195
+ "version": "0.0.45",
196
+ "resolved": "https://registry.npmjs.org/@aitube/timeline/-/timeline-0.0.45.tgz",
197
+ "integrity": "sha512-5nDn4O7z72WvZeXVAzGn+HjRhKvTpZb4OAnOMmHCpQ5bwaublaVYN1JV8wurgh+KN/N1IQgUbTe2NSQuF9EWkQ==",
198
  "dependencies": {
199
  "date-fns": "^3.6.0",
200
  "react-virtualized-auto-sizer": "^1.0.24"
 
2823
  "node": ">=14.14"
2824
  }
2825
  },
 
 
 
 
 
 
 
 
 
2826
  "node_modules/@emotion/is-prop-valid": {
2827
  "version": "1.3.0",
2828
  "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz",
 
2846
  "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
2847
  "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
2848
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2849
  "node_modules/@esbuild/darwin-arm64": {
2850
  "version": "0.21.5",
2851
  "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
 
2862
  "node": ">=12"
2863
  }
2864
  },
2865
+ "node_modules/@eslint-community/eslint-utils": {
2866
+ "version": "4.4.0",
2867
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
2868
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2869
  "dev": true,
2870
+ "dependencies": {
2871
+ "eslint-visitor-keys": "^3.3.0"
2872
+ },
 
2873
  "engines": {
2874
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2875
+ },
2876
+ "peerDependencies": {
2877
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
2878
  }
2879
  },
2880
+ "node_modules/@eslint-community/regexpp": {
2881
+ "version": "4.11.0",
2882
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
2883
+ "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 
 
 
2884
  "dev": true,
 
 
 
 
2885
  "engines": {
2886
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
2887
  }
2888
  },
2889
+ "node_modules/@eslint/eslintrc": {
2890
+ "version": "2.1.4",
2891
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
2892
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
 
 
 
2893
  "dev": true,
2894
+ "dependencies": {
2895
+ "ajv": "^6.12.4",
2896
+ "debug": "^4.3.2",
2897
+ "espree": "^9.6.0",
2898
+ "globals": "^13.19.0",
2899
+ "ignore": "^5.2.0",
2900
+ "import-fresh": "^3.2.1",
2901
+ "js-yaml": "^4.1.0",
2902
+ "minimatch": "^3.1.2",
2903
+ "strip-json-comments": "^3.1.1"
2904
+ },
2905
  "engines": {
2906
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2907
+ },
2908
+ "funding": {
2909
+ "url": "https://opencollective.com/eslint"
2910
  }
2911
  },
2912
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
2913
+ "version": "13.24.0",
2914
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
2915
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
 
 
 
2916
  "dev": true,
2917
+ "dependencies": {
2918
+ "type-fest": "^0.20.2"
2919
+ },
 
2920
  "engines": {
2921
+ "node": ">=8"
2922
+ },
2923
+ "funding": {
2924
+ "url": "https://github.com/sponsors/sindresorhus"
2925
  }
2926
  },
2927
+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
2928
+ "version": "0.20.2",
2929
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
2930
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
 
 
 
2931
  "dev": true,
 
 
 
 
2932
  "engines": {
2933
+ "node": ">=10"
2934
+ },
2935
+ "funding": {
2936
+ "url": "https://github.com/sponsors/sindresorhus"
2937
  }
2938
  },
2939
+ "node_modules/@eslint/js": {
2940
+ "version": "8.57.0",
2941
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
2942
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
 
 
 
2943
  "dev": true,
 
 
 
 
2944
  "engines": {
2945
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
2946
  }
2947
  },
2948
+ "node_modules/@fal-ai/serverless-client": {
2949
+ "version": "0.13.0",
2950
+ "resolved": "https://registry.npmjs.org/@fal-ai/serverless-client/-/serverless-client-0.13.0.tgz",
2951
+ "integrity": "sha512-Nkb/5YXJIPQHzM79+fRb1LZ1zQLSSvNhDVL2l62sN6/H4XqAWueIOqAAvPF8ds39uSGn8nF1WQV1mt7raVMlWw==",
2952
+ "dependencies": {
2953
+ "@msgpack/msgpack": "^3.0.0-beta2",
2954
+ "eventsource-parser": "^1.1.2",
2955
+ "robot3": "^0.4.1",
2956
+ "uuid-random": "^1.3.2"
2957
+ },
 
 
2958
  "engines": {
2959
+ "node": ">=18.0.0"
2960
  }
2961
  },
2962
+ "node_modules/@ffmpeg/ffmpeg": {
2963
+ "version": "0.12.10",
2964
+ "resolved": "https://registry.npmjs.org/@ffmpeg/ffmpeg/-/ffmpeg-0.12.10.tgz",
2965
+ "integrity": "sha512-lVtk8PW8e+NUzGZhPTWj2P1J4/NyuCrbDD3O9IGpSeLYtUZKBqZO8CNj1WYGghep/MXoM8e1qVY1GztTkf8YYQ==",
2966
+ "dependencies": {
2967
+ "@ffmpeg/types": "^0.12.2"
2968
+ },
 
 
 
 
 
2969
  "engines": {
2970
+ "node": ">=18.x"
2971
  }
2972
  },
2973
+ "node_modules/@ffmpeg/types": {
2974
+ "version": "0.12.2",
2975
+ "resolved": "https://registry.npmjs.org/@ffmpeg/types/-/types-0.12.2.tgz",
2976
+ "integrity": "sha512-NJtxwPoLb60/z1Klv0ueshguWQ/7mNm106qdHkB4HL49LXszjhjCCiL+ldHJGQ9ai2Igx0s4F24ghigy//ERdA==",
 
 
 
 
 
 
 
 
2977
  "engines": {
2978
+ "node": ">=16.x"
2979
  }
2980
  },
2981
+ "node_modules/@ffmpeg/util": {
2982
+ "version": "0.12.1",
2983
+ "resolved": "https://registry.npmjs.org/@ffmpeg/util/-/util-0.12.1.tgz",
2984
+ "integrity": "sha512-10jjfAKWaDyb8+nAkijcsi9wgz/y26LOc1NKJradNMyCIl6usQcBbhkjX5qhALrSBcOy6TOeksunTYa+a03qNQ==",
 
 
 
 
 
 
 
 
2985
  "engines": {
2986
+ "node": ">=18.x"
2987
  }
2988
  },
2989
+ "node_modules/@floating-ui/core": {
2990
+ "version": "1.6.5",
2991
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.5.tgz",
2992
+ "integrity": "sha512-8GrTWmoFhm5BsMZOTHeGD2/0FLKLQQHvO/ZmQga4tKempYRLz8aqJGqXVuQgisnMObq2YZ2SgkwctN1LOOxcqA==",
2993
+ "dependencies": {
2994
+ "@floating-ui/utils": "^0.2.5"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2995
  }
2996
  },
2997
  "node_modules/@floating-ui/dom": {
 
3044
  "engines": {
3045
  "node": ">=18.0.0"
3046
  }
3047
+ },
3048
+ "node_modules/@huggingface/hub": {
3049
+ "version": "0.15.1",
3050
+ "resolved": "https://registry.npmjs.org/@huggingface/hub/-/hub-0.15.1.tgz",
3051
+ "integrity": "sha512-uHb4aFkJDoGfLeRHfFTjkI36Z8IV6Z1c+KzhMDqUSC56opyr7Mn1Nsx7Rri/C7KDwROhQfBp/fOOqqjTzn6Cgg==",
3052
+ "dependencies": {
3053
+ "@huggingface/tasks": "^0.10.6",
3054
+ "hash-wasm": "^4.9.0"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3055
  },
3056
+ "engines": {
3057
+ "node": ">=18"
3058
+ }
3059
+ },
3060
+ "node_modules/@huggingface/inference": {
3061
+ "version": "2.8.0",
3062
+ "resolved": "https://registry.npmjs.org/@huggingface/inference/-/inference-2.8.0.tgz",
3063
+ "integrity": "sha512-Ti681P1qckcCAqgzmL53jBnluPuZGelmMIuXNjgAwC5+RIjF4S0SDQu6oy44ZTwekwNp2ETaZ2sXsOk+45aC4w==",
3064
+ "dependencies": {
3065
+ "@huggingface/tasks": "^0.11.2"
3066
  },
3067
+ "engines": {
3068
+ "node": ">=18"
3069
  }
3070
  },
3071
+ "node_modules/@huggingface/inference/node_modules/@huggingface/tasks": {
3072
+ "version": "0.11.3",
3073
+ "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.3.tgz",
3074
+ "integrity": "sha512-IYq4OdlySdscjkFwm6iIqP1ZgKl4OGhvQFJWI7Yxpq2V8RmXcgIjiqk/65S6Ap7i+eyCdlOC4qweVy/ICNE0JA=="
3075
+ },
3076
+ "node_modules/@huggingface/jinja": {
3077
+ "version": "0.2.2",
3078
+ "resolved": "https://registry.npmjs.org/@huggingface/jinja/-/jinja-0.2.2.tgz",
3079
+ "integrity": "sha512-/KPde26khDUIPkTGU82jdtTW9UAuvUTumCAbFs/7giR0SxsvZC4hru51PBvpijH6BVkHcROcvZM/lpy5h1jRRA==",
 
 
3080
  "engines": {
3081
+ "node": ">=18"
 
 
 
 
 
 
 
 
 
 
3082
  }
3083
  },
3084
+ "node_modules/@huggingface/tasks": {
3085
+ "version": "0.10.22",
3086
+ "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.10.22.tgz",
3087
+ "integrity": "sha512-sCtp+A6sq6NXoUU7NXuXWoVNNjKddk1GTQIh3cJ6illF8S4zmFoerCVRvFf19BdgICGvF+RVZiv9sGGK9KRDTg=="
3088
+ },
3089
+ "node_modules/@humanwhocodes/config-array": {
3090
+ "version": "0.11.14",
3091
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
3092
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
3093
+ "deprecated": "Use @eslint/config-array instead",
3094
+ "dev": true,
3095
  "dependencies": {
3096
+ "@humanwhocodes/object-schema": "^2.0.2",
3097
+ "debug": "^4.3.1",
3098
+ "minimatch": "^3.0.5"
3099
  },
3100
  "engines": {
3101
+ "node": ">=10.10.0"
3102
+ }
3103
+ },
3104
+ "node_modules/@humanwhocodes/module-importer": {
3105
+ "version": "1.0.1",
3106
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
3107
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
3108
+ "dev": true,
3109
+ "engines": {
3110
+ "node": ">=12.22"
3111
  },
3112
  "funding": {
3113
+ "type": "github",
3114
+ "url": "https://github.com/sponsors/nzakas"
3115
  }
3116
  },
3117
+ "node_modules/@humanwhocodes/object-schema": {
3118
+ "version": "2.0.3",
3119
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
3120
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
3121
+ "deprecated": "Use @eslint/object-schema instead",
3122
+ "dev": true
3123
+ },
3124
+ "node_modules/@img/sharp-darwin-arm64": {
3125
  "version": "0.33.4",
3126
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz",
3127
+ "integrity": "sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==",
3128
  "cpu": [
3129
+ "arm64"
3130
  ],
3131
  "optional": true,
3132
  "os": [
3133
+ "darwin"
3134
  ],
3135
  "engines": {
3136
+ "glibc": ">=2.26",
3137
  "node": "^18.17.0 || ^20.3.0 || >=21.0.0",
3138
  "npm": ">=9.6.5",
3139
  "pnpm": ">=7.1.0",
 
3141
  },
3142
  "funding": {
3143
  "url": "https://opencollective.com/libvips"
3144
+ },
3145
+ "optionalDependencies": {
3146
+ "@img/sharp-libvips-darwin-arm64": "1.0.2"
3147
  }
3148
  },
3149
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
3150
+ "version": "1.0.2",
3151
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.2.tgz",
3152
+ "integrity": "sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==",
3153
  "cpu": [
3154
+ "arm64"
3155
  ],
3156
  "optional": true,
3157
  "os": [
3158
+ "darwin"
3159
  ],
3160
  "engines": {
3161
+ "macos": ">=11",
3162
  "npm": ">=9.6.5",
3163
  "pnpm": ">=7.1.0",
3164
  "yarn": ">=3.2.0"
 
5749
  "url": "https://github.com/chalk/strip-ansi?sponsor=1"
5750
  }
5751
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5752
  "node_modules/@rollup/rollup-darwin-arm64": {
5753
  "version": "4.19.0",
5754
  "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz",
 
5762
  "darwin"
5763
  ]
5764
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5765
  "node_modules/@rushstack/eslint-patch": {
5766
  "version": "1.10.3",
5767
  "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz",
package.json CHANGED
@@ -37,9 +37,9 @@
37
  "dependencies": {
38
  "@aitube/broadway": "0.0.22",
39
  "@aitube/clap": "0.0.30",
40
- "@aitube/clapper-services": "0.0.34",
41
  "@aitube/engine": "0.0.26",
42
- "@aitube/timeline": "0.0.44",
43
  "@fal-ai/serverless-client": "^0.13.0",
44
  "@ffmpeg/ffmpeg": "^0.12.10",
45
  "@ffmpeg/util": "^0.12.1",
 
37
  "dependencies": {
38
  "@aitube/broadway": "0.0.22",
39
  "@aitube/clap": "0.0.30",
40
+ "@aitube/clapper-services": "0.0.35",
41
  "@aitube/engine": "0.0.26",
42
+ "@aitube/timeline": "0.0.45",
43
  "@fal-ai/serverless-client": "^0.13.0",
44
  "@ffmpeg/ffmpeg": "^0.12.10",
45
  "@ffmpeg/util": "^0.12.1",
src/app/main.tsx CHANGED
@@ -19,6 +19,7 @@ import { Timeline } from '@/components/core/timeline'
19
  import { ChatView } from '@/components/assistant/ChatView'
20
  import { Editors } from '@/components/editors/Editors'
21
  import { useTheme } from '@/services/ui/useTheme'
 
22
 
23
  type DroppableThing = { files: File[] }
24
 
@@ -76,9 +77,9 @@ function MainContent() {
76
  <ReflexElement minSize={showTimeline ? 100 : 1}>
77
  <ReflexContainer orientation="vertical">
78
  <ReflexElement
79
- size={showTimeline ? 400 : 1}
80
  minSize={showTimeline ? 100 : 1}
81
- maxSize={showTimeline ? 1600 : 1}
82
  >
83
  <Editors />
84
  </ReflexElement>
@@ -95,6 +96,7 @@ function MainContent() {
95
  maxSize={showTimeline ? 1600 : 1}
96
  >
97
  <Timeline />
 
98
  </ReflexElement>
99
  </ReflexContainer>
100
  </ReflexElement>
 
19
  import { ChatView } from '@/components/assistant/ChatView'
20
  import { Editors } from '@/components/editors/Editors'
21
  import { useTheme } from '@/services/ui/useTheme'
22
+ import { BottomToolbar } from '@/components/toolbars/bottom-bar'
23
 
24
  type DroppableThing = { files: File[] }
25
 
 
77
  <ReflexElement minSize={showTimeline ? 100 : 1}>
78
  <ReflexContainer orientation="vertical">
79
  <ReflexElement
80
+ size={showTimeline ? 700 : 1}
81
  minSize={showTimeline ? 100 : 1}
82
+ maxSize={showTimeline ? 2000 : 1}
83
  >
84
  <Editors />
85
  </ReflexElement>
 
96
  maxSize={showTimeline ? 1600 : 1}
97
  >
98
  <Timeline />
99
+ <BottomToolbar />
100
  </ReflexElement>
101
  </ReflexContainer>
102
  </ReflexElement>
src/components/core/timeline/index.tsx CHANGED
@@ -1,7 +1,6 @@
1
  import { useEffect } from 'react'
2
  import { ClapTimeline, useTimeline, SegmentResolver } from '@aitube/timeline'
3
 
4
- import { cn } from '@/lib/utils'
5
  import { useMonitor } from '@/services/monitor/useMonitor'
6
  import { useResolver } from '@/services/resolver/useResolver'
7
  import { useUI } from '@/services/ui'
@@ -49,5 +48,5 @@ export function Timeline() {
49
  togglePlayback,
50
  ])
51
 
52
- return <ClapTimeline showFPS={false} className={cn('bg-[rgb(58,54,50)]')} />
53
  }
 
1
  import { useEffect } from 'react'
2
  import { ClapTimeline, useTimeline, SegmentResolver } from '@aitube/timeline'
3
 
 
4
  import { useMonitor } from '@/services/monitor/useMonitor'
5
  import { useResolver } from '@/services/resolver/useResolver'
6
  import { useUI } from '@/services/ui'
 
48
  togglePlayback,
49
  ])
50
 
51
+ return <ClapTimeline showFPS={false} />
52
  }
src/components/monitor/PlayerControls/index.tsx CHANGED
@@ -41,7 +41,7 @@ export function PlayerControls({ className }: { className?: string }) {
41
  >
42
  <Counter
43
  valueInMs={cursorTimestampAtInMs}
44
- color={theme.monitorSecondaryTextColor || theme.defaultTextColor || ''}
45
  />
46
  <div
47
  className={cn(
@@ -78,7 +78,7 @@ export function PlayerControls({ className }: { className?: string }) {
78
  </div>
79
  <Counter
80
  valueInMs={totalDurationInMs}
81
- color={theme.monitorPrimaryTextColor || theme.defaultPrimaryColor || ''}
82
  />
83
  </div>
84
  )
 
41
  >
42
  <Counter
43
  valueInMs={cursorTimestampAtInMs}
44
+ color={theme.monitorPrimaryTextColor || theme.defaultPrimaryColor || ''}
45
  />
46
  <div
47
  className={cn(
 
78
  </div>
79
  <Counter
80
  valueInMs={totalDurationInMs}
81
+ color={theme.monitorSecondaryTextColor || theme.defaultTextColor || ''}
82
  />
83
  </div>
84
  )
src/components/toolbars/bottom-bar/index.tsx ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { cn } from '@/lib/utils'
2
+ import { useTheme } from '@/services/ui/useTheme'
3
+
4
+ import { Metrics } from './metrics'
5
+ import { APP_REVISION } from '@/lib/core/constants'
6
+ import { Tasks } from './tasks'
7
+
8
+ export function BottomToolbar() {
9
+ const theme = useTheme()
10
+
11
+ return (
12
+ <div
13
+ className={cn(
14
+ `absolute bottom-0 flex flex-row`,
15
+ `items-center justify-between`,
16
+ `left-0 right-0 h-7`,
17
+ `px-3`,
18
+ `text-xs font-light text-stone-400`
19
+ )}
20
+ style={{
21
+ borderTop: 'solid 1px rgba(255,255,255,0.3)',
22
+ backgroundColor:
23
+ theme.editorMenuBgColor || theme.defaultBgColor || '#afafaf',
24
+ // borderTopColor: theme.editorTextColor || theme.defaultBorderColor || "#bfbfbf",
25
+ color: theme.editorTextColor || theme.defaultTextColor || '#ffffff',
26
+ }}
27
+ >
28
+ <div className="flex flex-row space-x-3">
29
+ <div className="flex flex-row space-x-1">
30
+ <span className="text-stone-400/70">app version:</span>
31
+ <span className="text-stone-300/70">{APP_REVISION}</span>
32
+ </div>
33
+
34
+ <Metrics />
35
+ </div>
36
+ <div className="flex flex-row space-x-6">
37
+ <Tasks />
38
+ </div>
39
+ </div>
40
+ )
41
+ }
src/components/toolbars/bottom-bar/metrics/index.tsx ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import usePerformanceMeter from '@/lib/hooks/usePerformanceMeter'
2
+ import { cn } from '@/lib/utils'
3
+
4
+ export function Metrics() {
5
+ const { isAvailable, isMeasuring, bytes, humanReadableString } =
6
+ usePerformanceMeter({
7
+ delayBetweenMeasures: 20,
8
+ })
9
+ console.log('debug:', {
10
+ isAvailable,
11
+ isMeasuring,
12
+ bytes,
13
+ humanReadableString,
14
+ })
15
+
16
+ if (!isAvailable) {
17
+ return null
18
+ }
19
+
20
+ return (
21
+ <div className="flex flex-row space-x-1">
22
+ <span className="text-stone-500">memory usage:</span>
23
+ <span className="text-stone-400">
24
+ {!bytes ? 'waiting..' : humanReadableString || ''}
25
+ </span>
26
+ </div>
27
+ )
28
+ }
src/components/toolbars/bottom-bar/tasks/index.tsx ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { TaskStatus, TaskVisibility } from '@aitube/clapper-services'
2
+
3
+ import {
4
+ Popover,
5
+ PopoverContent,
6
+ PopoverTrigger,
7
+ } from '@/components/ui/popover'
8
+ import { cn } from '@/lib/utils'
9
+ import { useTasks } from '@/services'
10
+
11
+ export function Tasks() {
12
+ const { find, tasks } = useTasks()
13
+
14
+ const runningBlockerTasks = find({
15
+ status: TaskStatus.RUNNING,
16
+ visibility: TaskVisibility.BLOCKER,
17
+ })
18
+ const runningBackgroundTasks = find({
19
+ status: TaskStatus.RUNNING,
20
+ visibility: TaskVisibility.BACKGROUND,
21
+ })
22
+
23
+ const nbRunningBackgroundTasks = runningBackgroundTasks.length
24
+ const hasRunningBackgroundTasks = nbRunningBackgroundTasks > 0
25
+ const currentRunningBackgroundTaskProgress =
26
+ runningBackgroundTasks[0]?.progress || 0
27
+
28
+ const nbRunningBlockerTasks = runningBlockerTasks.length
29
+ const hasRunningBlockerTasks = nbRunningBlockerTasks > 0
30
+ const currentRunningBlockerTaskProgress =
31
+ runningBlockerTasks[0]?.progress || 0
32
+
33
+ return (
34
+ <div className={cn(``)}>
35
+ <Popover>
36
+ <PopoverTrigger>
37
+ {nbRunningBackgroundTasks || 'no'} pending tasks
38
+ </PopoverTrigger>
39
+ <PopoverContent>
40
+ <div className={cn(`flex flex-col text-xs font-light`)}>
41
+ {runningBackgroundTasks.map((task) => {
42
+ return (
43
+ <div className="flex flex-row" key={task.id}>
44
+ <div>{task.status}</div>
45
+ <div>{task.priority}</div>
46
+ <div>{task.category}</div>
47
+ <div>{task.progress}%</div>
48
+ </div>
49
+ )
50
+ })}
51
+ </div>
52
+ </PopoverContent>
53
+ </Popover>
54
+ </div>
55
+ )
56
+ }
src/components/toolbars/top-menu/file/index.tsx CHANGED
@@ -18,6 +18,7 @@ import { useOpenFilePicker, useQueryStringParams } from '@/lib/hooks'
18
  import { IframeWarning } from '@/components/dialogs/iframe-warning'
19
  import { useIO, useUI } from '@/services'
20
  import { newClap } from '@aitube/clap'
 
21
 
22
  export function TopMenuFile() {
23
  const { clapUrl } = useQueryStringParams({
@@ -98,6 +99,15 @@ export function TopMenuFile() {
98
  <MenubarSub>
99
  <MenubarSubTrigger>Import an example</MenubarSubTrigger>
100
  <MenubarSubContent>
 
 
 
 
 
 
 
 
 
101
  <MenubarItem
102
  onClick={() => {
103
  openClapUrl('/samples/claps/wasteland.clap')
 
18
  import { IframeWarning } from '@/components/dialogs/iframe-warning'
19
  import { useIO, useUI } from '@/services'
20
  import { newClap } from '@aitube/clap'
21
+ import { getDemoGame } from '@/experiments/samples/demo'
22
 
23
  export function TopMenuFile() {
24
  const { clapUrl } = useQueryStringParams({
 
99
  <MenubarSub>
100
  <MenubarSubTrigger>Import an example</MenubarSubTrigger>
101
  <MenubarSubContent>
102
+ {hasBetaAccess && (
103
+ <MenubarItem
104
+ onClick={() => {
105
+ setClap(getDemoGame())
106
+ }}
107
+ >
108
+ (secret demo)
109
+ </MenubarItem>
110
+ )}
111
  <MenubarItem
112
  onClick={() => {
113
  openClapUrl('/samples/claps/wasteland.clap')
src/components/toolbars/top-menu/index.tsx CHANGED
@@ -49,7 +49,6 @@ export function TopMenu() {
49
  {
50
  // clap?.meta?.title || "Untitled"
51
  }
52
- <span className="text-stone-500">{APP_REVISION}</span>
53
  </div>
54
  </Menubar>
55
  )
 
49
  {
50
  // clap?.meta?.title || "Untitled"
51
  }
 
52
  </div>
53
  </Menubar>
54
  )
src/experiments/samples/demo.ts ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import {
2
+ ClapProject,
3
+ ClapSegment,
4
+ ClapSegmentCategory,
5
+ newClap,
6
+ newSegment,
7
+ } from '@aitube/clap'
8
+
9
+ export async function getDemoGame() {
10
+ const demo: ClapProject = newClap({
11
+ meta: {
12
+ title: 'Demo Game',
13
+ isInteractive: true,
14
+ // isLoop: true,
15
+ },
16
+ })
17
+
18
+ const startTimeInMs = 0
19
+
20
+ // 1 hour session
21
+ const endTimeInMs = 60 * 60 * 1000
22
+
23
+ const defaultMessage: ClapSegment = newSegment({
24
+ track: 1,
25
+ category: ClapSegmentCategory.INTERFACE,
26
+ prompt: 'Hello world',
27
+ label: 'Hello world',
28
+ startTimeInMs,
29
+ endTimeInMs,
30
+ })
31
+ demo.segments.push(defaultMessage)
32
+
33
+ const aiShouldRespondToMessage: ClapSegment = newSegment({
34
+ track: 2,
35
+ category: ClapSegmentCategory.PHENOMENON,
36
+ prompt: 'When the user asks a question, an assistant will answer',
37
+ label: 'Assistant',
38
+ startTimeInMs,
39
+ endTimeInMs,
40
+ })
41
+ demo.segments.push(aiShouldRespondToMessage)
42
+
43
+ // TODO: experiment with a pong game too
44
+
45
+ return demo
46
+ }
src/lib/core/constants.ts CHANGED
@@ -3,7 +3,7 @@
3
  export const HARD_LIMIT_NB_MAX_ASSETS_TO_GENERATE_IN_PARALLEL = 32
4
 
5
  export const APP_NAME = 'Clapper.app'
6
- export const APP_REVISION = 'r20240722-2258'
7
 
8
  export const APP_DOMAIN = 'Clapper.app'
9
  export const APP_LINK = 'https://clapper.app'
 
3
  export const HARD_LIMIT_NB_MAX_ASSETS_TO_GENERATE_IN_PARALLEL = 32
4
 
5
  export const APP_NAME = 'Clapper.app'
6
+ export const APP_REVISION = '20240723+1632'
7
 
8
  export const APP_DOMAIN = 'Clapper.app'
9
  export const APP_LINK = 'https://clapper.app'
src/lib/hooks/usePerformanceMeter.ts ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useState, useEffect, useCallback } from 'react'
2
+
3
+ interface PerformanceMeterOptions {
4
+ delayBetweenMeasures: number
5
+ }
6
+
7
+ interface PerformanceMeterResult {
8
+ isAvailable: boolean
9
+ isMeasuring: boolean
10
+ bytes: number | null
11
+ humanReadableString: string | null
12
+ }
13
+
14
+ const usePerformanceMeter = ({
15
+ delayBetweenMeasures,
16
+ }: PerformanceMeterOptions): PerformanceMeterResult => {
17
+ const [isAvailable, setIsAvailable] = useState<boolean>(false)
18
+ const [isMeasuring, setIsMeasuring] = useState<boolean>(false)
19
+ const [bytes, setBytes] = useState<number | null>(null)
20
+ const [humanReadableString, setHumanReadableString] = useState<string | null>(
21
+ null
22
+ )
23
+
24
+ const measureMemory = useCallback(async () => {
25
+ if (!isAvailable) return
26
+
27
+ setIsMeasuring(true)
28
+ try {
29
+ const result = await (performance as any).measureUserAgentSpecificMemory()
30
+ setBytes(result.bytes)
31
+ setHumanReadableString(formatBytes(result.bytes))
32
+ } catch (error) {
33
+ console.error('Error measuring memory:', error)
34
+ } finally {
35
+ setIsMeasuring(false)
36
+ }
37
+ }, [isAvailable])
38
+
39
+ useEffect(() => {
40
+ const checkAvailability = () => {
41
+ const available = 'measureUserAgentSpecificMemory' in performance
42
+ setIsAvailable(available)
43
+ return available
44
+ }
45
+
46
+ if (checkAvailability()) {
47
+ measureMemory() // Start measuring immediately
48
+ const intervalId = setInterval(measureMemory, delayBetweenMeasures * 1000)
49
+ return () => clearInterval(intervalId)
50
+ }
51
+ }, [delayBetweenMeasures, measureMemory])
52
+
53
+ const formatBytes = (bytes: number): string => {
54
+ if (bytes === 0) return '0 Bytes'
55
+ const k = 1024
56
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']
57
+ const i = Math.floor(Math.log(bytes) / Math.log(k))
58
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]
59
+ }
60
+
61
+ return { isAvailable, isMeasuring, bytes, humanReadableString }
62
+ }
63
+
64
+ export default usePerformanceMeter
src/services/ui/theme.ts CHANGED
@@ -108,7 +108,7 @@ export const backstage: UITheme = {
108
  lineColor: '#B3B3B3',
109
  },
110
  grid: {
111
- backgroundColor: '#27272A',
112
  },
113
  cell: {
114
  categoryColors: baseClapSegmentCategoryColors,
@@ -172,7 +172,7 @@ export const midnight: UITheme = {
172
  lineColor: '#B3B3B3',
173
  },
174
  grid: {
175
- backgroundColor: '#27372A',
176
  },
177
  cell: {
178
  categoryColors: baseClapSegmentCategoryColors,
@@ -235,7 +235,7 @@ export const lavender: UITheme = {
235
  lineColor: '#B3B3B3',
236
  },
237
  grid: {
238
- backgroundColor: '#27272A',
239
  },
240
  cell: {
241
  categoryColors: baseClapSegmentCategoryColors,
@@ -288,17 +288,17 @@ export const flix: UITheme = {
288
  assistantRobotTextColor: '#e0e7ff',
289
  timeline: {
290
  topBarTimeScale: {
291
- backgroundColor: 'rgb(90,80,80)',
292
  textColor: '#ffffff',
293
  lineColor: '#E6E6E6',
294
  },
295
  leftBarTrackScale: {
296
- backgroundColor: 'rgb(90,80,80)',
297
  textColor: '#ffffff',
298
  lineColor: '#B3B3B3',
299
  },
300
  grid: {
301
- backgroundColor: '#27272A',
302
  },
303
  cell: {
304
  categoryColors: baseClapSegmentCategoryColors,
@@ -362,7 +362,7 @@ export const lore: UITheme = {
362
  lineColor: '#B3B3B3',
363
  },
364
  grid: {
365
- backgroundColor: '#27272A',
366
  },
367
  cell: {
368
  categoryColors: baseClapSegmentCategoryColors,
@@ -394,18 +394,18 @@ export const gordon: UITheme = {
394
  label: 'Gordon',
395
  author: 'Clapper',
396
  description: '',
397
- defaultBgColor: '#424242',
398
  defaultTextColor: '#e0e0e0',
399
  defaultPrimaryColor: '#ff8400',
400
  defaultBorderColor: '#2e2e2e',
401
  logoColor: '#ff8400',
402
- editorBgColor: '#535353',
403
  editorCursorColor: '#ffffff',
404
  editorTextColor: '#e0e0e0',
405
- editorMenuBgColor: '#424242',
406
  editorMenuTextColor: 'e0e0e0',
407
  editorBorderColor: '#2e2e2e',
408
- monitorBgColor: '#424242',
409
  monitorSecondaryTextColor: '#e0e0e0',
410
  monitorPrimaryTextColor: '#ff8400',
411
 
@@ -417,17 +417,17 @@ export const gordon: UITheme = {
417
 
418
  timeline: {
419
  topBarTimeScale: {
420
- backgroundColor: '#6b6b6b',
421
  textColor: '#ffffff',
422
  lineColor: '#808080',
423
  },
424
  leftBarTrackScale: {
425
- backgroundColor: '#6b6b6b',
426
  textColor: '#ffffff',
427
  lineColor: '#808080',
428
  },
429
  grid: {
430
- backgroundColor: '#535353',
431
  },
432
  cell: {
433
  categoryColors: baseClapSegmentCategoryColors,
@@ -716,11 +716,11 @@ export const themes: Record<UIThemeName, UITheme> = {
716
  backstage,
717
  midnight,
718
  lavender,
719
- sandy,
720
  flix,
721
  lore,
722
  gordon,
723
- system360,
724
  silent,
725
  }
726
 
 
108
  lineColor: '#B3B3B3',
109
  },
110
  grid: {
111
+ backgroundColor: '#292524',
112
  },
113
  cell: {
114
  categoryColors: baseClapSegmentCategoryColors,
 
172
  lineColor: '#B3B3B3',
173
  },
174
  grid: {
175
+ backgroundColor: '#101e2d',
176
  },
177
  cell: {
178
  categoryColors: baseClapSegmentCategoryColors,
 
235
  lineColor: '#B3B3B3',
236
  },
237
  grid: {
238
+ backgroundColor: '#211b32',
239
  },
240
  cell: {
241
  categoryColors: baseClapSegmentCategoryColors,
 
288
  assistantRobotTextColor: '#e0e7ff',
289
  timeline: {
290
  topBarTimeScale: {
291
+ backgroundColor: 'rgb(80,80,80)',
292
  textColor: '#ffffff',
293
  lineColor: '#E6E6E6',
294
  },
295
  leftBarTrackScale: {
296
+ backgroundColor: 'rgb(80,80,80)',
297
  textColor: '#ffffff',
298
  lineColor: '#B3B3B3',
299
  },
300
  grid: {
301
+ backgroundColor: '#000000',
302
  },
303
  cell: {
304
  categoryColors: baseClapSegmentCategoryColors,
 
362
  lineColor: '#B3B3B3',
363
  },
364
  grid: {
365
+ backgroundColor: '#151520',
366
  },
367
  cell: {
368
  categoryColors: baseClapSegmentCategoryColors,
 
394
  label: 'Gordon',
395
  author: 'Clapper',
396
  description: '',
397
+ defaultBgColor: '#323232',
398
  defaultTextColor: '#e0e0e0',
399
  defaultPrimaryColor: '#ff8400',
400
  defaultBorderColor: '#2e2e2e',
401
  logoColor: '#ff8400',
402
+ editorBgColor: '#434343',
403
  editorCursorColor: '#ffffff',
404
  editorTextColor: '#e0e0e0',
405
+ editorMenuBgColor: '#323232',
406
  editorMenuTextColor: 'e0e0e0',
407
  editorBorderColor: '#2e2e2e',
408
+ monitorBgColor: '#323232',
409
  monitorSecondaryTextColor: '#e0e0e0',
410
  monitorPrimaryTextColor: '#ff8400',
411
 
 
417
 
418
  timeline: {
419
  topBarTimeScale: {
420
+ backgroundColor: '#7b7b7b',
421
  textColor: '#ffffff',
422
  lineColor: '#808080',
423
  },
424
  leftBarTrackScale: {
425
+ backgroundColor: '#7b7b7b',
426
  textColor: '#ffffff',
427
  lineColor: '#808080',
428
  },
429
  grid: {
430
+ backgroundColor: '#434343',
431
  },
432
  cell: {
433
  categoryColors: baseClapSegmentCategoryColors,
 
716
  backstage,
717
  midnight,
718
  lavender,
719
+ // sandy,
720
  flix,
721
  lore,
722
  gordon,
723
+ // system360,
724
  silent,
725
  }
726