{"version":3,"file":"18.CROwLxjj.js","sources":["../../../../../../src/routes/(app)/workspace/models/edit/+page.svelte"],"sourcesContent":["<script>\n\timport { v4 as uuidv4 } from 'uuid';\n\timport { toast } from 'svelte-sonner';\n\timport { goto } from '$app/navigation';\n\n\timport { onMount, getContext } from 'svelte';\n\timport { page } from '$app/stores';\n\timport { settings, user, config, models, tools, functions } from '$lib/stores';\n\timport { splitStream } from '$lib/utils';\n\n\timport { getModelInfos, updateModelById } from '$lib/apis/models';\n\n\timport AdvancedParams from '$lib/components/chat/Settings/Advanced/AdvancedParams.svelte';\n\timport { getModels } from '$lib/apis';\n\timport Checkbox from '$lib/components/common/Checkbox.svelte';\n\timport Tags from '$lib/components/common/Tags.svelte';\n\timport Knowledge from '$lib/components/workspace/Models/Knowledge.svelte';\n\timport ToolsSelector from '$lib/components/workspace/Models/ToolsSelector.svelte';\n\timport FiltersSelector from '$lib/components/workspace/Models/FiltersSelector.svelte';\n\timport ActionsSelector from '$lib/components/workspace/Models/ActionsSelector.svelte';\n\timport Capabilities from '$lib/components/workspace/Models/Capabilities.svelte';\n\n\tconst i18n = getContext('i18n');\n\n\tlet loading = false;\n\tlet success = false;\n\n\tlet filesInputElement;\n\tlet inputFiles;\n\n\tlet digest = '';\n\tlet pullProgress = null;\n\n\tlet showAdvanced = false;\n\tlet showPreview = false;\n\n\t// ///////////\n\t// model\n\t// ///////////\n\n\tlet model = null;\n\n\tlet id = '';\n\tlet name = '';\n\n\tlet info = {\n\t\tid: '',\n\t\tbase_model_id: null,\n\t\tname: '',\n\t\tmeta: {\n\t\t\tprofile_image_url: '/static/favicon.png',\n\t\t\tdescription: '',\n\t\t\tsuggestion_prompts: null,\n\t\t\ttags: []\n\t\t},\n\t\tparams: {\n\t\t\tsystem: ''\n\t\t}\n\t};\n\n\tlet params = {};\n\tlet capabilities = {\n\t\tvision: true\n\t};\n\n\tlet knowledge = [];\n\tlet toolIds = [];\n\tlet filterIds = [];\n\tlet actionIds = [];\n\n\tconst updateHandler = async () => {\n\t\tloading = true;\n\n\t\tinfo.id = id;\n\t\tinfo.name = name;\n\t\tinfo.meta.capabilities = capabilities;\n\n\t\tif (knowledge.length > 0) {\n\t\t\tinfo.meta.knowledge = knowledge;\n\t\t} else {\n\t\t\tif (info.meta.knowledge) {\n\t\t\t\tdelete info.meta.knowledge;\n\t\t\t}\n\t\t}\n\n\t\tif (toolIds.length > 0) {\n\t\t\tinfo.meta.toolIds = toolIds;\n\t\t} else {\n\t\t\tif (info.meta.toolIds) {\n\t\t\t\tdelete info.meta.toolIds;\n\t\t\t}\n\t\t}\n\n\t\tif (filterIds.length > 0) {\n\t\t\tinfo.meta.filterIds = filterIds;\n\t\t} else {\n\t\t\tif (info.meta.filterIds) {\n\t\t\t\tdelete info.meta.filterIds;\n\t\t\t}\n\t\t}\n\n\t\tif (actionIds.length > 0) {\n\t\t\tinfo.meta.actionIds = actionIds;\n\t\t} else {\n\t\t\tif (info.meta.actionIds) {\n\t\t\t\tdelete info.meta.actionIds;\n\t\t\t}\n\t\t}\n\n\t\tinfo.params.stop = params.stop ? params.stop.split(',').filter((s) => s.trim()) : null;\n\t\tObject.keys(info.params).forEach((key) => {\n\t\t\tif (info.params[key] === '' || info.params[key] === null) {\n\t\t\t\tdelete info.params[key];\n\t\t\t}\n\t\t});\n\n\t\tconst res = await updateModelById(localStorage.token, info.id, info);\n\n\t\tif (res) {\n\t\t\tawait models.set(await getModels(localStorage.token));\n\t\t\ttoast.success($i18n.t('Model updated successfully'));\n\t\t\tawait goto('/workspace/models');\n\t\t}\n\n\t\tloading = false;\n\t\tsuccess = false;\n\t};\n\n\tonMount(() => {\n\t\tconst _id = $page.url.searchParams.get('id');\n\n\t\tif (_id) {\n\t\t\tmodel = $models.find((m) => m.id === _id);\n\t\t\tif (model) {\n\t\t\t\tid = model.id;\n\t\t\t\tname = model.name;\n\n\t\t\t\tinfo = {\n\t\t\t\t\t...info,\n\t\t\t\t\t...JSON.parse(\n\t\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\t\tmodel?.info\n\t\t\t\t\t\t\t\t? model?.info\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\tid: model.id,\n\t\t\t\t\t\t\t\t\t\tname: model.name\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t};\n\n\t\t\t\tif (model.preset && model.owned_by === 'ollama' && !info.base_model_id.includes(':')) {\n\t\t\t\t\tinfo.base_model_id = `${info.base_model_id}:latest`;\n\t\t\t\t}\n\n\t\t\t\tparams = { ...params, ...model?.info?.params };\n\t\t\t\tparams.stop = params?.stop\n\t\t\t\t\t? (typeof params.stop === 'string' ? params.stop.split(',') : (params?.stop ?? [])).join(\n\t\t\t\t\t\t\t','\n\t\t\t\t\t\t)\n\t\t\t\t\t: null;\n\n\t\t\t\tif (model?.info?.meta?.knowledge) {\n\t\t\t\t\tknowledge = [...model?.info?.meta?.knowledge];\n\t\t\t\t}\n\n\t\t\t\tif (model?.info?.meta?.toolIds) {\n\t\t\t\t\ttoolIds = [...model?.info?.meta?.toolIds];\n\t\t\t\t}\n\n\t\t\t\tif (model?.info?.meta?.filterIds) {\n\t\t\t\t\tfilterIds = [...model?.info?.meta?.filterIds];\n\t\t\t\t}\n\n\t\t\t\tif (model?.info?.meta?.actionIds) {\n\t\t\t\t\tactionIds = [...model?.info?.meta?.actionIds];\n\t\t\t\t}\n\n\t\t\t\tif (model?.owned_by === 'openai') {\n\t\t\t\t\tcapabilities.usage = false;\n\t\t\t\t}\n\n\t\t\t\tif (model?.info?.meta?.capabilities) {\n\t\t\t\t\tcapabilities = { ...capabilities, ...model?.info?.meta?.capabilities };\n\t\t\t\t}\n\n\t\t\t\tconsole.log(model);\n\t\t\t} else {\n\t\t\t\tgoto('/workspace/models');\n\t\t\t}\n\t\t} else {\n\t\t\tgoto('/workspace/models');\n\t\t}\n\t});\n</script>\n\n<div class=\"w-full max-h-full\">\n\t<input\n\t\tbind:this={filesInputElement}\n\t\tbind:files={inputFiles}\n\t\ttype=\"file\"\n\t\thidden\n\t\taccept=\"image/*\"\n\t\ton:change={() => {\n\t\t\tlet reader = new FileReader();\n\t\t\treader.onload = (event) => {\n\t\t\t\tlet originalImageUrl = `${event.target.result}`;\n\n\t\t\t\tconst img = new Image();\n\t\t\t\timg.src = originalImageUrl;\n\n\t\t\t\timg.onload = function () {\n\t\t\t\t\tconst canvas = document.createElement('canvas');\n\t\t\t\t\tconst ctx = canvas.getContext('2d');\n\n\t\t\t\t\t// Calculate the aspect ratio of the image\n\t\t\t\t\tconst aspectRatio = img.width / img.height;\n\n\t\t\t\t\t// Calculate the new width and height to fit within 100x100\n\t\t\t\t\tlet newWidth, newHeight;\n\t\t\t\t\tif (aspectRatio > 1) {\n\t\t\t\t\t\tnewWidth = 250 * aspectRatio;\n\t\t\t\t\t\tnewHeight = 250;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewWidth = 250;\n\t\t\t\t\t\tnewHeight = 250 / aspectRatio;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Set the canvas size\n\t\t\t\t\tcanvas.width = 250;\n\t\t\t\t\tcanvas.height = 250;\n\n\t\t\t\t\t// Calculate the position to center the image\n\t\t\t\t\tconst offsetX = (250 - newWidth) / 2;\n\t\t\t\t\tconst offsetY = (250 - newHeight) / 2;\n\n\t\t\t\t\t// Draw the image on the canvas\n\t\t\t\t\tctx.drawImage(img, offsetX, offsetY, newWidth, newHeight);\n\n\t\t\t\t\t// Get the base64 representation of the compressed image\n\t\t\t\t\tconst compressedSrc = canvas.toDataURL();\n\n\t\t\t\t\t// Display the compressed image\n\t\t\t\t\tinfo.meta.profile_image_url = compressedSrc;\n\n\t\t\t\t\tinputFiles = null;\n\t\t\t\t};\n\t\t\t};\n\n\t\t\tif (\n\t\t\t\tinputFiles &&\n\t\t\t\tinputFiles.length > 0 &&\n\t\t\t\t['image/gif', 'image/webp', 'image/jpeg', 'image/png', 'image/svg+xml'].includes(\n\t\t\t\t\tinputFiles[0]['type']\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treader.readAsDataURL(inputFiles[0]);\n\t\t\t} else {\n\t\t\t\tconsole.log(`Unsupported File Type '${inputFiles[0]['type']}'.`);\n\t\t\t\tinputFiles = null;\n\t\t\t}\n\t\t}}\n\t/>\n\n\t<button\n\t\tclass=\"flex space-x-1\"\n\t\ton:click={() => {\n\t\t\tgoto('/workspace/models');\n\t\t}}\n\t>\n\t\t<div class=\" self-center\">\n\t\t\t<svg\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\tclass=\"w-4 h-4\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\td=\"M17 10a.75.75 0 01-.75.75H5.612l4.158 3.96a.75.75 0 11-1.04 1.08l-5.5-5.25a.75.75 0 010-1.08l5.5-5.25a.75.75 0 111.04 1.08L5.612 9.25H16.25A.75.75 0 0117 10z\"\n\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</div>\n\t\t<div class=\" self-center font-medium text-sm\">{$i18n.t('Back')}</div>\n\t</button>\n\n\t{#if model}\n\t\t<form\n\t\t\tclass=\"flex flex-col max-w-2xl mx-auto mt-4 mb-10\"\n\t\t\ton:submit|preventDefault={() => {\n\t\t\t\tupdateHandler();\n\t\t\t}}\n\t\t>\n\t\t\t<div class=\"flex justify-center my-4\">\n\t\t\t\t<div class=\"self-center\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\" {info.meta.profile_image_url\n\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t: 'p-4'} rounded-full border border-dashed border-gray-200 flex items-center\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\tfilesInputElement.click();\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#if info.meta.profile_image_url}\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={info.meta.profile_image_url}\n\t\t\t\t\t\t\t\talt=\"modelfile profile\"\n\t\t\t\t\t\t\t\tclass=\" rounded-full size-16 object-cover\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\tclass=\"size-8\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\t\t\t\t\td=\"M12 3.75a.75.75 0 01.75.75v6.75h6.75a.75.75 0 010 1.5h-6.75v6.75a.75.75 0 01-1.5 0v-6.75H4.5a.75.75 0 010-1.5h6.75V4.5a.75.75 0 01.75-.75z\"\n\t\t\t\t\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"mt-2 my-1 flex space-x-2\">\n\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t<div class=\" text-sm font-semibold mb-1\">{$i18n.t('Name')}*</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\t\t\tplaceholder={$i18n.t('Name your model')}\n\t\t\t\t\t\t\tbind:value={name}\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t<div class=\" text-sm font-semibold mb-1\">{$i18n.t('Model ID')}*</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent disabled:text-gray-500 border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\t\t\tplaceholder={$i18n.t('Add a model id')}\n\t\t\t\t\t\t\tvalue={id}\n\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t{#if model.preset}\n\t\t\t\t<div class=\"my-1\">\n\t\t\t\t\t<div class=\" text-sm font-semibold mb-1\">{$i18n.t('Base Model (From)')}</div>\n\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\t\t\tplaceholder=\"Select a base model (e.g. llama3, gpt-4o)\"\n\t\t\t\t\t\t\tbind:value={info.base_model_id}\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<option value={null} class=\" text-gray-900\">{$i18n.t('Select a base model')}</option>\n\t\t\t\t\t\t\t{#each $models.filter((m) => m.id !== model.id && !m?.preset) as model}\n\t\t\t\t\t\t\t\t<option value={model.id} class=\" text-gray-900\">{model.name}</option>\n\t\t\t\t\t\t\t{/each}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t{/if}\n\n\t\t\t<div class=\"my-1\">\n\t\t\t\t<div class=\"flex w-full justify-between items-center\">\n\t\t\t\t\t<div class=\" self-center text-sm font-semibold\">{$i18n.t('Description')}</div>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"p-1 text-xs flex rounded transition\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\tif (info.meta.description === null) {\n\t\t\t\t\t\t\t\tinfo.meta.description = '';\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinfo.meta.description = null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#if info.meta.description === null}\n\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Default')}</span>\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Custom')}</span>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{#if info.meta.description !== null}\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tclass=\"mt-1 px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\t\tplaceholder={$i18n.t('Add a short description about what this model does')}\n\t\t\t\t\t\tbind:value={info.meta.description}\n\t\t\t\t\t\trow=\"3\"\n\t\t\t\t\t/>\n\t\t\t\t{/if}\n\t\t\t</div>\n\n\t\t\t<hr class=\" dark:border-gray-850 my-1\" />\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<div class=\"flex w-full justify-between\">\n\t\t\t\t\t<div class=\" self-center text-sm font-semibold\">{$i18n.t('Model Params')}</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- <div class=\" text-sm font-semibold mb-2\"></div> -->\n\n\t\t\t\t<div class=\"mt-2\">\n\t\t\t\t\t<div class=\"my-1\">\n\t\t\t\t\t\t<div class=\" text-xs font-semibold mb-2\">{$i18n.t('System Prompt')}</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg -mb-1\"\n\t\t\t\t\t\t\t\tplaceholder={`Write your model system prompt content here\\ne.g.) You are Mario from Super Mario Bros, acting as an assistant.`}\n\t\t\t\t\t\t\t\trows=\"4\"\n\t\t\t\t\t\t\t\tbind:value={info.params.system}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex w-full justify-between\">\n\t\t\t\t\t\t<div class=\" self-center text-xs font-semibold\">\n\t\t\t\t\t\t\t{$i18n.t('Advanced Params')}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\"p-1 px-3 text-xs flex rounded transition\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\t\tshowAdvanced = !showAdvanced;\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{#if showAdvanced}\n\t\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Hide')}</span>\n\t\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Show')}</span>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{#if showAdvanced}\n\t\t\t\t\t\t<div class=\"my-2\">\n\t\t\t\t\t\t\t<AdvancedParams\n\t\t\t\t\t\t\t\tadmin={true}\n\t\t\t\t\t\t\t\tbind:params\n\t\t\t\t\t\t\t\ton:change={(e) => {\n\t\t\t\t\t\t\t\t\tinfo.params = { ...info.params, ...params };\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/if}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<hr class=\" dark:border-gray-850 my-1\" />\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<div class=\"flex w-full justify-between items-center\">\n\t\t\t\t\t<div class=\"flex w-full justify-between items-center\">\n\t\t\t\t\t\t<div class=\" self-center text-sm font-semibold\">{$i18n.t('Prompt suggestions')}</div>\n\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\"p-1 text-xs flex rounded transition\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\t\tif ((info?.meta?.suggestion_prompts ?? null) === null) {\n\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts = [{ content: '' }];\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts = null;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{#if (info?.meta?.suggestion_prompts ?? null) === null}\n\t\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Default')}</span>\n\t\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Custom')}</span>\n\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{#if (info?.meta?.suggestion_prompts ?? null) !== null}\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\"p-1 px-2 text-xs flex rounded transition\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts.length === 0 ||\n\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts.at(-1).content !== ''\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts = [...info.meta.suggestion_prompts, { content: '' }];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\tclass=\"w-4 h-4\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\td=\"M10.75 4.75a.75.75 0 00-1.5 0v4.5h-4.5a.75.75 0 000 1.5h4.5v4.5a.75.75 0 001.5 0v-4.5h4.5a.75.75 0 000-1.5h-4.5v-4.5z\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t{/if}\n\t\t\t\t</div>\n\n\t\t\t\t{#if info?.meta?.suggestion_prompts}\n\t\t\t\t\t<div class=\"flex flex-col space-y-1 mt-2\">\n\t\t\t\t\t\t{#if info.meta.suggestion_prompts.length > 0}\n\t\t\t\t\t\t\t{#each info.meta.suggestion_prompts as prompt, promptIdx}\n\t\t\t\t\t\t\t\t<div class=\" flex border dark:border-gray-600 rounded-lg\">\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent outline-none border-r dark:border-gray-600\"\n\t\t\t\t\t\t\t\t\t\tplaceholder={$i18n.t('Write a prompt suggestion (e.g. Who are you?)')}\n\t\t\t\t\t\t\t\t\t\tbind:value={prompt.content}\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tclass=\"px-2\"\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts.splice(promptIdx, 1);\n\t\t\t\t\t\t\t\t\t\t\tinfo.meta.suggestion_prompts = info.meta.suggestion_prompts;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-4 h-4\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M6.28 5.22a.75.75 0 00-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 101.06 1.06L10 11.06l3.72 3.72a.75.75 0 101.06-1.06L11.06 10l3.72-3.72a.75.75 0 00-1.06-1.06L10 8.94 6.28 5.22z\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{/each}\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<div class=\"text-xs text-center\">No suggestion prompts</div>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<Knowledge bind:knowledge />\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<ToolsSelector bind:selectedToolIds={toolIds} tools={$tools} />\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<FiltersSelector\n\t\t\t\t\tbind:selectedFilterIds={filterIds}\n\t\t\t\t\tfilters={$functions.filter((func) => func.type === 'filter')}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<ActionsSelector\n\t\t\t\t\tbind:selectedActionIds={actionIds}\n\t\t\t\t\tactions={$functions.filter((func) => func.type === 'action')}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2\">\n\t\t\t\t<Capabilities bind:capabilities />\n\t\t\t</div>\n\n\t\t\t<div class=\"my-1\">\n\t\t\t\t<div class=\"flex w-full justify-between items-center\">\n\t\t\t\t\t<div class=\" self-center text-sm font-semibold\">{$i18n.t('Tags')}</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-2\">\n\t\t\t\t\t<Tags\n\t\t\t\t\t\ttags={info?.meta?.tags ?? []}\n\t\t\t\t\t\tdeleteTag={(tagName) => {\n\t\t\t\t\t\t\tinfo.meta.tags = info.meta.tags.filter((tag) => tag.name !== tagName);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\taddTag={(tagName) => {\n\t\t\t\t\t\t\tconsole.log(tagName);\n\t\t\t\t\t\t\tif (!(info?.meta?.tags ?? null)) {\n\t\t\t\t\t\t\t\tinfo.meta.tags = [{ name: tagName }];\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tinfo.meta.tags = [...info.meta.tags, { name: tagName }];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2 text-gray-300 dark:text-gray-700\">\n\t\t\t\t<div class=\"flex w-full justify-between mb-2\">\n\t\t\t\t\t<div class=\" self-center text-sm font-semibold\">{$i18n.t('JSON Preview')}</div>\n\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"p-1 px-3 text-xs flex rounded transition\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\ton:click={() => {\n\t\t\t\t\t\t\tshowPreview = !showPreview;\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{#if showPreview}\n\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Hide')}</span>\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<span class=\"ml-2 self-center\">{$i18n.t('Show')}</span>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\n\t\t\t\t{#if showPreview}\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\t\t\trows=\"10\"\n\t\t\t\t\t\t\tvalue={JSON.stringify(info, null, 2)}\n\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</div>\n\n\t\t\t<div class=\"my-2 flex justify-end mb-20\">\n\t\t\t\t<button\n\t\t\t\t\tclass=\" text-sm px-3 py-2 transition rounded-xl {loading\n\t\t\t\t\t\t? ' cursor-not-allowed bg-gray-100 dark:bg-gray-800'\n\t\t\t\t\t\t: ' bg-gray-50 hover:bg-gray-100 dark:bg-gray-700 dark:hover:bg-gray-800'} flex\"\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t>\n\t\t\t\t\t<div class=\" self-center font-medium\">{$i18n.t('Save & Update')}</div>\n\n\t\t\t\t\t{#if loading}\n\t\t\t\t\t\t<div class=\"ml-1.5 self-center\">\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tclass=\" w-4 h-4\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\t><style>\n\t\t\t\t\t\t\t\t\t.spinner_ajPY {\n\t\t\t\t\t\t\t\t\t\ttransform-origin: center;\n\t\t\t\t\t\t\t\t\t\tanimation: spinner_AtaB 0.75s infinite linear;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t@keyframes spinner_AtaB {\n\t\t\t\t\t\t\t\t\t\t100% {\n\t\t\t\t\t\t\t\t\t\t\ttransform: rotate(360deg);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style><path\n\t\t\t\t\t\t\t\t\td=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\"\n\t\t\t\t\t\t\t\t\topacity=\".25\"\n\t\t\t\t\t\t\t\t/><path\n\t\t\t\t\t\t\t\t\td=\"M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z\"\n\t\t\t\t\t\t\t\t\tclass=\"spinner_ajPY\"\n\t\t\t\t\t\t\t\t/></svg\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t{/if}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</form>\n\t{/if}\n</div>\n"],"names":["ctx","create_if_block_13","if_block1","create_if_block_12","create_if_block_11","if_block3","create_if_block_10","create_if_block_9","create_if_block_8","_b","_a","create_if_block_7","if_block7","create_if_block_6","_d","_c","create_if_block_4","func_1","func_2","_f","_e","create_if_block_3","create_if_block_2","create_if_block_1","attr","button0","button0_class_value","button5","button5_class_value","insert_hydration","target","form","anchor","append_hydration","div1","div0","div8","div4","div2","div3","input0","div7","div5","div6","input1","div11","div10","div9","button1","hr0","div20","div13","div12","div19","div16","div14","div15","textarea","div18","div17","button2","hr1","div24","div23","div22","div21","button3","div25","div26","div27","div28","div29","div33","div31","div30","div32","div36","div35","div34","button4","div38","div37","current","dirty","set_data","t1","t1_value","t5","t5_value","t10","t10_value","t15","t15_value","t17","t17_value","t20","t20_value","t25","t25_value","filtersselector_changes","actionsselector_changes","t35","t35_value","t38","t38_value","t42","t42_value","svg","path","img_1","img_1_src_value","each_value_1","ensure_array_like","i","add_render_callback","select","option","select_option","t0","t0_value","t2","t2_value","t_value","option_value_value","t","span","div","button","create_if_block_5","input","set_input_value","textarea_value_value","create_if_block","func","i18n","getContext","loading","filesInputElement","inputFiles","showAdvanced","showPreview","model","id","name","info","params","capabilities","knowledge","toolIds","filterIds","actionIds","updateHandler","$$invalidate","s","key","updateModelById","models","getModels","toast","$i18n","goto","onMount","_id","$page","$models","m","_g","_i","_h","_k","_j","_m","_l","_o","_n","_q","_p","_s","_r","_u","_t","$$value","reader","event","originalImageUrl","img","canvas","aspectRatio","newWidth","newHeight","offsetX","offsetY","compressedSrc","select_value","e","promptIdx","value","tagName","tag"],"mappings":"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"} |