xinference 1.9.1__py3-none-any.whl → 1.10.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of xinference might be problematic. Click here for more details.
- xinference/_version.py +3 -3
- xinference/api/restful_api.py +400 -3
- xinference/client/restful/async_restful_client.py +20 -3
- xinference/client/restful/restful_client.py +20 -3
- xinference/constants.py +2 -0
- xinference/core/supervisor.py +111 -49
- xinference/core/worker.py +10 -0
- xinference/deploy/cmdline.py +15 -0
- xinference/model/audio/core.py +26 -6
- xinference/model/audio/indextts2.py +166 -0
- xinference/model/audio/kokoro.py +1 -1
- xinference/model/audio/kokoro_zh.py +124 -0
- xinference/model/audio/model_spec.json +58 -1
- xinference/model/embedding/sentence_transformers/core.py +4 -4
- xinference/model/embedding/vllm/core.py +7 -1
- xinference/model/image/model_spec.json +71 -3
- xinference/model/image/stable_diffusion/core.py +13 -4
- xinference/model/llm/__init__.py +4 -0
- xinference/model/llm/core.py +10 -0
- xinference/model/llm/llama_cpp/core.py +1 -0
- xinference/model/llm/llm_family.json +503 -21
- xinference/model/llm/llm_family.py +1 -0
- xinference/model/llm/mlx/core.py +52 -33
- xinference/model/llm/sglang/core.py +32 -55
- xinference/model/llm/tool_parsers/__init__.py +58 -0
- xinference/model/llm/tool_parsers/abstract_tool_parser.py +33 -0
- xinference/model/llm/tool_parsers/deepseek_r1_tool_parser.py +190 -0
- xinference/model/llm/tool_parsers/deepseek_v3_tool_parser.py +145 -0
- xinference/model/llm/tool_parsers/glm4_tool_parser.py +123 -0
- xinference/model/llm/tool_parsers/llama3_tool_parser.py +77 -0
- xinference/model/llm/tool_parsers/qwen_tool_parser.py +320 -0
- xinference/model/llm/transformers/core.py +1 -1
- xinference/model/llm/transformers/multimodal/qwen2_vl.py +34 -8
- xinference/model/llm/utils.py +138 -53
- xinference/model/llm/vllm/core.py +95 -78
- xinference/thirdparty/audiotools/__init__.py +10 -0
- xinference/thirdparty/audiotools/core/__init__.py +4 -0
- xinference/thirdparty/audiotools/core/audio_signal.py +1682 -0
- xinference/thirdparty/audiotools/core/display.py +194 -0
- xinference/thirdparty/audiotools/core/dsp.py +390 -0
- xinference/thirdparty/audiotools/core/effects.py +647 -0
- xinference/thirdparty/audiotools/core/ffmpeg.py +211 -0
- xinference/thirdparty/audiotools/core/loudness.py +320 -0
- xinference/thirdparty/audiotools/core/playback.py +252 -0
- xinference/thirdparty/audiotools/core/templates/__init__.py +0 -0
- xinference/thirdparty/audiotools/core/templates/headers.html +322 -0
- xinference/thirdparty/audiotools/core/templates/pandoc.css +407 -0
- xinference/thirdparty/audiotools/core/templates/widget.html +52 -0
- xinference/thirdparty/audiotools/core/util.py +671 -0
- xinference/thirdparty/audiotools/core/whisper.py +97 -0
- xinference/thirdparty/audiotools/data/__init__.py +3 -0
- xinference/thirdparty/audiotools/data/datasets.py +517 -0
- xinference/thirdparty/audiotools/data/preprocess.py +81 -0
- xinference/thirdparty/audiotools/data/transforms.py +1592 -0
- xinference/thirdparty/audiotools/metrics/__init__.py +6 -0
- xinference/thirdparty/audiotools/metrics/distance.py +131 -0
- xinference/thirdparty/audiotools/metrics/quality.py +159 -0
- xinference/thirdparty/audiotools/metrics/spectral.py +247 -0
- xinference/thirdparty/audiotools/ml/__init__.py +5 -0
- xinference/thirdparty/audiotools/ml/accelerator.py +184 -0
- xinference/thirdparty/audiotools/ml/decorators.py +440 -0
- xinference/thirdparty/audiotools/ml/experiment.py +90 -0
- xinference/thirdparty/audiotools/ml/layers/__init__.py +2 -0
- xinference/thirdparty/audiotools/ml/layers/base.py +328 -0
- xinference/thirdparty/audiotools/ml/layers/spectral_gate.py +127 -0
- xinference/thirdparty/audiotools/post.py +140 -0
- xinference/thirdparty/audiotools/preference.py +600 -0
- xinference/thirdparty/indextts/BigVGAN/ECAPA_TDNN.py +656 -0
- xinference/thirdparty/indextts/BigVGAN/__init__.py +0 -0
- xinference/thirdparty/indextts/BigVGAN/activations.py +122 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/__init__.py +0 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/.gitignore +1 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/__init__.py +0 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/activation1d.py +76 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/anti_alias_activation.cpp +23 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/anti_alias_activation_cuda.cu +256 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/compat.h +29 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/load.py +121 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/cuda/type_shim.h +92 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/torch/__init__.py +6 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/torch/act.py +31 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/torch/filter.py +102 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_activation/torch/resample.py +58 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_torch/__init__.py +6 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_torch/act.py +29 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_torch/filter.py +96 -0
- xinference/thirdparty/indextts/BigVGAN/alias_free_torch/resample.py +49 -0
- xinference/thirdparty/indextts/BigVGAN/bigvgan.py +534 -0
- xinference/thirdparty/indextts/BigVGAN/models.py +451 -0
- xinference/thirdparty/indextts/BigVGAN/nnet/CNN.py +546 -0
- xinference/thirdparty/indextts/BigVGAN/nnet/__init__.py +0 -0
- xinference/thirdparty/indextts/BigVGAN/nnet/linear.py +89 -0
- xinference/thirdparty/indextts/BigVGAN/nnet/normalization.py +670 -0
- xinference/thirdparty/indextts/BigVGAN/utils.py +101 -0
- xinference/thirdparty/indextts/__init__.py +0 -0
- xinference/thirdparty/indextts/cli.py +65 -0
- xinference/thirdparty/indextts/gpt/__init__.py +0 -0
- xinference/thirdparty/indextts/gpt/conformer/__init__.py +0 -0
- xinference/thirdparty/indextts/gpt/conformer/attention.py +312 -0
- xinference/thirdparty/indextts/gpt/conformer/embedding.py +163 -0
- xinference/thirdparty/indextts/gpt/conformer/subsampling.py +348 -0
- xinference/thirdparty/indextts/gpt/conformer_encoder.py +520 -0
- xinference/thirdparty/indextts/gpt/model.py +713 -0
- xinference/thirdparty/indextts/gpt/model_v2.py +747 -0
- xinference/thirdparty/indextts/gpt/perceiver.py +317 -0
- xinference/thirdparty/indextts/gpt/transformers_beam_search.py +1013 -0
- xinference/thirdparty/indextts/gpt/transformers_generation_utils.py +4747 -0
- xinference/thirdparty/indextts/gpt/transformers_gpt2.py +1878 -0
- xinference/thirdparty/indextts/gpt/transformers_modeling_utils.py +5525 -0
- xinference/thirdparty/indextts/infer.py +690 -0
- xinference/thirdparty/indextts/infer_v2.py +739 -0
- xinference/thirdparty/indextts/s2mel/dac/__init__.py +16 -0
- xinference/thirdparty/indextts/s2mel/dac/__main__.py +36 -0
- xinference/thirdparty/indextts/s2mel/dac/model/__init__.py +4 -0
- xinference/thirdparty/indextts/s2mel/dac/model/base.py +294 -0
- xinference/thirdparty/indextts/s2mel/dac/model/dac.py +400 -0
- xinference/thirdparty/indextts/s2mel/dac/model/discriminator.py +228 -0
- xinference/thirdparty/indextts/s2mel/dac/model/encodec.py +320 -0
- xinference/thirdparty/indextts/s2mel/dac/nn/__init__.py +3 -0
- xinference/thirdparty/indextts/s2mel/dac/nn/layers.py +33 -0
- xinference/thirdparty/indextts/s2mel/dac/nn/loss.py +368 -0
- xinference/thirdparty/indextts/s2mel/dac/nn/quantize.py +339 -0
- xinference/thirdparty/indextts/s2mel/dac/utils/__init__.py +123 -0
- xinference/thirdparty/indextts/s2mel/dac/utils/decode.py +95 -0
- xinference/thirdparty/indextts/s2mel/dac/utils/encode.py +94 -0
- xinference/thirdparty/indextts/s2mel/hf_utils.py +12 -0
- xinference/thirdparty/indextts/s2mel/modules/alias_free_torch/__init__.py +5 -0
- xinference/thirdparty/indextts/s2mel/modules/alias_free_torch/act.py +29 -0
- xinference/thirdparty/indextts/s2mel/modules/alias_free_torch/filter.py +96 -0
- xinference/thirdparty/indextts/s2mel/modules/alias_free_torch/resample.py +57 -0
- xinference/thirdparty/indextts/s2mel/modules/audio.py +82 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/activations.py +120 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/__init__.py +0 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/activation1d.py +77 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/anti_alias_activation.cpp +23 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/anti_alias_activation_cuda.cu +246 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/compat.h +29 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/load.py +86 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/cuda/type_shim.h +92 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/__init__.py +6 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/act.py +30 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/filter.py +101 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/alias_free_activation/torch/resample.py +58 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/bigvgan.py +492 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/config.json +63 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/env.py +18 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/meldataset.py +354 -0
- xinference/thirdparty/indextts/s2mel/modules/bigvgan/utils.py +99 -0
- xinference/thirdparty/indextts/s2mel/modules/campplus/DTDNN.py +115 -0
- xinference/thirdparty/indextts/s2mel/modules/campplus/classifier.py +70 -0
- xinference/thirdparty/indextts/s2mel/modules/campplus/layers.py +253 -0
- xinference/thirdparty/indextts/s2mel/modules/commons.py +632 -0
- xinference/thirdparty/indextts/s2mel/modules/diffusion_transformer.py +257 -0
- xinference/thirdparty/indextts/s2mel/modules/encodec.py +292 -0
- xinference/thirdparty/indextts/s2mel/modules/flow_matching.py +171 -0
- xinference/thirdparty/indextts/s2mel/modules/gpt_fast/generate.py +436 -0
- xinference/thirdparty/indextts/s2mel/modules/gpt_fast/model.py +360 -0
- xinference/thirdparty/indextts/s2mel/modules/gpt_fast/quantize.py +622 -0
- xinference/thirdparty/indextts/s2mel/modules/hifigan/f0_predictor.py +55 -0
- xinference/thirdparty/indextts/s2mel/modules/hifigan/generator.py +454 -0
- xinference/thirdparty/indextts/s2mel/modules/layers.py +354 -0
- xinference/thirdparty/indextts/s2mel/modules/length_regulator.py +141 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/__init__.py +0 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/api.py +186 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/attentions.py +465 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/checkpoints_v2/converter/config.json +57 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/commons.py +160 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/mel_processing.py +183 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/models.py +499 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/modules.py +598 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/openvoice_app.py +275 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/se_extractor.py +153 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/transforms.py +209 -0
- xinference/thirdparty/indextts/s2mel/modules/openvoice/utils.py +194 -0
- xinference/thirdparty/indextts/s2mel/modules/quantize.py +229 -0
- xinference/thirdparty/indextts/s2mel/modules/rmvpe.py +631 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/__init__.py +4 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/heads.py +164 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/helpers.py +71 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/loss.py +114 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/models.py +118 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/modules.py +213 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/pretrained.py +51 -0
- xinference/thirdparty/indextts/s2mel/modules/vocos/spectral_ops.py +192 -0
- xinference/thirdparty/indextts/s2mel/modules/wavenet.py +174 -0
- xinference/thirdparty/indextts/s2mel/optimizers.py +96 -0
- xinference/thirdparty/indextts/s2mel/wav2vecbert_extract.py +148 -0
- xinference/thirdparty/indextts/utils/__init__.py +0 -0
- xinference/thirdparty/indextts/utils/arch_util.py +120 -0
- xinference/thirdparty/indextts/utils/checkpoint.py +34 -0
- xinference/thirdparty/indextts/utils/common.py +121 -0
- xinference/thirdparty/indextts/utils/feature_extractors.py +50 -0
- xinference/thirdparty/indextts/utils/front.py +536 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/__init__.py +0 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/codec.py +427 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/quantize/__init__.py +11 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/quantize/factorized_vector_quantize.py +150 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/quantize/lookup_free_quantize.py +77 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/quantize/residual_vq.py +177 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/quantize/vector_quantize.py +401 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/amphion_codec/vocos.py +881 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/codec_dataset.py +264 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/codec_inference.py +515 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/codec_sampler.py +126 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/codec_trainer.py +166 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/__init__.py +0 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/__init__.py +5 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/act.py +29 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/filter.py +96 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/alias_free_torch/resample.py +57 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/facodec_dataset.py +98 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/facodec_inference.py +137 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/facodec_trainer.py +776 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/JDC/__init__.py +1 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/JDC/bst.t7 +0 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/JDC/model.py +219 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/attentions.py +437 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/commons.py +331 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/gradient_reversal.py +35 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/layers.py +460 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/quantize.py +741 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/style_encoder.py +110 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/modules/wavenet.py +224 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/facodec/optimizer.py +104 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/kmeans/repcodec_model.py +210 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/kmeans/vocos.py +850 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/melvqgan/melspec.py +108 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/README.md +216 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/__init__.py +6 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/__init__.py +5 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/act.py +29 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/filter.py +96 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/alias_free_torch/resample.py +57 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/facodec.py +1222 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/gradient_reversal.py +35 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/melspec.py +102 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/quantize/__init__.py +7 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/quantize/fvq.py +116 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/quantize/rvq.py +87 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/ns3_codec/transformer.py +234 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/model.py +184 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/__init__.py +27 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/conv.py +346 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/lstm.py +46 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/norm.py +37 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/__init__.py +14 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/ac.py +317 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/core_vq.py +388 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/distrib.py +135 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/quantization/vq.py +125 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/speechtokenizer/modules/seanet.py +414 -0
- xinference/thirdparty/indextts/utils/maskgct/models/codec/vevo/vevo_repcodec.py +592 -0
- xinference/thirdparty/indextts/utils/maskgct/models/tts/maskgct/ckpt/wav2vec2bert_stats.pt +0 -0
- xinference/thirdparty/indextts/utils/maskgct/models/tts/maskgct/llama_nar.py +650 -0
- xinference/thirdparty/indextts/utils/maskgct/models/tts/maskgct/maskgct_s2a.py +503 -0
- xinference/thirdparty/indextts/utils/maskgct_utils.py +259 -0
- xinference/thirdparty/indextts/utils/text_utils.py +41 -0
- xinference/thirdparty/indextts/utils/typical_sampling.py +30 -0
- xinference/thirdparty/indextts/utils/utils.py +93 -0
- xinference/thirdparty/indextts/utils/webui_utils.py +42 -0
- xinference/thirdparty/indextts/utils/xtransformers.py +1247 -0
- xinference/thirdparty/indextts/vqvae/__init__.py +0 -0
- xinference/thirdparty/indextts/vqvae/xtts_dvae.py +395 -0
- xinference/types.py +105 -2
- xinference/ui/gradio/media_interface.py +66 -8
- xinference/ui/web/ui/build/asset-manifest.json +6 -6
- xinference/ui/web/ui/build/index.html +1 -1
- xinference/ui/web/ui/build/static/css/main.5ea97072.css +2 -0
- xinference/ui/web/ui/build/static/css/main.5ea97072.css.map +1 -0
- xinference/ui/web/ui/build/static/js/main.d192c4f3.js +3 -0
- xinference/ui/web/ui/build/static/js/{main.1086c759.js.LICENSE.txt → main.d192c4f3.js.LICENSE.txt} +0 -7
- xinference/ui/web/ui/build/static/js/main.d192c4f3.js.map +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/089c38df5f52348d212ed868dda5c518a42e0c2762caed4175487c0405830c35.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/2b6e3a5b6eb2c5c5f2d007e68cd46c372721cd52bf63508adcdb21ecf79241d8.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/2d887825fd07a56f872eda4420da25fba0b5b62a23bdcc6c6da1a5281887f618.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/4001f9c3e64e73a4f2158826650c174a59d5e3f89ddecddf17cbb6bb688cc4ca.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/4a7018a69e6b7f90fc313248c2aa86f2a8f1eb1db120df586047a8023549b44b.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/64b12aaa1c1d1bf53820ada8a63769067c0ccc5aab46b32348eb1917ae7f2a11.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/7275b67c78ec76ce38a686bb8a576d8c9cecf54e1573614c84859d538efb9be5.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/a68b6ee3b31eadc051fb95ce8f8ccb9c2e8b52c60f290dbab545a1917e065282.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/ae8771cc37693feb160fa8727231312a0c54ef2d1d1ca893be568cd70016ca7e.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/bb4e8722d2d41d87f1fce3661bc8937bffe9448e231fc5f0462630849e851592.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/be6aada1ee4adc2bbf65dbe56d17db32bb3b5478be05d6b527805a8ba6cfb2b9.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/de91c352653c233cf0cb6674e6e04049a44fd0e1156560de65d5c4620521391e.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/e85f7002fc325c83b9c9cd8a1619e5b3ebc701d30e811afc284b88e6ae710cb5.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/e8b603c78944bf3d213639078bfe155ff5c0dfa4048a93cbb967cad6a4eb4ff3.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/f05535160a508b2a312de546a6de234776c613db276479ea4253c0b1bdeeb7d6.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/f09ba9e11106bd59a0de10cc85c55084097729dcab575f43dfcf07375961ed87.json +1 -0
- xinference/ui/web/ui/node_modules/.cache/babel-loader/f995a2425dfb0822fd07127f66ffe9b026883bc156b402eb8bd0b83d52460a93.json +1 -0
- xinference/ui/web/ui/node_modules/.package-lock.json +0 -33
- xinference/ui/web/ui/package-lock.json +0 -34
- xinference/ui/web/ui/package.json +0 -1
- xinference/ui/web/ui/src/locales/en.json +9 -3
- xinference/ui/web/ui/src/locales/ja.json +9 -3
- xinference/ui/web/ui/src/locales/ko.json +9 -3
- xinference/ui/web/ui/src/locales/zh.json +9 -3
- {xinference-1.9.1.dist-info → xinference-1.10.1.dist-info}/METADATA +24 -4
- {xinference-1.9.1.dist-info → xinference-1.10.1.dist-info}/RECORD +302 -76
- xinference/ui/web/ui/build/static/css/main.013f296b.css +0 -2
- xinference/ui/web/ui/build/static/css/main.013f296b.css.map +0 -1
- xinference/ui/web/ui/build/static/js/main.1086c759.js +0 -3
- xinference/ui/web/ui/build/static/js/main.1086c759.js.map +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/0b0f77000cc1b482ca091cfbcae511dfe02f08916971645fad21d0b1234d04a2.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/1c5f8ff423a7c9202bea60b15680f04b1e9964b445b0da3f86c6ff70cf24e797.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/44ce7993e344980e3ed4f13e8f69237d4a5dfc60e37ca6b54f51f8ee1357bd67.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/4aec1cc414ac3ebb3481d3d915e4db597d9127de813291346eacb8554ab170d4.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/644cfec52f3c57a6e222ce60f112237a1efefe9835efd9aad857a685f53d8eed.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/663436f72af53fe0d72394f56d003fa4e0bba489e5bb4e483fd34b00f84637f7.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/69db82ca9bfe27fe417cc6cf2b1716b09be9c6f0cd198530f12bfc60e801bbcf.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/85087e27618d740c236bf159f30e0219db443ab55f0997388eed5fde6f9e90cc.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/88b07838348864aa86c672be3bbca1e9f58f6f3a2881b32070ec27f4e7b449d1.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/8b8cd408ccfbe115acef27ccfa5b233da8597131a2a5712add13e1e4d5d4504b.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/a23824fe746b9c6ca5eee9159b5764d1ff1653c1d856288c0f75c742bbb0023b.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/a3eb18af328280b139693c9092dff2a0ef8c9a967e6c8956ceee0996611f1984.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/bc1aacc65a102db325ca61bcd2f681e1ae22c36a1f1d98a6ff5e4ad49dc7544f.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/c682fd521747c19dae437d83ce3235a306ce6b68e24a117bc57c27ebb8d1f1ca.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/d5c224be7081f18cba1678b7874a9782eba895df004874ff8f243f94ba79942a.json +0 -1
- xinference/ui/web/ui/node_modules/.cache/babel-loader/f7f18bfb539b036a6a342176dd98a85df5057a884a8da978d679f2a0264883d0.json +0 -1
- xinference/ui/web/ui/node_modules/clipboard/.babelrc.json +0 -11
- xinference/ui/web/ui/node_modules/clipboard/.eslintrc.json +0 -24
- xinference/ui/web/ui/node_modules/clipboard/.prettierrc.json +0 -9
- xinference/ui/web/ui/node_modules/clipboard/bower.json +0 -18
- xinference/ui/web/ui/node_modules/clipboard/composer.json +0 -25
- xinference/ui/web/ui/node_modules/clipboard/package.json +0 -63
- xinference/ui/web/ui/node_modules/delegate/package.json +0 -31
- xinference/ui/web/ui/node_modules/good-listener/bower.json +0 -11
- xinference/ui/web/ui/node_modules/good-listener/package.json +0 -35
- xinference/ui/web/ui/node_modules/select/bower.json +0 -13
- xinference/ui/web/ui/node_modules/select/package.json +0 -29
- xinference/ui/web/ui/node_modules/tiny-emitter/package.json +0 -53
- {xinference-1.9.1.dist-info → xinference-1.10.1.dist-info}/WHEEL +0 -0
- {xinference-1.9.1.dist-info → xinference-1.10.1.dist-info}/entry_points.txt +0 -0
- {xinference-1.9.1.dist-info → xinference-1.10.1.dist-info}/licenses/LICENSE +0 -0
- {xinference-1.9.1.dist-info → xinference-1.10.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _slicedToArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{Close,Delete}from'@mui/icons-material';import{Box,Dialog,DialogContent,DialogTitle,IconButton,Paper,Table,TableBody,TableCell,TableContainer,TableHead,TablePagination,TableRow,Tooltip}from'@mui/material';import{styled}from'@mui/material/styles';import React,{useContext,useEffect,useState}from'react';import{useTranslation}from'react-i18next';import{ApiContext}from'../../../components/apiContext';import CopyComponent from'../../../components/copyComponent';import DeleteDialog from'../../../components/deleteDialog';import fetchWrapper from'../../../components/fetchWrapper';import{jsx as _jsx}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var EditCustomModel=function EditCustomModel(_ref){var open=_ref.open,modelData=_ref.modelData,modelType=_ref.modelType,onClose=_ref.onClose,onUpdate=_ref.onUpdate;var _useTranslation=useTranslation(),t=_useTranslation.t;var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _useState=useState([]),_useState2=_slicedToArray(_useState,2),cachedListArr=_useState2[0],setCachedListArr=_useState2[1];var _useState3=useState(0),_useState4=_slicedToArray(_useState3,2),page=_useState4[0],setPage=_useState4[1];var _useState5=useState(false),_useState6=_slicedToArray(_useState5,2),isDeleteCached=_useState6[0],setIsDeleteCached=_useState6[1];var _useState7=useState(''),_useState8=_slicedToArray(_useState7,2),cachedModelVersion=_useState8[0],setCachedModelVersion=_useState8[1];var StyledTableRow=styled(TableRow)(function(_ref2){var theme=_ref2.theme;return{'&:nth-of-type(odd)':{backgroundColor:theme.palette.action.hover}};});var emptyRows=page>=0?Math.max(0,(1+page)*5-cachedListArr.length):0;var getCachedList=function getCachedList(){fetchWrapper.get(\"/v1/cache/models?model_name=\".concat(modelData.model_name)).then(function(data){setCachedListArr(data.list);if(page!==0&&data.list.length&&(page+1)*5>=data.list.length&&data.list.length%5===0){setPage(data.list.length/5-1);}}).catch(function(error){console.error(error);if(error.response.status!==403){setErrorMsg(error.message);}});};var handleDeleteCached=function handleDeleteCached(){fetchWrapper.delete(\"/v1/cache/models?model_version=\".concat(cachedModelVersion)).then(function(){getCachedList();setIsDeleteCached(false);}).catch(function(error){console.error(error);if(error.response.status!==403){setErrorMsg(error.message);}});};var handleChangePage=function handleChangePage(_,newPage){setPage(newPage);};var handleOpenDeleteCachedDialog=function handleOpenDeleteCachedDialog(model_version){setCachedModelVersion(model_version);setIsDeleteCached(true);};var handleCloseCachedList=function handleCloseCachedList(){onClose();onUpdate();};useEffect(function(){if(open)getCachedList();},[open]);return/*#__PURE__*/_jsxs(Dialog,{open:open,onClose:onClose,maxWidth:\"xl\",\"aria-labelledby\":\"alert-dialog-title\",\"aria-describedby\":\"alert-dialog-description\",children:[/*#__PURE__*/_jsx(DialogTitle,{sx:{m:0,p:2},id:\"customized-dialog-title\",children:modelData.model_name}),/*#__PURE__*/_jsx(Box,{sx:function sx(theme){return{position:'absolute',right:8,top:8,color:theme.palette.grey[500]};},children:/*#__PURE__*/_jsx(Close,{style:{cursor:'pointer'},onClick:handleCloseCachedList})}),/*#__PURE__*/_jsxs(DialogContent,{children:[/*#__PURE__*/_jsx(TableContainer,{component:Paper,children:/*#__PURE__*/_jsxs(Table,{sx:{minWidth:500},style:{height:'500px',width:'100%'},stickyHeader:true,\"aria-label\":\"simple pagination table\",children:[/*#__PURE__*/_jsx(TableHead,{children:/*#__PURE__*/_jsxs(TableRow,{children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:t('launchModel.model_format')}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:t('launchModel.model_size_in_billions')}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:t('launchModel.quantizations')})]}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:192},children:t('launchModel.real_path')}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:46}}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:192},children:t('launchModel.path')}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{width:46}}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",style:{whiteSpace:'nowrap',minWidth:116},children:t('launchModel.ipAddress')}),/*#__PURE__*/_jsx(TableCell,{align:\"left\",children:t('launchModel.operation')})]})}),/*#__PURE__*/_jsxs(TableBody,{style:{position:'relative'},children:[cachedListArr.slice(page*5,page*5+5).map(function(row){return/*#__PURE__*/_jsxs(StyledTableRow,{style:{maxHeight:90},children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TableCell,{component:\"th\",scope:\"row\",children:row.model_format===null?'—':row.model_format}),/*#__PURE__*/_jsx(TableCell,{children:row.model_size_in_billions===null?'—':row.model_size_in_billions}),/*#__PURE__*/_jsx(TableCell,{children:row.quantization===null?'—':row.quantization})]}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(Tooltip,{title:row.real_path,children:/*#__PURE__*/_jsx(\"div\",{className:modelType==='LLM'?'pathBox':'pathBox pathBox2',children:row.real_path})})}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(CopyComponent,{tip:t('launchModel.copyRealPath'),text:row.real_path})}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(Tooltip,{title:row.path,children:/*#__PURE__*/_jsx(\"div\",{className:modelType==='LLM'?'pathBox':'pathBox pathBox2',children:row.path})})}),/*#__PURE__*/_jsx(TableCell,{children:/*#__PURE__*/_jsx(CopyComponent,{tip:t('launchModel.copyPath'),text:row.path})}),/*#__PURE__*/_jsx(TableCell,{children:row.actor_ip_address}),/*#__PURE__*/_jsx(TableCell,{align:modelType==='LLM'?'center':'left',children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"delete\",size:\"large\",onClick:function onClick(){return handleOpenDeleteCachedDialog(row.model_version);},children:/*#__PURE__*/_jsx(Delete,{})})})]},row.model_name);}),emptyRows>0&&/*#__PURE__*/_jsx(TableRow,{style:{height:89.4*emptyRows},children:/*#__PURE__*/_jsx(TableCell,{})}),cachedListArr.length===0&&/*#__PURE__*/_jsx(\"div\",{className:\"empty\",children:t('launchModel.noCacheForNow')})]})]})}),/*#__PURE__*/_jsx(TablePagination,{style:{float:'right'},rowsPerPageOptions:[5],count:cachedListArr.length,rowsPerPage:5,page:page,onPageChange:handleChangePage})]}),/*#__PURE__*/_jsx(DeleteDialog,{text:t('launchModel.confirmDeleteCacheFiles'),isDelete:isDeleteCached,onHandleIsDelete:function onHandleIsDelete(){return setIsDeleteCached(false);},onHandleDelete:handleDeleteCached})]});};export default EditCustomModel;","map":{"version":3,"names":["Close","Delete","Box","Dialog","DialogContent","DialogTitle","IconButton","Paper","Table","TableBody","TableCell","TableContainer","TableHead","TablePagination","TableRow","Tooltip","styled","React","useContext","useEffect","useState","useTranslation","ApiContext","CopyComponent","DeleteDialog","fetchWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EditCustomModel","_ref","open","modelData","modelType","onClose","onUpdate","_useTranslation","t","_useContext","setErrorMsg","_useState","_useState2","_slicedToArray","cachedListArr","setCachedListArr","_useState3","_useState4","page","setPage","_useState5","_useState6","isDeleteCached","setIsDeleteCached","_useState7","_useState8","cachedModelVersion","setCachedModelVersion","StyledTableRow","_ref2","theme","backgroundColor","palette","action","hover","emptyRows","Math","max","length","getCachedList","get","concat","model_name","then","data","list","catch","error","console","response","status","message","handleDeleteCached","delete","handleChangePage","_","newPage","handleOpenDeleteCachedDialog","model_version","handleCloseCachedList","maxWidth","children","sx","m","p","id","position","right","top","color","grey","style","cursor","onClick","component","minWidth","height","width","stickyHeader","align","whiteSpace","slice","map","row","maxHeight","scope","model_format","model_size_in_billions","quantization","title","real_path","className","tip","text","path","actor_ip_address","size","float","rowsPerPageOptions","count","rowsPerPage","onPageChange","isDelete","onHandleIsDelete","onHandleDelete"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/scenes/launch_model/components/cachedListDialog.js"],"sourcesContent":["import { Close, Delete } from '@mui/icons-material'\nimport {\n Box,\n Dialog,\n DialogContent,\n DialogTitle,\n IconButton,\n Paper,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TablePagination,\n TableRow,\n Tooltip,\n} from '@mui/material'\nimport { styled } from '@mui/material/styles'\nimport React, { useContext, useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { ApiContext } from '../../../components/apiContext'\nimport CopyComponent from '../../../components/copyComponent'\nimport DeleteDialog from '../../../components/deleteDialog'\nimport fetchWrapper from '../../../components/fetchWrapper'\n\nconst EditCustomModel = ({ open, modelData, modelType, onClose, onUpdate }) => {\n const { t } = useTranslation()\n const { setErrorMsg } = useContext(ApiContext)\n const [cachedListArr, setCachedListArr] = useState([])\n const [page, setPage] = useState(0)\n const [isDeleteCached, setIsDeleteCached] = useState(false)\n const [cachedModelVersion, setCachedModelVersion] = useState('')\n\n const StyledTableRow = styled(TableRow)(({ theme }) => ({\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.action.hover,\n },\n }))\n\n const emptyRows =\n page >= 0 ? Math.max(0, (1 + page) * 5 - cachedListArr.length) : 0\n\n const getCachedList = () => {\n fetchWrapper\n .get(`/v1/cache/models?model_name=${modelData.model_name}`)\n .then((data) => {\n setCachedListArr(data.list)\n if (\n page !== 0 &&\n data.list.length &&\n (page + 1) * 5 >= data.list.length &&\n data.list.length % 5 === 0\n ) {\n setPage(data.list.length / 5 - 1)\n }\n })\n .catch((error) => {\n console.error(error)\n if (error.response.status !== 403) {\n setErrorMsg(error.message)\n }\n })\n }\n\n const handleDeleteCached = () => {\n fetchWrapper\n .delete(`/v1/cache/models?model_version=${cachedModelVersion}`)\n .then(() => {\n getCachedList()\n setIsDeleteCached(false)\n })\n .catch((error) => {\n console.error(error)\n if (error.response.status !== 403) {\n setErrorMsg(error.message)\n }\n })\n }\n\n const handleChangePage = (_, newPage) => {\n setPage(newPage)\n }\n\n const handleOpenDeleteCachedDialog = (model_version) => {\n setCachedModelVersion(model_version)\n setIsDeleteCached(true)\n }\n\n const handleCloseCachedList = () => {\n onClose()\n onUpdate()\n }\n\n useEffect(() => {\n if (open) getCachedList()\n }, [open])\n\n return (\n <Dialog\n open={open}\n onClose={onClose}\n maxWidth=\"xl\"\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle sx={{ m: 0, p: 2 }} id=\"customized-dialog-title\">\n {modelData.model_name}\n </DialogTitle>\n <Box\n sx={(theme) => ({\n position: 'absolute',\n right: 8,\n top: 8,\n color: theme.palette.grey[500],\n })}\n >\n <Close style={{ cursor: 'pointer' }} onClick={handleCloseCachedList} />\n </Box>\n <DialogContent>\n <TableContainer component={Paper}>\n <Table\n sx={{ minWidth: 500 }}\n style={{ height: '500px', width: '100%' }}\n stickyHeader\n aria-label=\"simple pagination table\"\n >\n <TableHead>\n <TableRow>\n {modelType === 'LLM' && (\n <>\n <TableCell align=\"left\">\n {t('launchModel.model_format')}\n </TableCell>\n <TableCell align=\"left\">\n {t('launchModel.model_size_in_billions')}\n </TableCell>\n <TableCell align=\"left\">\n {t('launchModel.quantizations')}\n </TableCell>\n </>\n )}\n <TableCell align=\"left\" style={{ width: 192 }}>\n {t('launchModel.real_path')}\n </TableCell>\n <TableCell align=\"left\" style={{ width: 46 }}></TableCell>\n <TableCell align=\"left\" style={{ width: 192 }}>\n {t('launchModel.path')}\n </TableCell>\n <TableCell align=\"left\" style={{ width: 46 }}></TableCell>\n <TableCell\n align=\"left\"\n style={{ whiteSpace: 'nowrap', minWidth: 116 }}\n >\n {t('launchModel.ipAddress')}\n </TableCell>\n <TableCell align=\"left\">{t('launchModel.operation')}</TableCell>\n </TableRow>\n </TableHead>\n <TableBody style={{ position: 'relative' }}>\n {cachedListArr.slice(page * 5, page * 5 + 5).map((row) => (\n <StyledTableRow style={{ maxHeight: 90 }} key={row.model_name}>\n {modelType === 'LLM' && (\n <>\n <TableCell component=\"th\" scope=\"row\">\n {row.model_format === null ? '—' : row.model_format}\n </TableCell>\n <TableCell>\n {row.model_size_in_billions === null\n ? '—'\n : row.model_size_in_billions}\n </TableCell>\n <TableCell>\n {row.quantization === null ? '—' : row.quantization}\n </TableCell>\n </>\n )}\n <TableCell>\n <Tooltip title={row.real_path}>\n <div\n className={\n modelType === 'LLM' ? 'pathBox' : 'pathBox pathBox2'\n }\n >\n {row.real_path}\n </div>\n </Tooltip>\n </TableCell>\n <TableCell>\n <CopyComponent\n tip={t('launchModel.copyRealPath')}\n text={row.real_path}\n />\n </TableCell>\n <TableCell>\n <Tooltip title={row.path}>\n <div\n className={\n modelType === 'LLM' ? 'pathBox' : 'pathBox pathBox2'\n }\n >\n {row.path}\n </div>\n </Tooltip>\n </TableCell>\n <TableCell>\n <CopyComponent\n tip={t('launchModel.copyPath')}\n text={row.path}\n />\n </TableCell>\n <TableCell>{row.actor_ip_address}</TableCell>\n <TableCell align={modelType === 'LLM' ? 'center' : 'left'}>\n <IconButton\n aria-label=\"delete\"\n size=\"large\"\n onClick={() =>\n handleOpenDeleteCachedDialog(row.model_version)\n }\n >\n <Delete />\n </IconButton>\n </TableCell>\n </StyledTableRow>\n ))}\n {emptyRows > 0 && (\n <TableRow style={{ height: 89.4 * emptyRows }}>\n <TableCell />\n </TableRow>\n )}\n {cachedListArr.length === 0 && (\n <div className=\"empty\">{t('launchModel.noCacheForNow')}</div>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n <TablePagination\n style={{ float: 'right' }}\n rowsPerPageOptions={[5]}\n count={cachedListArr.length}\n rowsPerPage={5}\n page={page}\n onPageChange={handleChangePage}\n />\n </DialogContent>\n\n <DeleteDialog\n text={t('launchModel.confirmDeleteCacheFiles')}\n isDelete={isDeleteCached}\n onHandleIsDelete={() => setIsDeleteCached(false)}\n onHandleDelete={handleDeleteCached}\n />\n </Dialog>\n )\n}\n\nexport default EditCustomModel\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _regeneratorRuntime from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";import _asyncToGenerator from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import{Clear,ContentCopy,Done}from'@mui/icons-material';import{IconButton,Tooltip}from'@mui/material';import React,{useState}from'react';import{copyToClipboard}from'./utils';import{jsx as _jsx}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var CopyComponent=function CopyComponent(_ref){var tip=_ref.tip,text=_ref.text;var _useState=useState('pending'),_useState2=_slicedToArray(_useState,2),copyStatus=_useState2[0],setCopyStatus=_useState2[1];var showTooltipTemporarily=function showTooltipTemporarily(status){setCopyStatus(status);setTimeout(function(){return setCopyStatus('pending');},1500);};var handleCopy=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(event){var textToCopy,success;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:event.stopPropagation();textToCopy=String(text!==null&&text!==void 0?text:'');_context.next=4;return copyToClipboard(textToCopy);case 4:success=_context.sent;showTooltipTemporarily(success?'success':'failed');case 6:case\"end\":return _context.stop();}},_callee);}));return function handleCopy(_x){return _ref2.apply(this,arguments);};}();return/*#__PURE__*/_jsx(_Fragment,{children:copyStatus==='pending'?/*#__PURE__*/_jsx(Tooltip,{title:tip,placement:\"top\",children:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"copy\",onClick:handleCopy,children:/*#__PURE__*/_jsx(ContentCopy,{fontSize:\"small\"})})}):copyStatus==='success'?/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"copy\",children:/*#__PURE__*/_jsx(Done,{fontSize:\"small\",color:\"success\"})}):/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"copy\",children:/*#__PURE__*/_jsx(Clear,{fontSize:\"small\",color:\"error\"})})});};export default CopyComponent;","map":{"version":3,"names":["Clear","ContentCopy","Done","IconButton","Tooltip","React","useState","copyToClipboard","jsx","_jsx","Fragment","_Fragment","CopyComponent","_ref","tip","text","_useState","_useState2","_slicedToArray","copyStatus","setCopyStatus","showTooltipTemporarily","status","setTimeout","handleCopy","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","textToCopy","success","wrap","_callee$","_context","prev","next","stopPropagation","String","sent","stop","_x","apply","arguments","children","title","placement","onClick","fontSize","color"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/components/copyComponent.js"],"sourcesContent":["import { Clear, ContentCopy, Done } from '@mui/icons-material'\nimport { IconButton, Tooltip } from '@mui/material'\nimport React, { useState } from 'react'\n\nimport { copyToClipboard } from './utils'\n\nconst CopyComponent = ({ tip, text }) => {\n const [copyStatus, setCopyStatus] = useState('pending')\n\n const showTooltipTemporarily = (status) => {\n setCopyStatus(status)\n setTimeout(() => setCopyStatus('pending'), 1500)\n }\n\n const handleCopy = async (event) => {\n event.stopPropagation()\n const textToCopy = String(text ?? '')\n const success = await copyToClipboard(textToCopy)\n showTooltipTemporarily(success ? 'success' : 'failed')\n }\n\n return (\n <>\n {copyStatus === 'pending' ? (\n <Tooltip title={tip} placement=\"top\">\n <IconButton aria-label=\"copy\" onClick={handleCopy}>\n <ContentCopy fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n ) : copyStatus === 'success' ? (\n <IconButton aria-label=\"copy\">\n <Done fontSize=\"small\" color=\"success\" />\n </IconButton>\n ) : (\n <IconButton aria-label=\"copy\">\n <Clear fontSize=\"small\" color=\"error\" />\n </IconButton>\n )}\n </>\n )\n}\n\nexport default CopyComponent\n"],"mappings":"gcAAA,OAASA,KAAK,CAAEC,WAAW,CAAEC,IAAI,KAAQ,qBAAqB,CAC9D,OAASC,UAAU,CAAEC,OAAO,KAAQ,eAAe,CACnD,MAAO,CAAAC,KAAK,EAAIC,QAAQ,KAAQ,OAAO,CAEvC,OAASC,eAAe,KAAQ,SAAS,QAAAC,GAAA,IAAAC,IAAA,gCAAAC,QAAA,IAAAC,SAAA,yBAEzC,GAAM,CAAAC,aAAa,CAAG,QAAhB,CAAAA,aAAaA,CAAAC,IAAA,CAAsB,IAAhB,CAAAC,GAAG,CAAAD,IAAA,CAAHC,GAAG,CAAEC,IAAI,CAAAF,IAAA,CAAJE,IAAI,CAChC,IAAAC,SAAA,CAAoCV,QAAQ,CAAC,SAAS,CAAC,CAAAW,UAAA,CAAAC,cAAA,CAAAF,SAAA,IAAhDG,UAAU,CAAAF,UAAA,IAAEG,aAAa,CAAAH,UAAA,IAEhC,GAAM,CAAAI,sBAAsB,CAAG,QAAzB,CAAAA,sBAAsBA,CAAIC,MAAM,CAAK,CACzCF,aAAa,CAACE,MAAM,CAAC,CACrBC,UAAU,CAAC,iBAAM,CAAAH,aAAa,CAAC,SAAS,CAAC,GAAE,IAAI,CAAC,CAClD,CAAC,CAED,GAAM,CAAAI,UAAU,6BAAAC,KAAA,CAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,QAAOC,KAAK,MAAAC,UAAA,CAAAC,OAAA,QAAAL,mBAAA,GAAAM,IAAA,UAAAC,SAAAC,QAAA,iBAAAA,QAAA,CAAAC,IAAA,CAAAD,QAAA,CAAAE,IAAA,SAC7BP,KAAK,CAACQ,eAAe,CAAC,CAAC,CACjBP,UAAU,CAAGQ,MAAM,CAACxB,IAAI,SAAJA,IAAI,UAAJA,IAAI,CAAI,EAAE,CAAC,CAAAoB,QAAA,CAAAE,IAAA,SACf,CAAA9B,eAAe,CAACwB,UAAU,CAAC,QAA3CC,OAAO,CAAAG,QAAA,CAAAK,IAAA,CACbnB,sBAAsB,CAACW,OAAO,CAAG,SAAS,CAAG,QAAQ,CAAC,yBAAAG,QAAA,CAAAM,IAAA,MAAAZ,OAAA,GACvD,kBALK,CAAAL,UAAUA,CAAAkB,EAAA,SAAAjB,KAAA,CAAAkB,KAAA,MAAAC,SAAA,OAKf,CAED,mBACEnC,IAAA,CAAAE,SAAA,EAAAkC,QAAA,CACG1B,UAAU,GAAK,SAAS,cACvBV,IAAA,CAACL,OAAO,EAAC0C,KAAK,CAAEhC,GAAI,CAACiC,SAAS,CAAC,KAAK,CAAAF,QAAA,cAClCpC,IAAA,CAACN,UAAU,EAAC,aAAW,MAAM,CAAC6C,OAAO,CAAExB,UAAW,CAAAqB,QAAA,cAChDpC,IAAA,CAACR,WAAW,EAACgD,QAAQ,CAAC,OAAO,CAAE,CAAC,CACtB,CAAC,CACN,CAAC,CACR9B,UAAU,GAAK,SAAS,cAC1BV,IAAA,CAACN,UAAU,EAAC,aAAW,MAAM,CAAA0C,QAAA,cAC3BpC,IAAA,CAACP,IAAI,EAAC+C,QAAQ,CAAC,OAAO,CAACC,KAAK,CAAC,SAAS,CAAE,CAAC,CAC/B,CAAC,cAEbzC,IAAA,CAACN,UAAU,EAAC,aAAW,MAAM,CAAA0C,QAAA,cAC3BpC,IAAA,CAACT,KAAK,EAACiD,QAAQ,CAAC,OAAO,CAACC,KAAK,CAAC,OAAO,CAAE,CAAC,CAC9B,CACb,CACD,CAAC,CAEP,CAAC,CAED,cAAe,CAAAtC,aAAa","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _defineProperty from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";import _regeneratorRuntime from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js\";import _asyncToGenerator from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";import _objectSpread from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import'./styles/registerModelStyle.css';import Cancel from'@mui/icons-material/Cancel';import CheckCircleIcon from'@mui/icons-material/CheckCircle';import KeyboardDoubleArrowRightIcon from'@mui/icons-material/KeyboardDoubleArrowRight';import NotesIcon from'@mui/icons-material/Notes';import OpenInFullIcon from'@mui/icons-material/OpenInFull';import{Alert,Autocomplete,Box,Button,Checkbox,Chip,Dialog,DialogActions,DialogContent,DialogTitle,FormControl,FormControlLabel,InputLabel,MenuItem,Radio,RadioGroup,Select,Stack,Switch,TextField,Tooltip}from'@mui/material';import nunjucks from'nunjucks';import React,{useContext,useEffect,useRef,useState}from'react';import{useCookies}from'react-cookie';import{useTranslation}from'react-i18next';import{useNavigate,useParams}from'react-router-dom';import{ApiContext}from'../../components/apiContext';import CopyComponent from'../../components/copyComponent';import fetchWrapper from'../../components/fetchWrapper';import{isValidBearerToken}from'../../components/utils';import AddControlnet from'./components/addControlnet';import AddModelSpecs from'./components/addModelSpecs';import AddStop from'./components/addStop';import AddVirtualenv from'./components/addVirtualenv';import languages from'./data/languages';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var SUPPORTED_LANGUAGES_DICT={en:'English',zh:'Chinese'};var model_ability_options=[{type:'LLM',options:['Generate','Chat','Vision','Tools','Reasoning','Audio','Omni','Hybrid']},{type:'audio',options:['text2audio','audio2text']}];var messages=[{role:'assistant',content:'This is the message content replied by the assistant previously'},{role:'user',content:'This is the message content sent by the user currently'}];var model_family_options=[{type:'image',options:['stable_diffusion']},{type:'audio',options:['whisper','ChatTTS','CosyVoice','F5-TTS','F5-TTS-MLX','FishAudio','Kokoro','MegaTTS','MeloTTS','funasr']}];// Convert dictionary of supported languages into list\nvar SUPPORTED_LANGUAGES=Object.keys(SUPPORTED_LANGUAGES_DICT);var RegisterModelComponent=function RegisterModelComponent(_ref){var _formData$model_abili3,_formData$model_abili4,_formData$model_abili5,_formData$model_abili6,_formData$model_abili7,_formData$model_abili8,_formData$model_lang,_formData$language,_formData$model_abili9;var modelType=_ref.modelType,customData=_ref.customData;var endPoint=useContext(ApiContext).endPoint;var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _useState=useState(customData),_useState2=_slicedToArray(_useState,2),formData=_useState2[0],setFormData=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),promptStyles=_useState4[0],setPromptStyles=_useState4[1];var _useState5=useState({}),_useState6=_slicedToArray(_useState5,2),family=_useState6[0],setFamily=_useState6[1];var _useState7=useState([]),_useState8=_slicedToArray(_useState7,2),languagesArr=_useState8[0],setLanguagesArr=_useState8[1];var _useState9=useState(false),_useState10=_slicedToArray(_useState9,2),isContextLengthAlert=_useState10[0],setIsContextLengthAlert=_useState10[1];var _useState11=useState(false),_useState12=_slicedToArray(_useState11,2),isDimensionsAlert=_useState12[0],setIsDimensionsAlert=_useState12[1];var _useState13=useState(false),_useState14=_slicedToArray(_useState13,2),isMaxTokensAlert=_useState14[0],setIsMaxTokensAlert=_useState14[1];var _useState15=useState(''),_useState16=_slicedToArray(_useState15,2),jsonData=_useState16[0],setJsonData=_useState16[1];var _useState17=useState(false),_useState18=_slicedToArray(_useState17,2),isSpecsArrError=_useState18[0],setIsSpecsArrError=_useState18[1];var _useState19=useState(false),_useState20=_slicedToArray(_useState19,2),isValidLauncherArgsAlert=_useState20[0],setIsValidLauncherArgsAlert=_useState20[1];var scrollRef=useRef(null);var _useCookies=useCookies(['token']),_useCookies2=_slicedToArray(_useCookies,1),cookie=_useCookies2[0];var navigate=useNavigate();var _useParams=useParams(),registerModelType=_useParams.registerModelType,model_name=_useParams.model_name;var _useState21=useState(model_name?true:false),_useState22=_slicedToArray(_useState21,2),isShow=_useState22[0],setIsShow=_useState22[1];var _useState23=useState(model_name?JSON.parse(sessionStorage.getItem('customJsonData')).model_specs:[]),_useState24=_slicedToArray(_useState23,2),specsArr=_useState24[0],setSpecsArr=_useState24[1];var _useState25=useState(model_name?JSON.parse(sessionStorage.getItem('customJsonData')).controlnet:[]),_useState26=_slicedToArray(_useState25,2),controlnetArr=_useState26[0],setControlnetArr=_useState26[1];var _useState27=useState({}),_useState28=_slicedToArray(_useState27,2),contrastObj=_useState28[0],setContrastObj=_useState28[1];var _useState29=useState(true),_useState30=_slicedToArray(_useState29,2),isEqual=_useState30[0],setIsEqual=_useState30[1];var _useState31=useState(''),_useState32=_slicedToArray(_useState31,2),testRes=_useState32[0],setTestRes=_useState32[1];var _useState33=useState(false),_useState34=_slicedToArray(_useState33,2),isOpenMessages=_useState34[0],setIsOpenMessages=_useState34[1];var _useState35=useState(''),_useState36=_slicedToArray(_useState35,2),testErrorInfo=_useState36[0],setTestErrorInfo=_useState36[1];var _useState37=useState(false),_useState38=_slicedToArray(_useState37,2),isStopTokenIdsAlert=_useState38[0],setIsStopTokenIdsAlert=_useState38[1];var _useState39=useState([]),_useState40=_slicedToArray(_useState39,2),familyOptions=_useState40[0],setFamilyOptions=_useState40[1];var _useState41=useState(true),_useState42=_slicedToArray(_useState41,2),isEditableFamily=_useState42[0],setIsEditableFamily=_useState42[1];var _useTranslation=useTranslation(),t=_useTranslation.t;useEffect(function(){if(model_name){var data=JSON.parse(sessionStorage.getItem('customJsonData'));if(modelType==='LLM'){var _data$virtualenv;var lagArr=data.model_lang.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(lagArr);var version=data.version,_model_name=data.model_name,model_description=data.model_description,context_length=data.context_length,model_lang=data.model_lang,model_ability=data.model_ability,model_family=data.model_family,model_specs=data.model_specs,chat_template=data.chat_template,stop_token_ids=data.stop_token_ids,stop=data.stop,_data$reasoning_start=data.reasoning_start_tag,reasoning_start_tag=_data$reasoning_start===void 0?'':_data$reasoning_start,_data$reasoning_end_t=data.reasoning_end_tag,reasoning_end_tag=_data$reasoning_end_t===void 0?'':_data$reasoning_end_t;var virtualenv=(_data$virtualenv=data.virtualenv)!==null&&_data$virtualenv!==void 0?_data$virtualenv:{packages:[]};var specsDataArr=model_specs.map(function(item){var model_uri=item.model_uri,model_size_in_billions=item.model_size_in_billions,model_format=item.model_format,quantizations=item.quantizations,model_file_name_template=item.model_file_name_template;return{model_uri:model_uri,model_size_in_billions:model_size_in_billions,model_format:model_format,quantizations:quantizations,model_file_name_template:model_file_name_template};});var llmData=_objectSpread(_objectSpread({version:version,model_name:_model_name,model_description:model_description,context_length:context_length,model_lang:model_lang,model_ability:model_ability,model_family:model_family,model_specs:specsDataArr,chat_template:chat_template,stop_token_ids:stop_token_ids,stop:stop},model_ability.includes('reasoning')&&{reasoning_start_tag:reasoning_start_tag,reasoning_end_tag:reasoning_end_tag}),{},{virtualenv:virtualenv});setFormData(llmData);setContrastObj(llmData);setSpecsArr(specsDataArr);}else{if(modelType==='embedding'){var _data$model_specs,_data$virtualenv2;var _lagArr=data.language.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(_lagArr);var _version=data.version,_model_name2=data.model_name,dimensions=data.dimensions,max_tokens=data.max_tokens,model_uri=data.model_uri,language=data.language;var _model_specs=(_data$model_specs=data.model_specs)!==null&&_data$model_specs!==void 0?_data$model_specs:[{model_uri:model_uri,model_format:'pytorch',quantization:'none'}];var _virtualenv=(_data$virtualenv2=data.virtualenv)!==null&&_data$virtualenv2!==void 0?_data$virtualenv2:{packages:[]};var embeddingData={version:_version,model_name:_model_name2,dimensions:dimensions,max_tokens:max_tokens,language:language,model_specs:_model_specs,virtualenv:_virtualenv};setFormData(embeddingData);setContrastObj(embeddingData);}else if(modelType==='rerank'){var _data$model_specs2,_data$virtualenv3;var _lagArr2=data.language.filter(function(item){return item!=='en'&&item!=='zh';});setLanguagesArr(_lagArr2);var _version2=data.version,_model_name3=data.model_name,_data$max_tokens=data.max_tokens,_max_tokens=_data$max_tokens===void 0?512:_data$max_tokens,_model_uri=data.model_uri,_language=data.language;var _model_specs2=(_data$model_specs2=data.model_specs)!==null&&_data$model_specs2!==void 0?_data$model_specs2:[{model_uri:_model_uri,model_format:'pytorch',quantization:'none'}];var _virtualenv2=(_data$virtualenv3=data.virtualenv)!==null&&_data$virtualenv3!==void 0?_data$virtualenv3:{packages:[]};var rerankData={version:_version2,model_name:_model_name3,max_tokens:_max_tokens,language:_language,model_specs:_model_specs2,virtualenv:_virtualenv2};setFormData(rerankData);setContrastObj(rerankData);}else if(modelType==='image'){var _data$virtualenv4;var _version3=data.version,_model_name4=data.model_name,_model_uri2=data.model_uri,_model_family=data.model_family,controlnet=data.controlnet;var _virtualenv3=(_data$virtualenv4=data.virtualenv)!==null&&_data$virtualenv4!==void 0?_data$virtualenv4:{packages:[]};var _controlnetArr=controlnet.map(function(item){var model_name=item.model_name,model_uri=item.model_uri,model_family=item.model_family;return{model_name:model_name,model_uri:model_uri,model_family:model_family};});var imageData={version:_version3,model_name:_model_name4,model_uri:_model_uri2,model_family:_model_family,controlnet:_controlnetArr,virtualenv:_virtualenv3};setFormData(imageData);setContrastObj(imageData);setControlnetArr(_controlnetArr);}else if(modelType==='audio'){var _data$virtualenv5;var _version4=data.version,_model_name5=data.model_name,_model_uri3=data.model_uri,multilingual=data.multilingual,_data$model_ability=data.model_ability,_model_ability=_data$model_ability===void 0?[]:_data$model_ability,_model_family2=data.model_family;var _virtualenv4=(_data$virtualenv5=data.virtualenv)!==null&&_data$virtualenv5!==void 0?_data$virtualenv5:{packages:[]};var audioData={version:_version4,model_name:_model_name5,model_uri:_model_uri3,multilingual:multilingual,model_ability:_model_ability,model_family:_model_family2,virtualenv:_virtualenv4};setFormData(audioData);setContrastObj(audioData);}else if(modelType==='flexible'){var _data$virtualenv6;var _version5=data.version,_model_name6=data.model_name,_model_uri4=data.model_uri,_model_description=data.model_description,launcher=data.launcher,launcher_args=data.launcher_args;var _virtualenv5=(_data$virtualenv6=data.virtualenv)!==null&&_data$virtualenv6!==void 0?_data$virtualenv6:{packages:[]};var flexibleData={version:_version5,model_name:_model_name6,model_uri:_model_uri4,model_description:_model_description,launcher:launcher,launcher_args:launcher_args,virtualenv:_virtualenv5};setFormData(flexibleData);setContrastObj(flexibleData);}}}},[model_name]);useEffect(function(){if(sessionStorage.getItem('auth')==='true'&&!isValidBearerToken(sessionStorage.getItem('token'))&&!isValidBearerToken(cookie.token)){navigate('/login',{replace:true});return;}var getBuiltinFamilies=/*#__PURE__*/function(){var _ref2=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var response,errorData,data,key;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=2;return fetch(endPoint+'/v1/models/families',{method:'GET',headers:{'Content-Type':'application/json'}});case 2:response=_context.sent;if(response.ok){_context.next=10;break;}_context.next=6;return response.json();case 6:errorData=_context.sent;// Assuming the server returns error details in JSON format\nsetErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));_context.next=15;break;case 10:_context.next=12;return response.json();case 12:data=_context.sent;for(key in data){data[key]=data[key].sort(function(a,b){var lowerA=a.toLowerCase();var lowerB=b.toLowerCase();if(lowerA<lowerB){return-1;}if(lowerA>lowerB){return 1;}return 0;});}setFamily(data);case 15:case\"end\":return _context.stop();}},_callee);}));return function getBuiltinFamilies(){return _ref2.apply(this,arguments);};}();var getBuiltInPromptStyles=/*#__PURE__*/function(){var _ref3=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var response,errorData,data,res,key,v;return _regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return fetch(endPoint+'/v1/models/prompts',{method:'GET',headers:{'Content-Type':'application/json'}});case 2:response=_context2.sent;if(response.ok){_context2.next=10;break;}_context2.next=6;return response.json();case 6:errorData=_context2.sent;// Assuming the server returns error details in JSON format\nsetErrorMsg(\"Server error: \".concat(response.status,\" - \").concat(errorData.detail||'Unknown error'));_context2.next=16;break;case 10:_context2.next=12;return response.json();case 12:data=_context2.sent;res=[];for(key in data){v=data[key];v['name']=key;res.push(v);}setPromptStyles(res);case 16:case\"end\":return _context2.stop();}},_callee2);}));return function getBuiltInPromptStyles(){return _ref3.apply(this,arguments);};}();if(Object.prototype.hasOwnProperty.call(customData,'model_ability')&&Object.prototype.hasOwnProperty.call(customData,'model_family')){if(promptStyles.length===0){getBuiltInPromptStyles().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}if((family===null||family===void 0?void 0:family.chat)===undefined){getBuiltinFamilies().catch(function(error){setErrorMsg(error.message||'An unexpected error occurred when getting builtin prompt styles.');console.error('Error: ',error);});}}},[cookie.token]);useEffect(function(){var _family$chat;setJsonData(JSON.stringify(formData,customReplacer,4));if(contrastObj.model_name){deepEqual(contrastObj,formData)?setIsEqual(true):setIsEqual(false);}if(family!==null&&family!==void 0&&(_family$chat=family.chat)!==null&&_family$chat!==void 0&&_family$chat.length)handleFamilyOptions(formData.model_ability);},[formData]);useEffect(function(){var _family$chat2;if(family!==null&&family!==void 0&&(_family$chat2=family.chat)!==null&&_family$chat2!==void 0&&_family$chat2.length)handleFamilyOptions(formData.model_ability);},[family]);var customReplacer=function customReplacer(key,value){if(key==='chat_template'&&value){return value.replace(/\\\\n/g,'\\n');}return value;};var handleClick=/*#__PURE__*/function(){var _ref4=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var key,type;return _regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.t0=_regeneratorRuntime().keys(formData);case 1:if((_context3.t1=_context3.t0()).done){_context3.next=9;break;}key=_context3.t1.value;type=Object.prototype.toString.call(formData[key]).slice(8,-1);if(!(key!=='model_description'&&(type==='Array'&&key!=='controlnet'&&key!=='stop_token_ids'&&key!=='stop'&&formData[key].length===0||type==='String'&&formData[key]===''||type==='Number'&&formData[key]<=0))){_context3.next=7;break;}setErrorMsg('Please fill in valid value for all fields');return _context3.abrupt(\"return\");case 7:_context3.next=1;break;case 9:if(!(isSpecsArrError||isContextLengthAlert||isDimensionsAlert||isMaxTokensAlert)){_context3.next=12;break;}setErrorMsg('Please fill in valid value for all fields');return _context3.abrupt(\"return\");case 12:try{fetchWrapper.post(\"/v1/model_registrations/\".concat(modelType),{model:JSON.stringify(formData,customReplacer),persist:true}).then(function(){navigate(\"/launch_model/custom/\".concat(modelType.toLowerCase()));sessionStorage.setItem('modelType','/launch_model/custom/llm');sessionStorage.setItem('subType',\"/launch_model/custom/\".concat(modelType.toLowerCase()));}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});}catch(error){console.error('There was a problem with the fetch operation:',error);setErrorMsg(error.message||'An unexpected error occurred.');}case 13:case\"end\":return _context3.stop();}},_callee3);}));return function handleClick(){return _ref4.apply(this,arguments);};}();var handleNumber=function handleNumber(value,parameterName){setIsContextLengthAlert(false);setIsDimensionsAlert(false);setIsMaxTokensAlert(false);setFormData(_objectSpread(_objectSpread({},formData),{},_defineProperty({},parameterName,value)));if(value!==''&&(!Number(value)||Number(value)<=0||parseInt(value)!==parseFloat(value))){parameterName==='context_length'?setIsContextLengthAlert(true):'';parameterName==='dimensions'?setIsDimensionsAlert(true):'';parameterName==='max_tokens'?setIsMaxTokensAlert(true):'';}else if(value!==''){setFormData(_objectSpread(_objectSpread({},formData),{},_defineProperty({},parameterName,Number(value))));}};var toggleLanguage=function toggleLanguage(lang){if(modelType==='LLM'){if(formData.model_lang.includes(lang)){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:formData.model_lang.filter(function(l){return l!==lang;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:[].concat(_toConsumableArray(formData.model_lang),[lang])}));}}else{if(formData.language.includes(lang)){setFormData(_objectSpread(_objectSpread({},formData),{},{language:formData.language.filter(function(l){return l!==lang;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:[].concat(_toConsumableArray(formData.language),[lang])}));}}};var toggleAbility=function toggleAbility(ability){var obj=JSON.parse(JSON.stringify(formData));var fieldsToDelete=['chat_template','stop_token_ids','stop','reasoning_start_tag','reasoning_end_tag','tool_parser'];fieldsToDelete.forEach(function(key){return delete obj[key];});var currentAbilities=formData.model_ability;var isRemoving=currentAbilities.includes(ability);var chatRelatedAbilities=['chat','vision','tools','reasoning','audio','omni','hybrid'];var isChatRelated=chatRelatedAbilities.includes(ability);var mutuallyExclusive={vision:'tools',tools:'vision'};if(currentAbilities.includes('chat')&&ability!=='chat'){obj.chat_template='';obj.stop_token_ids=[];obj.stop=[];}if(currentAbilities.includes('reasoning')&&ability!=='reasoning'&&ability!=='chat'){obj.reasoning_start_tag='';obj.reasoning_end_tag='';}if(currentAbilities.includes('tools')&&ability!=='tools'&&ability!=='chat'){delete obj.tool_parser;}if(isRemoving){var updatedAbilities=ability==='chat'?currentAbilities.filter(function(item){return!chatRelatedAbilities.includes(item);}):currentAbilities.filter(function(item){return item!==ability;});if(ability==='tools'){delete obj.tool_parser;}setFormData(_objectSpread(_objectSpread({},obj),{},{model_family:'',model_ability:updatedAbilities}));return;}var model_ability=_toConsumableArray(currentAbilities);if(ability==='reasoning'){obj.reasoning_start_tag='';obj.reasoning_end_tag='';}if(ability==='tools'){obj.tool_parser='';}if(ability==='chat'||isChatRelated&&!currentAbilities.includes('chat')){obj.chat_template='';obj.stop_token_ids=[];obj.stop=[];if(ability!=='chat'&&!model_ability.includes('chat')){model_ability.push('chat');}model_ability.push(ability);}else{var conflict=mutuallyExclusive[ability];if(conflict&&model_ability.includes(conflict)){model_ability=model_ability.filter(function(item){return item!==conflict;});}model_ability.push(ability);}setFormData(_objectSpread(_objectSpread({},obj),{},{model_family:'',model_ability:model_ability}));};var handleFamily=function handleFamily(value){if(formData.model_ability.includes('chat')){var _family$chat3;if(family!==null&&family!==void 0&&(_family$chat3=family.chat)!==null&&_family$chat3!==void 0&&_family$chat3.includes(value)){var data=promptStyles.find(function(item){return item.name===value;});var form_data=_objectSpread(_objectSpread({},formData),{},{model_family:value,chat_template:(data===null||data===void 0?void 0:data.chat_template)||null,stop_token_ids:(data===null||data===void 0?void 0:data.stop_token_ids)||[],stop:(data===null||data===void 0?void 0:data.stop)||[]});if(formData.model_ability.includes('tools')){form_data.tool_parser=(data===null||data===void 0?void 0:data.tool_parser)||'';}if(formData.model_ability.includes('reasoning')){form_data.reasoning_start_tag=(data===null||data===void 0?void 0:data.reasoning_start_tag)||'';form_data.reasoning_end_tag=(data===null||data===void 0?void 0:data.reasoning_end_tag)||'';}setFormData(form_data);}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value,chat_template:'',stop_token_ids:[],stop:[]}));}}else{setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:value}));}};var handleSelectLanguages=function handleSelectLanguages(value){var arr=[].concat(_toConsumableArray(languagesArr),[value]);setLanguagesArr(arr);if(modelType==='LLM'){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:Array.from(new Set([].concat(_toConsumableArray(formData.model_lang),_toConsumableArray(arr))))}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:Array.from(new Set([].concat(_toConsumableArray(formData.language),_toConsumableArray(arr))))}));}};var handleDeleteLanguages=function handleDeleteLanguages(item){var arr=languagesArr.filter(function(subItem){return subItem!==item;});setLanguagesArr(arr);if(modelType==='LLM'){setFormData(_objectSpread(_objectSpread({},formData),{},{model_lang:formData.model_lang.filter(function(subItem){return subItem!==item;})}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{language:formData.language.filter(function(subItem){return subItem!==item;})}));}};var getSpecsArr=function getSpecsArr(arr,isSpecsArrError){setFormData(_objectSpread(_objectSpread({},formData),{},{model_specs:arr}));setIsSpecsArrError(isSpecsArrError);};var getControlnetArr=function getControlnetArr(arr){setFormData(_objectSpread(_objectSpread({},formData),{},{controlnet:arr}));};var handleCancel=function handleCancel(){navigate(\"/launch_model/custom/\".concat(registerModelType));};var handleEdit=function handleEdit(){fetchWrapper.delete(\"/v1/model_registrations/\".concat(registerModelType==='llm'?'LLM':registerModelType,\"/\").concat(model_name)).then(function(){return handleClick();}).catch(function(error){console.error('Error:',error);if(error.response.status!==403&&error.response.status!==401){setErrorMsg(error.message);}});};var deepEqual=function deepEqual(obj1,obj2){if(obj1===obj2)return true;if(typeof obj1!=='object'||typeof obj2!=='object'||obj1==null||obj2==null){return false;}var keysA=Object.keys(obj1);var keysB=Object.keys(obj2);if(keysA.length!==keysB.length)return false;for(var _i=0,_keysA=keysA;_i<_keysA.length;_i++){var key=_keysA[_i];if(!keysB.includes(key)||!deepEqual(obj1[key],obj2[key])){return false;}}return true;};var handleTest=function handleTest(){setTestRes('');if(formData.chat_template){try{nunjucks.configure({autoescape:false});var test_res=nunjucks.renderString(formData.chat_template,{messages:messages});if(test_res===''){setTestRes(test_res);setTestErrorInfo('error');}else{setTestRes(test_res);setTestErrorInfo('');}}catch(error){setTestErrorInfo(\"\".concat(error));}}};var getStopTokenIds=function getStopTokenIds(value){if(value.length===1&&value[0]===''){setFormData(_objectSpread(_objectSpread({},formData),{},{stop_token_ids:[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{stop_token_ids:value}));}};var getStop=function getStop(value){if(value.length===1&&value[0]===''){setFormData(_objectSpread(_objectSpread({},formData),{},{stop:[]}));}else{setFormData(_objectSpread(_objectSpread({},formData),{},{stop:value}));}};var handleFamilyAlert=function handleFamilyAlert(){var _formData$model_abili,_family$vision,_formData$model_abili2,_family$tools;if((_formData$model_abili=formData.model_ability)!==null&&_formData$model_abili!==void 0&&_formData$model_abili.includes('vision')&&!(family!==null&&family!==void 0&&(_family$vision=family.vision)!==null&&_family$vision!==void 0&&_family$vision.includes(formData.model_family))){return true;}else if((_formData$model_abili2=formData.model_ability)!==null&&_formData$model_abili2!==void 0&&_formData$model_abili2.includes('tools')&&!(family!==null&&family!==void 0&&(_family$tools=family.tools)!==null&&_family$tools!==void 0&&_family$tools.includes(formData.model_family))){return true;}return false;};var handleChatTemplateAlert=function handleChatTemplateAlert(){if((familyOptions===null||familyOptions===void 0?void 0:familyOptions.filter(function(item){return item.id===formData.model_family;}).length)===0&&!formData.chat_template){return true;}return false;};var handleFamilyOptions=function handleFamilyOptions(model_ability){var abilityMap={reasoning:{editable:false,source:family===null||family===void 0?void 0:family.reasoning},audio:{editable:false,source:family===null||family===void 0?void 0:family.audio},omni:{editable:false,source:family===null||family===void 0?void 0:family.omni},hybrid:{editable:false,source:family===null||family===void 0?void 0:family.hybrid},vision:{editable:false,source:family===null||family===void 0?void 0:family.vision},tools:{editable:false,source:family===null||family===void 0?void 0:family.tools},chat:{editable:true,source:family===null||family===void 0?void 0:family.chat},generate:{editable:true,source:family===null||family===void 0?void 0:family.generate}};var nonEditableGroup=['reasoning','audio','omni','hybrid','vision','tools'];var matchedAbilities=Object.keys(abilityMap).filter(function(key){return model_ability.includes(key);});var matchedNonEditable=matchedAbilities.filter(function(key){return nonEditableGroup.includes(key);});if(matchedNonEditable.length>1){var _abilityMap$matchedNo;var baseSource=((_abilityMap$matchedNo=abilityMap[matchedNonEditable[0]])===null||_abilityMap$matchedNo===void 0?void 0:_abilityMap$matchedNo.source)||[];var intersection=new Set(baseSource);var _loop=function _loop(){var _abilityMap$matchedNo2;var currentSource=new Set(((_abilityMap$matchedNo2=abilityMap[matchedNonEditable[i]])===null||_abilityMap$matchedNo2===void 0?void 0:_abilityMap$matchedNo2.source)||[]);intersection=new Set(_toConsumableArray(intersection).filter(function(item){return currentSource.has(item);}));};for(var i=1;i<matchedNonEditable.length;i++){_loop();}setIsEditableFamily(false);setFamilyOptions(Array.from(intersection).map(function(item){return{id:item,label:item};}));return;}var matched=matchedAbilities[0];if(matched){var _abilityMap$matched=abilityMap[matched],editable=_abilityMap$matched.editable,source=_abilityMap$matched.source;setIsEditableFamily(editable);setFamilyOptions((source||[]).map(function(item){return{id:item,label:item};}));}else{setIsEditableFamily(true);setFamilyOptions([]);}};var changeVirtualenv=function changeVirtualenv(type,index,value){if(type==='add'){setFormData(function(prev){return _objectSpread(_objectSpread({},prev),{},{virtualenv:_objectSpread(_objectSpread({},prev.virtualenv),{},{packages:[].concat(_toConsumableArray(prev.virtualenv.packages),[''])})});});}else if(type==='delete'){setFormData(function(prev){var newPackages=_toConsumableArray(prev.virtualenv.packages);newPackages.splice(index,1);return _objectSpread(_objectSpread({},prev),{},{virtualenv:_objectSpread(_objectSpread({},prev.virtualenv),{},{packages:newPackages})});});}else if(type==='change'){setFormData(function(prev){var newPackages=_toConsumableArray(prev.virtualenv.packages);newPackages[index]=value;return _objectSpread(_objectSpread({},prev),{},{virtualenv:_objectSpread(_objectSpread({},prev.virtualenv),{},{packages:newPackages})});});}};return/*#__PURE__*/_jsxs(Box,{style:{display:'flex',overFlow:'hidden',maxWidth:'100%'},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"show-json\",children:[/*#__PURE__*/_jsx(\"p\",{children:t('registerModel.showCustomJsonConfig')}),isShow?/*#__PURE__*/_jsx(Tooltip,{title:t('registerModel.packUp'),placement:\"top\",children:/*#__PURE__*/_jsx(KeyboardDoubleArrowRightIcon,{className:\"icon arrow\",onClick:function onClick(){return setIsShow(!isShow);}})}):/*#__PURE__*/_jsx(Tooltip,{title:t('registerModel.unfold'),placement:\"top\",children:/*#__PURE__*/_jsx(NotesIcon,{className:\"icon notes\",onClick:function onClick(){return setIsShow(!isShow);}})})]}),/*#__PURE__*/_jsxs(\"div\",{ref:scrollRef,className:isShow?'formBox':'formBox broaden',children:[/*#__PURE__*/_jsxs(FormControl,{style:{width:'100%'},children:[customData.model_name&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.modelName'),error:formData.model_name?false:true,value:formData.model_name,size:\"small\",helperText:t('registerModel.alphanumericWithHyphensUnderscores'),onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_name:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_description&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.modelDescription'),value:formData.model_description,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_description:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.context_length&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{error:Number(formData.context_length)>0?false:true,label:t('registerModel.contextLength'),value:formData.context_length,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'context_length');}}),isContextLengthAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:t('registerModel.enterIntegerGreaterThanZero')}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.dimensions&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.dimensions'),error:Number(formData.dimensions)>0?false:true,value:formData.dimensions,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'dimensions');}}),isDimensionsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:t('registerModel.enterIntegerGreaterThanZero')}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.max_tokens&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.maxTokens'),error:Number(formData.max_tokens)>0?false:true,value:formData.max_tokens,size:\"small\",onChange:function onChange(event){handleNumber(event.target.value,'max_tokens');}}),isMaxTokensAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:t('registerModel.enterIntegerGreaterThanZero')}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_uri&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.modelPath'),error:formData.model_uri?false:true,value:formData.model_uri,size:\"small\",helperText:t('registerModel.provideModelDirectoryPath'),onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{model_uri:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(customData.model_lang||customData.language)&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:modelType==='LLM'?formData.model_lang.length===0?'#d32f2f':'inherit':formData.language.length===0?'#d32f2f':'inherit'},children:t('registerModel.modelLanguages')}),/*#__PURE__*/_jsxs(Box,{className:\"checkboxWrapper\",children:[SUPPORTED_LANGUAGES.map(function(lang){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:modelType==='LLM'?formData.model_lang.includes(lang):formData.language.includes(lang),onChange:function onChange(){return toggleLanguage(lang);},name:lang}),label:SUPPORTED_LANGUAGES_DICT[lang],style:{paddingLeft:10}})},lang);}),/*#__PURE__*/_jsxs(FormControl,{sx:{m:1,minWidth:120},size:\"small\",children:[/*#__PURE__*/_jsx(InputLabel,{children:t('registerModel.languages')}),/*#__PURE__*/_jsx(Select,{value:'',label:t('registerModel.languages'),onChange:function onChange(e){return handleSelectLanguages(e.target.value);},MenuProps:{PaperProps:{style:{maxHeight:'20vh'}}},children:languages.filter(function(item){return!languagesArr.includes(item.code);}).map(function(item){return/*#__PURE__*/_jsx(MenuItem,{value:item.code,children:item.code},item.code);})})]})]}),/*#__PURE__*/_jsx(Stack,{direction:\"row\",spacing:1,style:{marginLeft:'10px'},children:languagesArr.map(function(item){return/*#__PURE__*/_jsx(Chip,{label:item,variant:\"outlined\",size:\"small\",color:\"primary\",onDelete:function onDelete(){return handleDeleteLanguages(item);}},item);})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),'multilingual'in customData&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5},children:t('registerModel.multilingual')}),/*#__PURE__*/_jsx(FormControlLabel,{style:{marginLeft:0,width:50},control:/*#__PURE__*/_jsx(Switch,{checked:formData.multilingual}),onChange:function onChange(e){return setFormData(_objectSpread(_objectSpread({},formData),{},{multilingual:e.target.checked}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_ability&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:formData.model_ability.length==0?'#d32f2f':'inherit'},children:t('registerModel.modelAbilities')}),/*#__PURE__*/_jsx(Box,{className:\"checkboxWrapper\",children:modelType==='LLM'?/*#__PURE__*/_jsx(_Fragment,{children:model_ability_options.find(function(item){return item.type===modelType;}).options.map(function(ability){return/*#__PURE__*/_jsx(Box,{sx:{marginRight:'10px'},children:/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(Checkbox,{checked:formData.model_ability.includes(ability.toLowerCase()),onChange:function onChange(){return toggleAbility(ability.toLowerCase());},name:ability}),label:ability,style:{paddingLeft:10}})},ability);})}):/*#__PURE__*/_jsx(RadioGroup,{value:formData.model_ability,style:{display:'flex'},onChange:function onChange(e){setFormData(_objectSpread(_objectSpread({},formData),{},{model_ability:[e.target.value]}));},children:/*#__PURE__*/_jsx(Box,{className:\"checkboxWrapper\",sx:{paddingLeft:'10px'},children:model_ability_options.find(function(item){return item.type===modelType;}).options.map(function(subItem){return/*#__PURE__*/_jsx(FormControlLabel,{value:subItem,control:/*#__PURE__*/_jsx(Radio,{}),label:subItem},subItem);})})})}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(customData.model_family===''||customData.model_family)&&/*#__PURE__*/_jsxs(_Fragment,{children:[modelType==='LLM'&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Autocomplete,{id:\"free-solo-demo\",freeSolo:isEditableFamily,options:familyOptions||[],size:\"small\",renderInput:function renderInput(params){return/*#__PURE__*/_jsx(TextField,_objectSpread(_objectSpread({},params),{},{helperText:isEditableFamily?t('registerModel.chooseBuiltInOrCustomModel'):t('registerModel.chooseOnlyBuiltInModel'),InputProps:_objectSpread(_objectSpread({},params.InputProps),{},{disabled:!isEditableFamily}),label:t('registerModel.modelFamily')}));},value:formData.model_family,onChange:function onChange(_,newValue){handleFamily(newValue===null||newValue===void 0?void 0:newValue.id);},onInputChange:function onInputChange(_,newInputValue){if(isEditableFamily){handleFamily(newInputValue);}}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),(modelType==='image'||modelType==='audio')&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(FormControl,{children:[/*#__PURE__*/_jsx(\"label\",{style:{paddingLeft:5,color:'inherit'},children:t('registerModel.modelFamily')}),/*#__PURE__*/_jsx(RadioGroup,{value:formData.model_family,style:{display:'flex'},onChange:function onChange(e){setFormData(_objectSpread(_objectSpread({},formData),{},{model_family:e.target.value}));},children:/*#__PURE__*/_jsx(Box,{className:\"checkboxWrapper\",sx:{paddingLeft:'10px'},children:model_family_options.find(function(item){return item.type===modelType;}).options.map(function(subItem){return/*#__PURE__*/_jsx(FormControlLabel,{value:subItem,control:/*#__PURE__*/_jsx(Radio,{}),label:subItem},subItem);})})})]}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]})]}),((_formData$model_abili3=formData.model_ability)===null||_formData$model_abili3===void 0?void 0:_formData$model_abili3.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_box\",children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.chatTemplate'),error:handleChatTemplateAlert(),value:formData.chat_template||'',size:\"small\",helperText:t('registerModel.ensureChatTemplatePassesTest'),multiline:true,rows:6,onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{chat_template:event.target.value}));},style:{flex:1}}),/*#__PURE__*/_jsx(Button,{variant:\"contained\",onClick:handleTest,style:{marginTop:50},children:t('registerModel.test')}),/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_test\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"chat_template_test_mainBox\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:'flex',alignItems:'center',gap:5},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:16},children:t('registerModel.messagesExample')}),/*#__PURE__*/_jsx(OpenInFullIcon,{onClick:function onClick(){return setIsOpenMessages(true);},style:{fontSize:14,color:'#666',cursor:'pointer'}})]}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"span\",{style:{display:'flex',alignItems:'center',gap:10,fontSize:16},children:[t('registerModel.testResult'),testErrorInfo?/*#__PURE__*/_jsx(Cancel,{style:{color:'red'}}):testRes?/*#__PURE__*/_jsx(CheckCircleIcon,{style:{color:'rgb(46, 125, 50)'}}):'']}),/*#__PURE__*/_jsx(\"div\",{className:\"test_res_box\",style:{borderColor:testErrorInfo===''?testRes?'rgb(46, 125, 50)':'#ddd':'rgb(46, 125, 50)'},children:testErrorInfo!==''?testErrorInfo:testRes?testRes:t('registerModel.noTestResults')})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"chat_template_test_tip\",style:{color:testErrorInfo===''?'':'#d32f2f'},children:t('registerModel.testFailurePreventsChatWorking')})]})]}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili4=formData.model_ability)===null||_formData$model_abili4===void 0?void 0:_formData$model_abili4.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddStop,{label:t('registerModel.stopTokenIds'),arrItemType:\"number\",formData:formData.stop_token_ids,onGetData:getStopTokenIds,onGetError:function onGetError(value){if(value.includes('false')){setIsStopTokenIdsAlert(true);}else{setIsStopTokenIdsAlert(false);}},helperText:t('registerModel.stopControlForChatModels')}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili5=formData.model_ability)===null||_formData$model_abili5===void 0?void 0:_formData$model_abili5.includes('chat'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddStop,{label:t('registerModel.stop'),arrItemType:\"string\",formData:formData.stop,onGetData:getStop,helperText:t('registerModel.stopControlStringForChatModels')}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili6=formData.model_ability)===null||_formData$model_abili6===void 0?void 0:_formData$model_abili6.includes('reasoning'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.reasoningStartTag'),value:formData.reasoning_start_tag,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{reasoning_start_tag:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili7=formData.model_ability)===null||_formData$model_abili7===void 0?void 0:_formData$model_abili7.includes('reasoning'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.reasoningEndTag'),value:formData.reasoning_end_tag,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{reasoning_end_tag:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),((_formData$model_abili8=formData.model_ability)===null||_formData$model_abili8===void 0?void 0:_formData$model_abili8.includes('tools'))&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.toolParser'),value:formData.tool_parser,size:\"small\",onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{tool_parser:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.model_specs&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddModelSpecs,{isJump:model_name?true:false,formData:customData.model_specs[0],specsDataArr:specsArr,onGetArr:getSpecsArr,scrollRef:scrollRef,modelType:modelType}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.controlnet&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddControlnet,{controlnetDataArr:controlnetArr,onGetControlnetArr:getControlnetArr,scrollRef:scrollRef}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.launcher&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.launcher'),error:formData.launcher?false:true,value:formData.launcher,size:\"small\",helperText:t('registerModel.provideModelLauncher'),onChange:function onChange(event){return setFormData(_objectSpread(_objectSpread({},formData),{},{launcher:event.target.value}));}}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.launcher_args&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(TextField,{label:t('registerModel.launcherArguments'),value:formData.launcher_args,size:\"small\",helperText:t('registerModel.jsonArgumentsForLauncher'),onChange:function onChange(event){try{JSON.parse(event.target.value);setIsValidLauncherArgsAlert(false);}catch(_unused){setIsValidLauncherArgsAlert(true);}return setFormData(_objectSpread(_objectSpread({},formData),{},{launcher_args:event.target.value}));},multiline:true,rows:4}),isValidLauncherArgsAlert&&/*#__PURE__*/_jsx(Alert,{severity:\"error\",children:t('registerModel.enterJsonFormattedDictionary')}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]}),customData.virtualenv&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(AddVirtualenv,{virtualenv:formData.virtualenv,onChangeVirtualenv:changeVirtualenv,scrollRef:scrollRef}),/*#__PURE__*/_jsx(Box,{padding:\"15px\"})]})]}),model_name?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleEdit,disabled:isEqual,children:t('registerModel.edit')}),/*#__PURE__*/_jsx(Button,{style:{marginLeft:30},variant:\"outlined\",color:\"primary\",type:\"submit\",onClick:handleCancel,children:t('registerModel.cancel')})]}):/*#__PURE__*/_jsx(Box,{width:'100%',children:/*#__PURE__*/_jsx(Button,{variant:\"contained\",color:\"primary\",type:\"submit\",onClick:handleClick,disabled:isContextLengthAlert||isDimensionsAlert||isMaxTokensAlert||((_formData$model_lang=formData.model_lang)===null||_formData$model_lang===void 0?void 0:_formData$model_lang.length)===0||((_formData$language=formData.language)===null||_formData$language===void 0?void 0:_formData$language.length)===0||((_formData$model_abili9=formData.model_ability)===null||_formData$model_abili9===void 0?void 0:_formData$model_abili9.length)===0||modelType==='LLM'&&!formData.model_family||isStopTokenIdsAlert||handleFamilyAlert(),children:t('registerModel.registerModel')})})]}),/*#__PURE__*/_jsxs(Dialog,{open:isOpenMessages,onClose:function onClose(){return setIsOpenMessages(false);},\"aria-labelledby\":\"alert-dialog-title\",\"aria-describedby\":\"alert-dialog-description\",children:[/*#__PURE__*/_jsx(DialogTitle,{id:\"alert-dialog-title\",children:t('registerModel.messagesExample')}),/*#__PURE__*/_jsx(DialogContent,{style:{width:600},children:/*#__PURE__*/_jsx(TextField,{multiline:true,fullWidth:true,rows:10,disabled:true,defaultValue:JSON.stringify(messages,null,4)})}),/*#__PURE__*/_jsx(DialogActions,{children:/*#__PURE__*/_jsx(Button,{variant:\"contained\",onClick:function onClick(){return setIsOpenMessages(false);},style:{marginRight:15,marginBottom:15},children:\"OK\"})})]}),/*#__PURE__*/_jsxs(\"div\",{className:isShow?'jsonBox':'jsonBox hide',children:[/*#__PURE__*/_jsxs(\"div\",{className:\"jsonBox-header\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"jsonBox-title\",children:t('registerModel.JSONFormat')}),/*#__PURE__*/_jsx(CopyComponent,{tip:t('registerModel.copyAll'),text:jsonData})]}),/*#__PURE__*/_jsx(\"textarea\",{readOnly:true,className:\"textarea\",value:jsonData})]})]});};export default RegisterModelComponent;","map":{"version":3,"names":["Cancel","CheckCircleIcon","KeyboardDoubleArrowRightIcon","NotesIcon","OpenInFullIcon","Alert","Autocomplete","Box","Button","Checkbox","Chip","Dialog","DialogActions","DialogContent","DialogTitle","FormControl","FormControlLabel","InputLabel","MenuItem","Radio","RadioGroup","Select","Stack","Switch","TextField","Tooltip","nunjucks","React","useContext","useEffect","useRef","useState","useCookies","useTranslation","useNavigate","useParams","ApiContext","CopyComponent","fetchWrapper","isValidBearerToken","AddControlnet","AddModelSpecs","AddStop","AddVirtualenv","languages","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SUPPORTED_LANGUAGES_DICT","en","zh","model_ability_options","type","options","messages","role","content","model_family_options","SUPPORTED_LANGUAGES","Object","keys","RegisterModelComponent","_ref","_formData$model_abili3","_formData$model_abili4","_formData$model_abili5","_formData$model_abili6","_formData$model_abili7","_formData$model_abili8","_formData$model_lang","_formData$language","_formData$model_abili9","modelType","customData","endPoint","_useContext","setErrorMsg","_useState","_useState2","_slicedToArray","formData","setFormData","_useState3","_useState4","promptStyles","setPromptStyles","_useState5","_useState6","family","setFamily","_useState7","_useState8","languagesArr","setLanguagesArr","_useState9","_useState10","isContextLengthAlert","setIsContextLengthAlert","_useState11","_useState12","isDimensionsAlert","setIsDimensionsAlert","_useState13","_useState14","isMaxTokensAlert","setIsMaxTokensAlert","_useState15","_useState16","jsonData","setJsonData","_useState17","_useState18","isSpecsArrError","setIsSpecsArrError","_useState19","_useState20","isValidLauncherArgsAlert","setIsValidLauncherArgsAlert","scrollRef","_useCookies","_useCookies2","cookie","navigate","_useParams","registerModelType","model_name","_useState21","_useState22","isShow","setIsShow","_useState23","JSON","parse","sessionStorage","getItem","model_specs","_useState24","specsArr","setSpecsArr","_useState25","controlnet","_useState26","controlnetArr","setControlnetArr","_useState27","_useState28","contrastObj","setContrastObj","_useState29","_useState30","isEqual","setIsEqual","_useState31","_useState32","testRes","setTestRes","_useState33","_useState34","isOpenMessages","setIsOpenMessages","_useState35","_useState36","testErrorInfo","setTestErrorInfo","_useState37","_useState38","isStopTokenIdsAlert","setIsStopTokenIdsAlert","_useState39","_useState40","familyOptions","setFamilyOptions","_useState41","_useState42","isEditableFamily","setIsEditableFamily","_useTranslation","t","data","_data$virtualenv","lagArr","model_lang","filter","item","version","model_description","context_length","model_ability","model_family","chat_template","stop_token_ids","stop","_data$reasoning_start","reasoning_start_tag","_data$reasoning_end_t","reasoning_end_tag","virtualenv","packages","specsDataArr","map","model_uri","model_size_in_billions","model_format","quantizations","model_file_name_template","llmData","_objectSpread","includes","_data$model_specs","_data$virtualenv2","language","dimensions","max_tokens","quantization","embeddingData","_data$model_specs2","_data$virtualenv3","_data$max_tokens","rerankData","_data$virtualenv4","imageData","_data$virtualenv5","multilingual","_data$model_ability","audioData","_data$virtualenv6","launcher","launcher_args","flexibleData","token","replace","getBuiltinFamilies","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","response","errorData","key","wrap","_callee$","_context","prev","next","fetch","method","headers","sent","ok","json","concat","status","detail","sort","a","b","lowerA","toLowerCase","lowerB","apply","arguments","getBuiltInPromptStyles","_ref3","_callee2","res","v","_callee2$","_context2","push","prototype","hasOwnProperty","call","length","catch","error","message","console","chat","undefined","_family$chat","stringify","customReplacer","deepEqual","handleFamilyOptions","_family$chat2","value","handleClick","_ref4","_callee3","_callee3$","_context3","t0","t1","done","toString","slice","abrupt","post","model","persist","then","setItem","handleNumber","parameterName","_defineProperty","Number","parseInt","parseFloat","toggleLanguage","lang","l","_toConsumableArray","toggleAbility","ability","obj","fieldsToDelete","forEach","currentAbilities","isRemoving","chatRelatedAbilities","isChatRelated","mutuallyExclusive","vision","tools","tool_parser","updatedAbilities","conflict","handleFamily","_family$chat3","find","name","form_data","handleSelectLanguages","arr","Array","from","Set","handleDeleteLanguages","subItem","getSpecsArr","getControlnetArr","handleCancel","handleEdit","delete","obj1","obj2","keysA","keysB","_i","_keysA","handleTest","configure","autoescape","test_res","renderString","getStopTokenIds","getStop","handleFamilyAlert","_formData$model_abili","_family$vision","_formData$model_abili2","_family$tools","handleChatTemplateAlert","id","abilityMap","reasoning","editable","source","audio","omni","hybrid","generate","nonEditableGroup","matchedAbilities","matchedNonEditable","_abilityMap$matchedNo","baseSource","intersection","_loop","_abilityMap$matchedNo2","currentSource","i","has","label","matched","_abilityMap$matched","changeVirtualenv","index","newPackages","splice","style","display","overFlow","maxWidth","children","className","title","placement","onClick","ref","width","size","helperText","onChange","event","target","padding","severity","paddingLeft","color","sx","marginRight","control","checked","m","minWidth","e","MenuProps","PaperProps","maxHeight","code","direction","spacing","marginLeft","variant","onDelete","freeSolo","renderInput","params","InputProps","disabled","_","newValue","onInputChange","newInputValue","multiline","rows","flex","marginTop","alignItems","gap","fontSize","cursor","borderColor","arrItemType","onGetData","onGetError","isJump","onGetArr","controlnetDataArr","onGetControlnetArr","_unused","onChangeVirtualenv","open","onClose","fullWidth","defaultValue","marginBottom","tip","text","readOnly"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/scenes/register_model/registerModel.js"],"sourcesContent":["import './styles/registerModelStyle.css'\n\nimport Cancel from '@mui/icons-material/Cancel'\nimport CheckCircleIcon from '@mui/icons-material/CheckCircle'\nimport KeyboardDoubleArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowRight'\nimport NotesIcon from '@mui/icons-material/Notes'\nimport OpenInFullIcon from '@mui/icons-material/OpenInFull'\nimport {\n Alert,\n Autocomplete,\n Box,\n Button,\n Checkbox,\n Chip,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControl,\n FormControlLabel,\n InputLabel,\n MenuItem,\n Radio,\n RadioGroup,\n Select,\n Stack,\n Switch,\n TextField,\n Tooltip,\n} from '@mui/material'\nimport nunjucks from 'nunjucks'\nimport React, { useContext, useEffect, useRef, useState } from 'react'\nimport { useCookies } from 'react-cookie'\nimport { useTranslation } from 'react-i18next'\nimport { useNavigate, useParams } from 'react-router-dom'\n\nimport { ApiContext } from '../../components/apiContext'\nimport CopyComponent from '../../components/copyComponent'\nimport fetchWrapper from '../../components/fetchWrapper'\nimport { isValidBearerToken } from '../../components/utils'\nimport AddControlnet from './components/addControlnet'\nimport AddModelSpecs from './components/addModelSpecs'\nimport AddStop from './components/addStop'\nimport AddVirtualenv from './components/addVirtualenv'\nimport languages from './data/languages'\nconst SUPPORTED_LANGUAGES_DICT = { en: 'English', zh: 'Chinese' }\nconst model_ability_options = [\n {\n type: 'LLM',\n options: [\n 'Generate',\n 'Chat',\n 'Vision',\n 'Tools',\n 'Reasoning',\n 'Audio',\n 'Omni',\n 'Hybrid',\n ],\n },\n {\n type: 'audio',\n options: ['text2audio', 'audio2text'],\n },\n]\nconst messages = [\n {\n role: 'assistant',\n content: 'This is the message content replied by the assistant previously',\n },\n {\n role: 'user',\n content: 'This is the message content sent by the user currently',\n },\n]\nconst model_family_options = [\n {\n type: 'image',\n options: ['stable_diffusion'],\n },\n {\n type: 'audio',\n options: [\n 'whisper',\n 'ChatTTS',\n 'CosyVoice',\n 'F5-TTS',\n 'F5-TTS-MLX',\n 'FishAudio',\n 'Kokoro',\n 'MegaTTS',\n 'MeloTTS',\n 'funasr',\n ],\n },\n]\n\n// Convert dictionary of supported languages into list\nconst SUPPORTED_LANGUAGES = Object.keys(SUPPORTED_LANGUAGES_DICT)\n\nconst RegisterModelComponent = ({ modelType, customData }) => {\n const endPoint = useContext(ApiContext).endPoint\n const { setErrorMsg } = useContext(ApiContext)\n const [formData, setFormData] = useState(customData)\n const [promptStyles, setPromptStyles] = useState([])\n const [family, setFamily] = useState({})\n const [languagesArr, setLanguagesArr] = useState([])\n const [isContextLengthAlert, setIsContextLengthAlert] = useState(false)\n const [isDimensionsAlert, setIsDimensionsAlert] = useState(false)\n const [isMaxTokensAlert, setIsMaxTokensAlert] = useState(false)\n const [jsonData, setJsonData] = useState('')\n const [isSpecsArrError, setIsSpecsArrError] = useState(false)\n const [isValidLauncherArgsAlert, setIsValidLauncherArgsAlert] =\n useState(false)\n const scrollRef = useRef(null)\n const [cookie] = useCookies(['token'])\n const navigate = useNavigate()\n\n const { registerModelType, model_name } = useParams()\n const [isShow, setIsShow] = useState(model_name ? true : false)\n const [specsArr, setSpecsArr] = useState(\n model_name\n ? JSON.parse(sessionStorage.getItem('customJsonData')).model_specs\n : []\n )\n const [controlnetArr, setControlnetArr] = useState(\n model_name\n ? JSON.parse(sessionStorage.getItem('customJsonData')).controlnet\n : []\n )\n const [contrastObj, setContrastObj] = useState({})\n const [isEqual, setIsEqual] = useState(true)\n const [testRes, setTestRes] = useState('')\n const [isOpenMessages, setIsOpenMessages] = useState(false)\n const [testErrorInfo, setTestErrorInfo] = useState('')\n const [isStopTokenIdsAlert, setIsStopTokenIdsAlert] = useState(false)\n const [familyOptions, setFamilyOptions] = useState([])\n const [isEditableFamily, setIsEditableFamily] = useState(true)\n const { t } = useTranslation()\n\n useEffect(() => {\n if (model_name) {\n const data = JSON.parse(sessionStorage.getItem('customJsonData'))\n\n if (modelType === 'LLM') {\n const lagArr = data.model_lang.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const {\n version,\n model_name,\n model_description,\n context_length,\n model_lang,\n model_ability,\n model_family,\n model_specs,\n chat_template,\n stop_token_ids,\n stop,\n reasoning_start_tag = '',\n reasoning_end_tag = '',\n } = data\n const virtualenv = data.virtualenv ?? { packages: [] }\n const specsDataArr = model_specs.map((item) => {\n const {\n model_uri,\n model_size_in_billions,\n model_format,\n quantizations,\n model_file_name_template,\n } = item\n return {\n model_uri,\n model_size_in_billions,\n model_format,\n quantizations,\n model_file_name_template,\n }\n })\n const llmData = {\n version,\n model_name,\n model_description,\n context_length,\n model_lang,\n model_ability,\n model_family,\n model_specs: specsDataArr,\n chat_template,\n stop_token_ids,\n stop,\n ...(model_ability.includes('reasoning') && {\n reasoning_start_tag,\n reasoning_end_tag,\n }),\n virtualenv,\n }\n setFormData(llmData)\n setContrastObj(llmData)\n setSpecsArr(specsDataArr)\n } else {\n if (modelType === 'embedding') {\n const lagArr = data.language.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const {\n version,\n model_name,\n dimensions,\n max_tokens,\n model_uri,\n language,\n } = data\n const model_specs = data.model_specs ?? [\n {\n model_uri: model_uri,\n model_format: 'pytorch',\n quantization: 'none',\n },\n ]\n const virtualenv = data.virtualenv ?? { packages: [] }\n const embeddingData = {\n version,\n model_name,\n dimensions,\n max_tokens,\n language,\n model_specs,\n virtualenv,\n }\n setFormData(embeddingData)\n setContrastObj(embeddingData)\n } else if (modelType === 'rerank') {\n const lagArr = data.language.filter(\n (item) => item !== 'en' && item !== 'zh'\n )\n setLanguagesArr(lagArr)\n\n const {\n version,\n model_name,\n max_tokens = 512,\n model_uri,\n language,\n } = data\n const model_specs = data.model_specs ?? [\n {\n model_uri: model_uri,\n model_format: 'pytorch',\n quantization: 'none',\n },\n ]\n const virtualenv = data.virtualenv ?? { packages: [] }\n const rerankData = {\n version,\n model_name,\n max_tokens,\n language,\n model_specs,\n virtualenv,\n }\n setFormData(rerankData)\n setContrastObj(rerankData)\n } else if (modelType === 'image') {\n const { version, model_name, model_uri, model_family, controlnet } =\n data\n const virtualenv = data.virtualenv ?? { packages: [] }\n const controlnetArr = controlnet.map((item) => {\n const { model_name, model_uri, model_family } = item\n return {\n model_name,\n model_uri,\n model_family,\n }\n })\n const imageData = {\n version,\n model_name,\n model_uri,\n model_family,\n controlnet: controlnetArr,\n virtualenv,\n }\n setFormData(imageData)\n setContrastObj(imageData)\n setControlnetArr(controlnetArr)\n } else if (modelType === 'audio') {\n const {\n version,\n model_name,\n model_uri,\n multilingual,\n model_ability = [],\n model_family,\n } = data\n const virtualenv = data.virtualenv ?? { packages: [] }\n const audioData = {\n version,\n model_name,\n model_uri,\n multilingual,\n model_ability,\n model_family,\n virtualenv,\n }\n setFormData(audioData)\n setContrastObj(audioData)\n } else if (modelType === 'flexible') {\n const {\n version,\n model_name,\n model_uri,\n model_description,\n launcher,\n launcher_args,\n } = data\n const virtualenv = data.virtualenv ?? { packages: [] }\n const flexibleData = {\n version,\n model_name,\n model_uri,\n model_description,\n launcher,\n launcher_args,\n virtualenv,\n }\n setFormData(flexibleData)\n setContrastObj(flexibleData)\n }\n }\n }\n }, [model_name])\n\n useEffect(() => {\n if (\n sessionStorage.getItem('auth') === 'true' &&\n !isValidBearerToken(sessionStorage.getItem('token')) &&\n !isValidBearerToken(cookie.token)\n ) {\n navigate('/login', { replace: true })\n return\n }\n\n const getBuiltinFamilies = async () => {\n const response = await fetch(endPoint + '/v1/models/families', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if (!response.ok) {\n const errorData = await response.json() // Assuming the server returns error details in JSON format\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n } else {\n const data = await response.json()\n for (let key in data) {\n data[key] = data[key].sort(function (a, b) {\n let lowerA = a.toLowerCase()\n let lowerB = b.toLowerCase()\n\n if (lowerA < lowerB) {\n return -1\n }\n if (lowerA > lowerB) {\n return 1\n }\n return 0\n })\n }\n setFamily(data)\n }\n }\n\n const getBuiltInPromptStyles = async () => {\n const response = await fetch(endPoint + '/v1/models/prompts', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n if (!response.ok) {\n const errorData = await response.json() // Assuming the server returns error details in JSON format\n setErrorMsg(\n `Server error: ${response.status} - ${\n errorData.detail || 'Unknown error'\n }`\n )\n } else {\n const data = await response.json()\n let res = []\n for (const key in data) {\n let v = data[key]\n v['name'] = key\n res.push(v)\n }\n setPromptStyles(res)\n }\n }\n\n if (\n Object.prototype.hasOwnProperty.call(customData, 'model_ability') &&\n Object.prototype.hasOwnProperty.call(customData, 'model_family')\n ) {\n if (promptStyles.length === 0) {\n getBuiltInPromptStyles().catch((error) => {\n setErrorMsg(\n error.message ||\n 'An unexpected error occurred when getting builtin prompt styles.'\n )\n console.error('Error: ', error)\n })\n }\n if (family?.chat === undefined) {\n getBuiltinFamilies().catch((error) => {\n setErrorMsg(\n error.message ||\n 'An unexpected error occurred when getting builtin prompt styles.'\n )\n console.error('Error: ', error)\n })\n }\n }\n }, [cookie.token])\n\n useEffect(() => {\n setJsonData(JSON.stringify(formData, customReplacer, 4))\n if (contrastObj.model_name) {\n deepEqual(contrastObj, formData) ? setIsEqual(true) : setIsEqual(false)\n }\n if (family?.chat?.length) handleFamilyOptions(formData.model_ability)\n }, [formData])\n\n useEffect(() => {\n if (family?.chat?.length) handleFamilyOptions(formData.model_ability)\n }, [family])\n\n const customReplacer = (key, value) => {\n if (key === 'chat_template' && value) {\n return value.replace(/\\\\n/g, '\\n')\n }\n return value\n }\n\n const handleClick = async () => {\n for (let key in formData) {\n const type = Object.prototype.toString.call(formData[key]).slice(8, -1)\n if (\n key !== 'model_description' &&\n ((type === 'Array' &&\n key !== 'controlnet' &&\n key !== 'stop_token_ids' &&\n key !== 'stop' &&\n formData[key].length === 0) ||\n (type === 'String' && formData[key] === '') ||\n (type === 'Number' && formData[key] <= 0))\n ) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n }\n\n if (\n isSpecsArrError ||\n isContextLengthAlert ||\n isDimensionsAlert ||\n isMaxTokensAlert\n ) {\n setErrorMsg('Please fill in valid value for all fields')\n return\n }\n\n try {\n fetchWrapper\n .post(`/v1/model_registrations/${modelType}`, {\n model: JSON.stringify(formData, customReplacer),\n persist: true,\n })\n .then(() => {\n navigate(`/launch_model/custom/${modelType.toLowerCase()}`)\n sessionStorage.setItem('modelType', '/launch_model/custom/llm')\n sessionStorage.setItem(\n 'subType',\n `/launch_model/custom/${modelType.toLowerCase()}`\n )\n })\n .catch((error) => {\n console.error('Error:', error)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n } catch (error) {\n console.error('There was a problem with the fetch operation:', error)\n setErrorMsg(error.message || 'An unexpected error occurred.')\n }\n }\n\n const handleNumber = (value, parameterName) => {\n setIsContextLengthAlert(false)\n setIsDimensionsAlert(false)\n setIsMaxTokensAlert(false)\n setFormData({ ...formData, [parameterName]: value })\n\n if (\n value !== '' &&\n (!Number(value) ||\n Number(value) <= 0 ||\n parseInt(value) !== parseFloat(value))\n ) {\n parameterName === 'context_length' ? setIsContextLengthAlert(true) : ''\n parameterName === 'dimensions' ? setIsDimensionsAlert(true) : ''\n parameterName === 'max_tokens' ? setIsMaxTokensAlert(true) : ''\n } else if (value !== '') {\n setFormData({ ...formData, [parameterName]: Number(value) })\n }\n }\n\n const toggleLanguage = (lang) => {\n if (modelType === 'LLM') {\n if (formData.model_lang.includes(lang)) {\n setFormData({\n ...formData,\n model_lang: formData.model_lang.filter((l) => l !== lang),\n })\n } else {\n setFormData({\n ...formData,\n model_lang: [...formData.model_lang, lang],\n })\n }\n } else {\n if (formData.language.includes(lang)) {\n setFormData({\n ...formData,\n language: formData.language.filter((l) => l !== lang),\n })\n } else {\n setFormData({\n ...formData,\n language: [...formData.language, lang],\n })\n }\n }\n }\n\n const toggleAbility = (ability) => {\n const obj = JSON.parse(JSON.stringify(formData))\n const fieldsToDelete = [\n 'chat_template',\n 'stop_token_ids',\n 'stop',\n 'reasoning_start_tag',\n 'reasoning_end_tag',\n 'tool_parser',\n ]\n fieldsToDelete.forEach((key) => delete obj[key])\n\n const currentAbilities = formData.model_ability\n const isRemoving = currentAbilities.includes(ability)\n const chatRelatedAbilities = [\n 'chat',\n 'vision',\n 'tools',\n 'reasoning',\n 'audio',\n 'omni',\n 'hybrid',\n ]\n const isChatRelated = chatRelatedAbilities.includes(ability)\n const mutuallyExclusive = { vision: 'tools', tools: 'vision' }\n\n if (currentAbilities.includes('chat') && ability !== 'chat') {\n obj.chat_template = ''\n obj.stop_token_ids = []\n obj.stop = []\n }\n\n if (\n currentAbilities.includes('reasoning') &&\n ability !== 'reasoning' &&\n ability !== 'chat'\n ) {\n obj.reasoning_start_tag = ''\n obj.reasoning_end_tag = ''\n }\n\n if (\n currentAbilities.includes('tools') &&\n ability !== 'tools' &&\n ability !== 'chat'\n ) {\n delete obj.tool_parser\n }\n\n if (isRemoving) {\n const updatedAbilities =\n ability === 'chat'\n ? currentAbilities.filter(\n (item) => !chatRelatedAbilities.includes(item)\n )\n : currentAbilities.filter((item) => item !== ability)\n\n if (ability === 'tools') {\n delete obj.tool_parser\n }\n\n setFormData({\n ...obj,\n model_family: '',\n model_ability: updatedAbilities,\n })\n return\n }\n\n let model_ability = [...currentAbilities]\n\n if (ability === 'reasoning') {\n obj.reasoning_start_tag = ''\n obj.reasoning_end_tag = ''\n }\n\n if (ability === 'tools') {\n obj.tool_parser = ''\n }\n\n if (\n ability === 'chat' ||\n (isChatRelated && !currentAbilities.includes('chat'))\n ) {\n obj.chat_template = ''\n obj.stop_token_ids = []\n obj.stop = []\n\n if (ability !== 'chat' && !model_ability.includes('chat')) {\n model_ability.push('chat')\n }\n model_ability.push(ability)\n } else {\n const conflict = mutuallyExclusive[ability]\n if (conflict && model_ability.includes(conflict)) {\n model_ability = model_ability.filter((item) => item !== conflict)\n }\n model_ability.push(ability)\n }\n\n setFormData({\n ...obj,\n model_family: '',\n model_ability,\n })\n }\n\n const handleFamily = (value) => {\n if (formData.model_ability.includes('chat')) {\n if (family?.chat?.includes(value)) {\n const data = promptStyles.find((item) => {\n return item.name === value\n })\n\n const form_data = {\n ...formData,\n model_family: value,\n chat_template: data?.chat_template || null,\n stop_token_ids: data?.stop_token_ids || [],\n stop: data?.stop || [],\n }\n\n if (formData.model_ability.includes('tools')) {\n form_data.tool_parser = data?.tool_parser || ''\n }\n\n if (formData.model_ability.includes('reasoning')) {\n form_data.reasoning_start_tag = data?.reasoning_start_tag || ''\n form_data.reasoning_end_tag = data?.reasoning_end_tag || ''\n }\n\n setFormData(form_data)\n } else {\n setFormData({\n ...formData,\n model_family: value,\n chat_template: '',\n stop_token_ids: [],\n stop: [],\n })\n }\n } else {\n setFormData({\n ...formData,\n model_family: value,\n })\n }\n }\n\n const handleSelectLanguages = (value) => {\n const arr = [...languagesArr, value]\n setLanguagesArr(arr)\n if (modelType === 'LLM') {\n setFormData({\n ...formData,\n model_lang: Array.from(new Set([...formData.model_lang, ...arr])),\n })\n } else {\n setFormData({\n ...formData,\n language: Array.from(new Set([...formData.language, ...arr])),\n })\n }\n }\n\n const handleDeleteLanguages = (item) => {\n const arr = languagesArr.filter((subItem) => subItem !== item)\n setLanguagesArr(arr)\n if (modelType === 'LLM') {\n setFormData({\n ...formData,\n model_lang: formData.model_lang.filter((subItem) => subItem !== item),\n })\n } else {\n setFormData({\n ...formData,\n language: formData.language.filter((subItem) => subItem !== item),\n })\n }\n }\n\n const getSpecsArr = (arr, isSpecsArrError) => {\n setFormData({ ...formData, model_specs: arr })\n setIsSpecsArrError(isSpecsArrError)\n }\n\n const getControlnetArr = (arr) => {\n setFormData({ ...formData, controlnet: arr })\n }\n\n const handleCancel = () => {\n navigate(`/launch_model/custom/${registerModelType}`)\n }\n\n const handleEdit = () => {\n fetchWrapper\n .delete(\n `/v1/model_registrations/${\n registerModelType === 'llm' ? 'LLM' : registerModelType\n }/${model_name}`\n )\n .then(() => handleClick())\n .catch((error) => {\n console.error('Error:', error)\n if (error.response.status !== 403 && error.response.status !== 401) {\n setErrorMsg(error.message)\n }\n })\n }\n\n const deepEqual = (obj1, obj2) => {\n if (obj1 === obj2) return true\n if (\n typeof obj1 !== 'object' ||\n typeof obj2 !== 'object' ||\n obj1 == null ||\n obj2 == null\n ) {\n return false\n }\n\n let keysA = Object.keys(obj1)\n let keysB = Object.keys(obj2)\n if (keysA.length !== keysB.length) return false\n for (let key of keysA) {\n if (!keysB.includes(key) || !deepEqual(obj1[key], obj2[key])) {\n return false\n }\n }\n return true\n }\n\n const handleTest = () => {\n setTestRes('')\n if (formData.chat_template) {\n try {\n nunjucks.configure({ autoescape: false })\n const test_res = nunjucks.renderString(formData.chat_template, {\n messages: messages,\n })\n if (test_res === '') {\n setTestRes(test_res)\n setTestErrorInfo('error')\n } else {\n setTestRes(test_res)\n setTestErrorInfo('')\n }\n } catch (error) {\n setTestErrorInfo(`${error}`)\n }\n }\n }\n\n const getStopTokenIds = (value) => {\n if (value.length === 1 && value[0] === '') {\n setFormData({\n ...formData,\n stop_token_ids: [],\n })\n } else {\n setFormData({\n ...formData,\n stop_token_ids: value,\n })\n }\n }\n\n const getStop = (value) => {\n if (value.length === 1 && value[0] === '') {\n setFormData({\n ...formData,\n stop: [],\n })\n } else {\n setFormData({\n ...formData,\n stop: value,\n })\n }\n }\n\n const handleFamilyAlert = () => {\n if (\n formData.model_ability?.includes('vision') &&\n !family?.vision?.includes(formData.model_family)\n ) {\n return true\n } else if (\n formData.model_ability?.includes('tools') &&\n !family?.tools?.includes(formData.model_family)\n ) {\n return true\n }\n return false\n }\n\n const handleChatTemplateAlert = () => {\n if (\n familyOptions?.filter((item) => item.id === formData.model_family)\n .length === 0 &&\n !formData.chat_template\n ) {\n return true\n }\n return false\n }\n\n const handleFamilyOptions = (model_ability) => {\n const abilityMap = {\n reasoning: { editable: false, source: family?.reasoning },\n audio: { editable: false, source: family?.audio },\n omni: { editable: false, source: family?.omni },\n hybrid: { editable: false, source: family?.hybrid },\n vision: { editable: false, source: family?.vision },\n tools: { editable: false, source: family?.tools },\n chat: { editable: true, source: family?.chat },\n generate: { editable: true, source: family?.generate },\n }\n\n const nonEditableGroup = [\n 'reasoning',\n 'audio',\n 'omni',\n 'hybrid',\n 'vision',\n 'tools',\n ]\n\n const matchedAbilities = Object.keys(abilityMap).filter((key) =>\n model_ability.includes(key)\n )\n\n const matchedNonEditable = matchedAbilities.filter((key) =>\n nonEditableGroup.includes(key)\n )\n\n if (matchedNonEditable.length > 1) {\n const baseSource = abilityMap[matchedNonEditable[0]]?.source || []\n let intersection = new Set(baseSource)\n\n for (let i = 1; i < matchedNonEditable.length; i++) {\n const currentSource = new Set(\n abilityMap[matchedNonEditable[i]]?.source || []\n )\n intersection = new Set(\n [...intersection].filter((item) => currentSource.has(item))\n )\n }\n\n setIsEditableFamily(false)\n setFamilyOptions(\n Array.from(intersection).map((item) => ({\n id: item,\n label: item,\n }))\n )\n return\n }\n\n const matched = matchedAbilities[0]\n if (matched) {\n const { editable, source } = abilityMap[matched]\n setIsEditableFamily(editable)\n setFamilyOptions(\n (source || []).map((item) => ({ id: item, label: item }))\n )\n } else {\n setIsEditableFamily(true)\n setFamilyOptions([])\n }\n }\n\n const changeVirtualenv = (type, index, value) => {\n if (type === 'add') {\n setFormData((prev) => {\n return {\n ...prev,\n virtualenv: {\n ...prev.virtualenv,\n packages: [...prev.virtualenv.packages, ''],\n },\n }\n })\n } else if (type === 'delete') {\n setFormData((prev) => {\n const newPackages = [...prev.virtualenv.packages]\n newPackages.splice(index, 1)\n\n return {\n ...prev,\n virtualenv: {\n ...prev.virtualenv,\n packages: newPackages,\n },\n }\n })\n } else if (type === 'change') {\n setFormData((prev) => {\n const newPackages = [...prev.virtualenv.packages]\n newPackages[index] = value\n\n return {\n ...prev,\n virtualenv: {\n ...prev.virtualenv,\n packages: newPackages,\n },\n }\n })\n }\n }\n\n return (\n <Box style={{ display: 'flex', overFlow: 'hidden', maxWidth: '100%' }}>\n <div className=\"show-json\">\n <p>{t('registerModel.showCustomJsonConfig')}</p>\n {isShow ? (\n <Tooltip title={t('registerModel.packUp')} placement=\"top\">\n <KeyboardDoubleArrowRightIcon\n className=\"icon arrow\"\n onClick={() => setIsShow(!isShow)}\n />\n </Tooltip>\n ) : (\n <Tooltip title={t('registerModel.unfold')} placement=\"top\">\n <NotesIcon\n className=\"icon notes\"\n onClick={() => setIsShow(!isShow)}\n />\n </Tooltip>\n )}\n </div>\n <div ref={scrollRef} className={isShow ? 'formBox' : 'formBox broaden'}>\n {/* Base Information */}\n <FormControl style={{ width: '100%' }}>\n {/* name */}\n {customData.model_name && (\n <>\n <TextField\n label={t('registerModel.modelName')}\n error={formData.model_name ? false : true}\n value={formData.model_name}\n size=\"small\"\n helperText={t(\n 'registerModel.alphanumericWithHyphensUnderscores'\n )}\n onChange={(event) =>\n setFormData({ ...formData, model_name: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* description */}\n {customData.model_description && (\n <>\n <TextField\n label={t('registerModel.modelDescription')}\n value={formData.model_description}\n size=\"small\"\n onChange={(event) =>\n setFormData({\n ...formData,\n model_description: event.target.value,\n })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* Context Length */}\n {customData.context_length && (\n <>\n <TextField\n error={Number(formData.context_length) > 0 ? false : true}\n label={t('registerModel.contextLength')}\n value={formData.context_length}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'context_length')\n }}\n />\n {isContextLengthAlert && (\n <Alert severity=\"error\">\n {t('registerModel.enterIntegerGreaterThanZero')}\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* dimensions */}\n {customData.dimensions && (\n <>\n <TextField\n label={t('registerModel.dimensions')}\n error={Number(formData.dimensions) > 0 ? false : true}\n value={formData.dimensions}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'dimensions')\n }}\n />\n {isDimensionsAlert && (\n <Alert severity=\"error\">\n {t('registerModel.enterIntegerGreaterThanZero')}\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* Max Tokens */}\n {customData.max_tokens && (\n <>\n <TextField\n label={t('registerModel.maxTokens')}\n error={Number(formData.max_tokens) > 0 ? false : true}\n value={formData.max_tokens}\n size=\"small\"\n onChange={(event) => {\n handleNumber(event.target.value, 'max_tokens')\n }}\n />\n {isMaxTokensAlert && (\n <Alert severity=\"error\">\n {t('registerModel.enterIntegerGreaterThanZero')}\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* path */}\n {customData.model_uri && (\n <>\n <TextField\n label={t('registerModel.modelPath')}\n error={formData.model_uri ? false : true}\n value={formData.model_uri}\n size=\"small\"\n helperText={t('registerModel.provideModelDirectoryPath')}\n onChange={(event) =>\n setFormData({ ...formData, model_uri: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* model_lang */}\n {(customData.model_lang || customData.language) && (\n <>\n <label\n style={{\n paddingLeft: 5,\n color:\n modelType === 'LLM'\n ? formData.model_lang.length === 0\n ? '#d32f2f'\n : 'inherit'\n : formData.language.length === 0\n ? '#d32f2f'\n : 'inherit',\n }}\n >\n {t('registerModel.modelLanguages')}\n </label>\n <Box className=\"checkboxWrapper\">\n {SUPPORTED_LANGUAGES.map((lang) => (\n <Box key={lang} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={\n modelType === 'LLM'\n ? formData.model_lang.includes(lang)\n : formData.language.includes(lang)\n }\n onChange={() => toggleLanguage(lang)}\n name={lang}\n />\n }\n label={SUPPORTED_LANGUAGES_DICT[lang]}\n style={{\n paddingLeft: 10,\n }}\n />\n </Box>\n ))}\n <FormControl sx={{ m: 1, minWidth: 120 }} size=\"small\">\n <InputLabel>{t('registerModel.languages')}</InputLabel>\n <Select\n value={''}\n label={t('registerModel.languages')}\n onChange={(e) => handleSelectLanguages(e.target.value)}\n MenuProps={{\n PaperProps: {\n style: { maxHeight: '20vh' },\n },\n }}\n >\n {languages\n .filter((item) => !languagesArr.includes(item.code))\n .map((item) => (\n <MenuItem key={item.code} value={item.code}>\n {item.code}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n <Stack direction=\"row\" spacing={1} style={{ marginLeft: '10px' }}>\n {languagesArr.map((item) => (\n <Chip\n key={item}\n label={item}\n variant=\"outlined\"\n size=\"small\"\n color=\"primary\"\n onDelete={() => handleDeleteLanguages(item)}\n />\n ))}\n </Stack>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* multilingual */}\n {'multilingual' in customData && (\n <>\n <label\n style={{\n paddingLeft: 5,\n }}\n >\n {t('registerModel.multilingual')}\n </label>\n <FormControlLabel\n style={{ marginLeft: 0, width: 50 }}\n control={<Switch checked={formData.multilingual} />}\n onChange={(e) =>\n setFormData({ ...formData, multilingual: e.target.checked })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* abilities */}\n {customData.model_ability && (\n <>\n <label\n style={{\n paddingLeft: 5,\n color:\n formData.model_ability.length == 0 ? '#d32f2f' : 'inherit',\n }}\n >\n {t('registerModel.modelAbilities')}\n </label>\n <Box className=\"checkboxWrapper\">\n {modelType === 'LLM' ? (\n <>\n {model_ability_options\n .find((item) => item.type === modelType)\n .options.map((ability) => (\n <Box key={ability} sx={{ marginRight: '10px' }}>\n <FormControlLabel\n control={\n <Checkbox\n checked={formData.model_ability.includes(\n ability.toLowerCase()\n )}\n onChange={() =>\n toggleAbility(ability.toLowerCase())\n }\n name={ability}\n />\n }\n label={ability}\n style={{\n paddingLeft: 10,\n }}\n />\n </Box>\n ))}\n </>\n ) : (\n <RadioGroup\n value={formData.model_ability}\n style={{ display: 'flex' }}\n onChange={(e) => {\n setFormData({\n ...formData,\n model_ability: [e.target.value],\n })\n }}\n >\n <Box\n className=\"checkboxWrapper\"\n sx={{ paddingLeft: '10px' }}\n >\n {model_ability_options\n .find((item) => item.type === modelType)\n .options.map((subItem) => (\n <FormControlLabel\n key={subItem}\n value={subItem}\n control={<Radio />}\n label={subItem}\n />\n ))}\n </Box>\n </RadioGroup>\n )}\n </Box>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* family */}\n {(customData.model_family === '' || customData.model_family) && (\n <>\n {modelType === 'LLM' && (\n <>\n <Autocomplete\n id=\"free-solo-demo\"\n freeSolo={isEditableFamily}\n options={familyOptions || []}\n size=\"small\"\n renderInput={(params) => (\n <TextField\n {...params}\n helperText={\n isEditableFamily\n ? t('registerModel.chooseBuiltInOrCustomModel')\n : t('registerModel.chooseOnlyBuiltInModel')\n }\n InputProps={{\n ...params.InputProps,\n disabled: !isEditableFamily,\n }}\n label={t('registerModel.modelFamily')}\n />\n )}\n value={formData.model_family}\n onChange={(_, newValue) => {\n handleFamily(newValue?.id)\n }}\n onInputChange={(_, newInputValue) => {\n if (isEditableFamily) {\n handleFamily(newInputValue)\n }\n }}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n {(modelType === 'image' || modelType === 'audio') && (\n <>\n <FormControl>\n <label\n style={{\n paddingLeft: 5,\n color: 'inherit',\n }}\n >\n {t('registerModel.modelFamily')}\n </label>\n <RadioGroup\n value={formData.model_family}\n style={{ display: 'flex' }}\n onChange={(e) => {\n setFormData({\n ...formData,\n model_family: e.target.value,\n })\n }}\n >\n <Box\n className=\"checkboxWrapper\"\n sx={{ paddingLeft: '10px' }}\n >\n {model_family_options\n .find((item) => item.type === modelType)\n .options.map((subItem) => (\n <FormControlLabel\n key={subItem}\n value={subItem}\n control={<Radio />}\n label={subItem}\n />\n ))}\n </Box>\n </RadioGroup>\n </FormControl>\n <Box padding=\"15px\"></Box>\n </>\n )}\n </>\n )}\n\n {/* chat_template */}\n {formData.model_ability?.includes('chat') && (\n <>\n <div className=\"chat_template_box\">\n <TextField\n label={t('registerModel.chatTemplate')}\n error={handleChatTemplateAlert()}\n value={formData.chat_template || ''}\n size=\"small\"\n helperText={t('registerModel.ensureChatTemplatePassesTest')}\n multiline\n rows={6}\n onChange={(event) =>\n setFormData({\n ...formData,\n chat_template: event.target.value,\n })\n }\n style={{ flex: 1 }}\n />\n <Button\n variant=\"contained\"\n onClick={handleTest}\n style={{ marginTop: 50 }}\n >\n {t('registerModel.test')}\n </Button>\n <div className=\"chat_template_test\">\n <div className=\"chat_template_test_mainBox\">\n <div\n style={{ display: 'flex', alignItems: 'center', gap: 5 }}\n >\n <span style={{ fontSize: 16 }}>\n {t('registerModel.messagesExample')}\n </span>\n <OpenInFullIcon\n onClick={() => setIsOpenMessages(true)}\n style={{\n fontSize: 14,\n color: '#666',\n cursor: 'pointer',\n }}\n />\n </div>\n <div>\n <span\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n fontSize: 16,\n }}\n >\n {t('registerModel.testResult')}\n {testErrorInfo ? (\n <Cancel style={{ color: 'red' }} />\n ) : testRes ? (\n <CheckCircleIcon\n style={{ color: 'rgb(46, 125, 50)' }}\n />\n ) : (\n ''\n )}\n </span>\n <div\n className=\"test_res_box\"\n style={{\n borderColor:\n testErrorInfo === ''\n ? testRes\n ? 'rgb(46, 125, 50)'\n : '#ddd'\n : 'rgb(46, 125, 50)',\n }}\n >\n {testErrorInfo !== ''\n ? testErrorInfo\n : testRes\n ? testRes\n : t('registerModel.noTestResults')}\n </div>\n </div>\n </div>\n <div\n className=\"chat_template_test_tip\"\n style={{ color: testErrorInfo === '' ? '' : '#d32f2f' }}\n >\n {t('registerModel.testFailurePreventsChatWorking')}\n </div>\n </div>\n </div>\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* stop_token_ids */}\n {formData.model_ability?.includes('chat') && (\n <>\n <AddStop\n label={t('registerModel.stopTokenIds')}\n arrItemType=\"number\"\n formData={formData.stop_token_ids}\n onGetData={getStopTokenIds}\n onGetError={(value) => {\n if (value.includes('false')) {\n setIsStopTokenIdsAlert(true)\n } else {\n setIsStopTokenIdsAlert(false)\n }\n }}\n helperText={t('registerModel.stopControlForChatModels')}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* stop */}\n {formData.model_ability?.includes('chat') && (\n <>\n <AddStop\n label={t('registerModel.stop')}\n arrItemType=\"string\"\n formData={formData.stop}\n onGetData={getStop}\n helperText={t('registerModel.stopControlStringForChatModels')}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* reasoning_start_tag */}\n {formData.model_ability?.includes('reasoning') && (\n <>\n <TextField\n label={t('registerModel.reasoningStartTag')}\n value={formData.reasoning_start_tag}\n size=\"small\"\n onChange={(event) =>\n setFormData({\n ...formData,\n reasoning_start_tag: event.target.value,\n })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* reasoning_end_tag */}\n {formData.model_ability?.includes('reasoning') && (\n <>\n <TextField\n label={t('registerModel.reasoningEndTag')}\n value={formData.reasoning_end_tag}\n size=\"small\"\n onChange={(event) =>\n setFormData({\n ...formData,\n reasoning_end_tag: event.target.value,\n })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* tool_parser */}\n {formData.model_ability?.includes('tools') && (\n <>\n <TextField\n label={t('registerModel.toolParser')}\n value={formData.tool_parser}\n size=\"small\"\n onChange={(event) =>\n setFormData({\n ...formData,\n tool_parser: event.target.value,\n })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* specs */}\n {customData.model_specs && (\n <>\n <AddModelSpecs\n isJump={model_name ? true : false}\n formData={customData.model_specs[0]}\n specsDataArr={specsArr}\n onGetArr={getSpecsArr}\n scrollRef={scrollRef}\n modelType={modelType}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* controlnet */}\n {customData.controlnet && (\n <>\n <AddControlnet\n controlnetDataArr={controlnetArr}\n onGetControlnetArr={getControlnetArr}\n scrollRef={scrollRef}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* launcher */}\n {customData.launcher && (\n <>\n <TextField\n label={t('registerModel.launcher')}\n error={formData.launcher ? false : true}\n value={formData.launcher}\n size=\"small\"\n helperText={t('registerModel.provideModelLauncher')}\n onChange={(event) =>\n setFormData({ ...formData, launcher: event.target.value })\n }\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* launcher_args */}\n {customData.launcher_args && (\n <>\n <TextField\n label={t('registerModel.launcherArguments')}\n value={formData.launcher_args}\n size=\"small\"\n helperText={t('registerModel.jsonArgumentsForLauncher')}\n onChange={(event) => {\n try {\n JSON.parse(event.target.value)\n setIsValidLauncherArgsAlert(false)\n } catch {\n setIsValidLauncherArgsAlert(true)\n }\n return setFormData({\n ...formData,\n launcher_args: event.target.value,\n })\n }}\n multiline\n rows={4}\n />\n {isValidLauncherArgsAlert && (\n <Alert severity=\"error\">\n {t('registerModel.enterJsonFormattedDictionary')}\n </Alert>\n )}\n <Box padding=\"15px\"></Box>\n </>\n )}\n\n {/* virtualenv */}\n {customData.virtualenv && (\n <>\n <AddVirtualenv\n virtualenv={formData.virtualenv}\n onChangeVirtualenv={changeVirtualenv}\n scrollRef={scrollRef}\n />\n <Box padding=\"15px\"></Box>\n </>\n )}\n </FormControl>\n\n {model_name ? (\n <>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleEdit}\n disabled={isEqual}\n >\n {t('registerModel.edit')}\n </Button>\n <Button\n style={{ marginLeft: 30 }}\n variant=\"outlined\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleCancel}\n >\n {t('registerModel.cancel')}\n </Button>\n </>\n ) : (\n <Box width={'100%'}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n type=\"submit\"\n onClick={handleClick}\n disabled={\n isContextLengthAlert ||\n isDimensionsAlert ||\n isMaxTokensAlert ||\n formData.model_lang?.length === 0 ||\n formData.language?.length === 0 ||\n formData.model_ability?.length === 0 ||\n (modelType === 'LLM' && !formData.model_family) ||\n isStopTokenIdsAlert ||\n handleFamilyAlert()\n }\n >\n {t('registerModel.registerModel')}\n </Button>\n </Box>\n )}\n </div>\n\n <Dialog\n open={isOpenMessages}\n onClose={() => setIsOpenMessages(false)}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogTitle id=\"alert-dialog-title\">\n {t('registerModel.messagesExample')}\n </DialogTitle>\n <DialogContent style={{ width: 600 }}>\n <TextField\n multiline\n fullWidth\n rows={10}\n disabled\n defaultValue={JSON.stringify(messages, null, 4)}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"contained\"\n onClick={() => setIsOpenMessages(false)}\n style={{ marginRight: 15, marginBottom: 15 }}\n >\n OK\n </Button>\n </DialogActions>\n </Dialog>\n\n {/* JSON */}\n <div className={isShow ? 'jsonBox' : 'jsonBox hide'}>\n <div className=\"jsonBox-header\">\n <div className=\"jsonBox-title\">{t('registerModel.JSONFormat')}</div>\n <CopyComponent tip={t('registerModel.copyAll')} text={jsonData} />\n </div>\n <textarea readOnly className=\"textarea\" value={jsonData} />\n </div>\n </Box>\n )\n}\n\nexport default RegisterModelComponent\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"ast":null,"code":"import _objectSpread from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _toConsumableArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js\";import _defineProperty from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";import _slicedToArray from\"/home/runner/work/inference/inference/xinference/ui/web/ui/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";import AddCircle from'@mui/icons-material/AddCircle';import DeleteIcon from'@mui/icons-material/Delete';import{Autocomplete,Box,IconButton,Stack,TextField}from'@mui/material';import React,{useContext}from'react';import{useTranslation}from'react-i18next';import{ApiContext}from'../../../components/apiContext';import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";import{Fragment as _Fragment}from\"react/jsx-runtime\";var DynamicFieldList=function DynamicFieldList(_ref){var name=_ref.name,label=_ref.label,mode=_ref.mode,_ref$value=_ref.value,value=_ref$value===void 0?[]:_ref$value,onChange=_ref.onChange,_ref$keyPlaceholder=_ref.keyPlaceholder,keyPlaceholder=_ref$keyPlaceholder===void 0?'key':_ref$keyPlaceholder,_ref$valuePlaceholder=_ref.valuePlaceholder,valuePlaceholder=_ref$valuePlaceholder===void 0?'value':_ref$valuePlaceholder,_ref$keyOptions=_ref.keyOptions,keyOptions=_ref$keyOptions===void 0?[]:_ref$keyOptions;var _useTranslation=useTranslation(),t=_useTranslation.t;var _useContext=useContext(ApiContext),setErrorMsg=_useContext.setErrorMsg;var _React$useState=React.useState({}),_React$useState2=_slicedToArray(_React$useState,2),errors=_React$useState2[0],setErrors=_React$useState2[1];var handleAdd=function handleAdd(){var _ref2;if(value.length>0){var lastItem=value[value.length-1];var isIncomplete=false;if(mode==='key-value'){isIncomplete=Object.values(lastItem).some(function(val){return typeof val==='string'?val.trim()==='':val===undefined||val===null;});}else if(mode==='value'){if(typeof lastItem==='string'){isIncomplete=lastItem.trim()==='';}else{isIncomplete=lastItem===undefined||lastItem===null;}}if(isIncomplete){setErrorMsg(t('launchModel.fillCompleteParametersBeforeAdding'));return;}}var newItem=mode==='key-value'?(_ref2={},_defineProperty(_ref2,keyPlaceholder,''),_defineProperty(_ref2,valuePlaceholder,''),_ref2):'';onChange(name,[].concat(_toConsumableArray(value),[newItem]));};var handleDelete=function handleDelete(index){var newItems=_toConsumableArray(value);newItems.splice(index,1);onChange(name,newItems);};var handleChange=function handleChange(index,field,val){var newItems=_toConsumableArray(value);newItems[index]=_objectSpread(_objectSpread({},newItems[index]),{},_defineProperty({},field,val));if(field===keyPlaceholder){var errorMap={};var keys=new Map();newItems.forEach(function(item,idx){var key=item[keyPlaceholder];if(!key)return;if(keys.has(key)){var firstIdx=keys.get(key);errorMap[firstIdx]=t('launchModel.mustBeUnique',{key:keyPlaceholder});errorMap[idx]=t('launchModel.mustBeUnique',{key:keyPlaceholder});}else{keys.set(key,idx);}});setErrors(errorMap);}onChange(name,newItems);};var handleChangeValueOnly=function handleChangeValueOnly(index,val){var newItems=_toConsumableArray(value);newItems[index]=val;onChange(name,newItems);};return/*#__PURE__*/_jsx(Box,{children:/*#__PURE__*/_jsxs(Stack,{spacing:2,children:[/*#__PURE__*/_jsxs(Box,{display:\"flex\",alignItems:\"center\",gap:1,paddingLeft:2,paddingTop:1,children:[/*#__PURE__*/_jsx(\"div\",{children:label}),/*#__PURE__*/_jsx(IconButton,{color:\"primary\",onClick:handleAdd,children:/*#__PURE__*/_jsx(AddCircle,{})})]}),value.map(function(item,index){return/*#__PURE__*/_jsxs(Box,{display:\"flex\",alignItems:\"start\",justifyContent:\"space-between\",gap:1,paddingLeft:2,children:[mode==='key-value'?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Autocomplete,{style:{width:'44%'},freeSolo:true,disablePortal:true,options:keyOptions,groupBy:function groupBy(){return t('components.suggestsCommonParameters');},value:item[keyPlaceholder],inputValue:item[keyPlaceholder],onInputChange:function onInputChange(_,newValue){return handleChange(index,keyPlaceholder,newValue);},renderInput:function renderInput(params){return/*#__PURE__*/_jsx(TextField,_objectSpread(_objectSpread({},params),{},{className:\"textHighlight\",label:keyPlaceholder,error:!!errors[index],helperText:errors[index]}));}}),/*#__PURE__*/_jsx(TextField,{className:\"textHighlight\",style:{width:'44%'},label:valuePlaceholder,value:item[valuePlaceholder],onChange:function onChange(e){return handleChange(index,valuePlaceholder,e.target.value);}})]}):/*#__PURE__*/_jsx(TextField,{fullWidth:true,className:\"textHighlight\",label:valuePlaceholder,value:item,onChange:function onChange(e){return handleChangeValueOnly(index,e.target.value);}}),/*#__PURE__*/_jsx(IconButton,{onClick:function onClick(){return handleDelete(index);},size:\"large\",children:/*#__PURE__*/_jsx(DeleteIcon,{})})]},index);})]})});};export default DynamicFieldList;","map":{"version":3,"names":["AddCircle","DeleteIcon","Autocomplete","Box","IconButton","Stack","TextField","React","useContext","useTranslation","ApiContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DynamicFieldList","_ref","name","label","mode","_ref$value","value","onChange","_ref$keyPlaceholder","keyPlaceholder","_ref$valuePlaceholder","valuePlaceholder","_ref$keyOptions","keyOptions","_useTranslation","t","_useContext","setErrorMsg","_React$useState","useState","_React$useState2","_slicedToArray","errors","setErrors","handleAdd","_ref2","length","lastItem","isIncomplete","Object","values","some","val","trim","undefined","newItem","_defineProperty","concat","_toConsumableArray","handleDelete","index","newItems","splice","handleChange","field","_objectSpread","errorMap","keys","Map","forEach","item","idx","key","has","firstIdx","get","set","handleChangeValueOnly","children","spacing","display","alignItems","gap","paddingLeft","paddingTop","color","onClick","map","justifyContent","style","width","freeSolo","disablePortal","options","groupBy","inputValue","onInputChange","_","newValue","renderInput","params","className","error","helperText","e","target","fullWidth","size"],"sources":["/home/runner/work/inference/inference/xinference/ui/web/ui/src/scenes/launch_model/components/dynamicFieldList.js"],"sourcesContent":["import AddCircle from '@mui/icons-material/AddCircle'\nimport DeleteIcon from '@mui/icons-material/Delete'\nimport { Autocomplete, Box, IconButton, Stack, TextField } from '@mui/material'\nimport React, { useContext } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { ApiContext } from '../../../components/apiContext'\n\nconst DynamicFieldList = ({\n name,\n label,\n mode,\n value = [],\n onChange,\n keyPlaceholder = 'key',\n valuePlaceholder = 'value',\n keyOptions = [],\n}) => {\n const { t } = useTranslation()\n const { setErrorMsg } = useContext(ApiContext)\n const [errors, setErrors] = React.useState({})\n\n const handleAdd = () => {\n if (value.length > 0) {\n const lastItem = value[value.length - 1]\n let isIncomplete = false\n\n if (mode === 'key-value') {\n isIncomplete = Object.values(lastItem).some((val) =>\n typeof val === 'string'\n ? val.trim() === ''\n : val === undefined || val === null\n )\n } else if (mode === 'value') {\n if (typeof lastItem === 'string') {\n isIncomplete = lastItem.trim() === ''\n } else {\n isIncomplete = lastItem === undefined || lastItem === null\n }\n }\n\n if (isIncomplete) {\n setErrorMsg(t('launchModel.fillCompleteParametersBeforeAdding'))\n return\n }\n }\n\n const newItem =\n mode === 'key-value'\n ? { [keyPlaceholder]: '', [valuePlaceholder]: '' }\n : ''\n onChange(name, [...value, newItem])\n }\n\n const handleDelete = (index) => {\n const newItems = [...value]\n newItems.splice(index, 1)\n onChange(name, newItems)\n }\n\n const handleChange = (index, field, val) => {\n const newItems = [...value]\n newItems[index] = { ...newItems[index], [field]: val }\n if (field === keyPlaceholder) {\n const errorMap = {}\n const keys = new Map()\n\n newItems.forEach((item, idx) => {\n const key = item[keyPlaceholder]\n if (!key) return\n\n if (keys.has(key)) {\n const firstIdx = keys.get(key)\n errorMap[firstIdx] = t('launchModel.mustBeUnique', {\n key: keyPlaceholder,\n })\n errorMap[idx] = t('launchModel.mustBeUnique', { key: keyPlaceholder })\n } else {\n keys.set(key, idx)\n }\n })\n setErrors(errorMap)\n }\n onChange(name, newItems)\n }\n\n const handleChangeValueOnly = (index, val) => {\n const newItems = [...value]\n newItems[index] = val\n onChange(name, newItems)\n }\n\n return (\n <Box>\n <Stack spacing={2}>\n <Box\n display=\"flex\"\n alignItems=\"center\"\n gap={1}\n paddingLeft={2}\n paddingTop={1}\n >\n <div>{label}</div>\n <IconButton color=\"primary\" onClick={handleAdd}>\n <AddCircle />\n </IconButton>\n </Box>\n {value.map((item, index) => (\n <Box\n key={index}\n display=\"flex\"\n alignItems=\"start\"\n justifyContent=\"space-between\"\n gap={1}\n paddingLeft={2}\n >\n {mode === 'key-value' ? (\n <>\n <Autocomplete\n style={{ width: '44%' }}\n freeSolo\n disablePortal\n options={keyOptions}\n groupBy={() => t('components.suggestsCommonParameters')}\n value={item[keyPlaceholder]}\n inputValue={item[keyPlaceholder]}\n onInputChange={(_, newValue) =>\n handleChange(index, keyPlaceholder, newValue)\n }\n renderInput={(params) => (\n <TextField\n {...params}\n className=\"textHighlight\"\n label={keyPlaceholder}\n error={!!errors[index]}\n helperText={errors[index]}\n />\n )}\n />\n <TextField\n className=\"textHighlight\"\n style={{ width: '44%' }}\n label={valuePlaceholder}\n value={item[valuePlaceholder]}\n onChange={(e) =>\n handleChange(index, valuePlaceholder, e.target.value)\n }\n />\n </>\n ) : (\n <TextField\n fullWidth\n className=\"textHighlight\"\n label={valuePlaceholder}\n value={item}\n onChange={(e) => handleChangeValueOnly(index, e.target.value)}\n />\n )}\n <IconButton onClick={() => handleDelete(index)} size=\"large\">\n <DeleteIcon />\n </IconButton>\n </Box>\n ))}\n </Stack>\n </Box>\n )\n}\n\nexport default DynamicFieldList\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|