{"version":3,"file":"ManifestModal.C5qQKGnc.js","sources":["../../../../../../src/lib/components/workspace/common/ValvesModal.svelte","../../../../../../src/lib/components/workspace/common/ManifestModal.svelte"],"sourcesContent":["<script lang=\"ts\">\n\timport { toast } from 'svelte-sonner';\n\timport { createEventDispatcher } from 'svelte';\n\timport { onMount, getContext } from 'svelte';\n\timport { addUser } from '$lib/apis/auths';\n\n\timport Modal from '../../common/Modal.svelte';\n\timport {\n\t\tgetFunctionValvesById,\n\t\tgetFunctionValvesSpecById,\n\t\tupdateFunctionValvesById\n\t} from '$lib/apis/functions';\n\timport { getToolValvesById, getToolValvesSpecById, updateToolValvesById } from '$lib/apis/tools';\n\timport Spinner from '../../common/Spinner.svelte';\n\timport Switch from '$lib/components/common/Switch.svelte';\n\timport Valves from '$lib/components/common/Valves.svelte';\n\n\tconst i18n = getContext('i18n');\n\tconst dispatch = createEventDispatcher();\n\n\texport let show = false;\n\n\texport let type = 'tool';\n\texport let id = null;\n\n\tlet saving = false;\n\tlet loading = false;\n\n\tlet valvesSpec = null;\n\tlet valves = {};\n\n\tconst submitHandler = async () => {\n\t\tsaving = true;\n\n\t\tif (valvesSpec) {\n\t\t\t// Convert string to array\n\t\t\tfor (const property in valvesSpec.properties) {\n\t\t\t\tif (valvesSpec.properties[property]?.type === 'array') {\n\t\t\t\t\tvalves[property] = (valves[property] ?? '').split(',').map((v) => v.trim());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet res = null;\n\n\t\t\tif (type === 'tool') {\n\t\t\t\tres = await updateToolValvesById(localStorage.token, id, valves).catch((error) => {\n\t\t\t\t\ttoast.error(error);\n\t\t\t\t});\n\t\t\t} else if (type === 'function') {\n\t\t\t\tres = await updateFunctionValvesById(localStorage.token, id, valves).catch((error) => {\n\t\t\t\t\ttoast.error(error);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (res) {\n\t\t\t\ttoast.success('Valves updated successfully');\n\t\t\t\tdispatch('save');\n\t\t\t}\n\t\t}\n\n\t\tsaving = false;\n\t};\n\n\tconst initHandler = async () => {\n\t\tloading = true;\n\t\tvalves = {};\n\t\tvalvesSpec = null;\n\n\t\tif (type === 'tool') {\n\t\t\tvalves = await getToolValvesById(localStorage.token, id);\n\t\t\tvalvesSpec = await getToolValvesSpecById(localStorage.token, id);\n\t\t} else if (type === 'function') {\n\t\t\tvalves = await getFunctionValvesById(localStorage.token, id);\n\t\t\tvalvesSpec = await getFunctionValvesSpecById(localStorage.token, id);\n\t\t}\n\n\t\tif (!valves) {\n\t\t\tvalves = {};\n\t\t}\n\n\t\tif (valvesSpec) {\n\t\t\t// Convert array to string\n\t\t\tfor (const property in valvesSpec.properties) {\n\t\t\t\tif (valvesSpec.properties[property]?.type === 'array') {\n\t\t\t\t\tvalves[property] = (valves[property] ?? []).join(',');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tloading = false;\n\t};\n\n\t$: if (show) {\n\t\tinitHandler();\n\t}\n</script>\n\n<Modal size=\"sm\" bind:show>\n\t<div>\n\t\t<div class=\" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2\">\n\t\t\t<div class=\" text-lg font-medium self-center\">{$i18n.t('Valves')}</div>\n\t\t\t<button\n\t\t\t\tclass=\"self-center\"\n\t\t\t\ton:click={() => {\n\t\t\t\t\tshow = false;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\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/>\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</div>\n\n\t\t<div class=\"flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200\">\n\t\t\t<div class=\" flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6\">\n\t\t\t\t<form\n\t\t\t\t\tclass=\"flex flex-col w-full\"\n\t\t\t\t\ton:submit|preventDefault={() => {\n\t\t\t\t\t\tsubmitHandler();\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"px-1\">\n\t\t\t\t\t\t{#if !loading}\n\t\t\t\t\t\t\t<Valves {valvesSpec} bind:valves />\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<Spinner className=\"size-5\" />\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"flex justify-end pt-3 text-sm font-medium\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg flex flex-row space-x-1 items-center {saving\n\t\t\t\t\t\t\t\t? ' cursor-not-allowed'\n\t\t\t\t\t\t\t\t: ''}\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={saving}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{$i18n.t('Save')}\n\n\t\t\t\t\t\t\t{#if saving}\n\t\t\t\t\t\t\t\t<div class=\"ml-2 self-center\">\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\tclass=\" w-4 h-4\"\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\tfill=\"currentColor\"\n\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><style>\n\t\t\t\t\t\t\t\t\t\t\t.spinner_ajPY {\n\t\t\t\t\t\t\t\t\t\t\t\ttransform-origin: center;\n\t\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t\t@keyframes spinner_AtaB {\n\t\t\t\t\t\t\t\t\t\t\t\t100% {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransform: rotate(360deg);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</style><path\n\t\t\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\t\t\topacity=\".25\"\n\t\t\t\t\t\t\t\t\t\t/><path\n\t\t\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\t\t\tclass=\"spinner_ajPY\"\n\t\t\t\t\t\t\t\t\t\t/></svg\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\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\t\t\t\t</form>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</Modal>\n\n<style>\n\tinput::-webkit-outer-spin-button,\n\tinput::-webkit-inner-spin-button {\n\t\t/* display: none; <- Crashes Chrome on hover */\n\t\t-webkit-appearance: none;\n\t\tmargin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n\t}\n\n\t.tabs::-webkit-scrollbar {\n\t\tdisplay: none; /* for Chrome, Safari and Opera */\n\t}\n\n\t.tabs {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\n\tinput[type='number'] {\n\t\t-moz-appearance: textfield; /* Firefox */\n\t}\n</style>\n","<script lang=\"ts\">\n\timport { toast } from 'svelte-sonner';\n\timport { createEventDispatcher } from 'svelte';\n\timport { onMount, getContext } from 'svelte';\n\n\timport Modal from '../../common/Modal.svelte';\n\n\tconst i18n = getContext('i18n');\n\tconst dispatch = createEventDispatcher();\n\n\texport let show = false;\n\texport let manifest = {};\n</script>\n\n<Modal size=\"sm\" bind:show>\n\t<div>\n\t\t<div class=\" flex justify-between dark:text-gray-300 px-5 pt-4 pb-2\">\n\t\t\t<div class=\" text-lg font-medium self-center\">{$i18n.t('Show your support!')}</div>\n\t\t\t<button\n\t\t\t\tclass=\"self-center\"\n\t\t\t\ton:click={() => {\n\t\t\t\t\tshow = false;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<svg\n\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t>\n\t\t\t\t\t<path\n\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/>\n\t\t\t\t</svg>\n\t\t\t</button>\n\t\t</div>\n\n\t\t<div class=\"flex flex-col md:flex-row w-full px-5 pb-4 md:space-x-4 dark:text-gray-200\">\n\t\t\t<div class=\" flex flex-col w-full sm:flex-row sm:justify-center sm:space-x-6\">\n\t\t\t\t<form\n\t\t\t\t\tclass=\"flex flex-col w-full\"\n\t\t\t\t\ton:submit|preventDefault={() => {\n\t\t\t\t\t\tshow = false;\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"px-1 text-sm\">\n\t\t\t\t\t\t<div class=\"my-2\">\n\t\t\t\t\t\t\t{$i18n.t(\n\t\t\t\t\t\t\t\t'The developers behind this plugin are passionate volunteers from the community. If you find this plugin helpful, please consider contributing to its development.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"my-2\">\n\t\t\t\t\t\t\t{$i18n.t(\n\t\t\t\t\t\t\t\t'Your entire contribution will go directly to the plugin developer; Open WebUI does not take any percentage. However, the chosen funding platform might have its own fees.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr class=\"dark:border-gray-800 my-3\" />\n\t\t\t\t\t\t<div class=\"my-2\">\n\t\t\t\t\t\t\t{$i18n.t('Support this plugin:')}\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={manifest.funding_url}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tclass=\"underline text-blue-400 hover:text-blue-300\">{manifest.funding_url}</a\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 justify-end pt-3 text-sm font-medium\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclass=\" px-4 py-2 bg-emerald-700 hover:bg-emerald-800 text-gray-100 transition rounded-lg flex flex-row space-x-1 items-center\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{$i18n.t('Done')}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</Modal>\n\n<style>\n\tinput::-webkit-outer-spin-button,\n\tinput::-webkit-inner-spin-button {\n\t\t/* display: none; <- Crashes Chrome on hover */\n\t\t-webkit-appearance: none;\n\t\tmargin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n\t}\n\n\t.tabs::-webkit-scrollbar {\n\t\tdisplay: none; /* for Chrome, Safari and Opera */\n\t}\n\n\t.tabs {\n\t\t-ms-overflow-style: none; /* IE and Edge */\n\t\tscrollbar-width: none; /* Firefox */\n\t}\n\n\tinput[type='number'] {\n\t\t-moz-appearance: textfield; /* Firefox */\n\t}\n</style>\n"],"names":["insert_hydration","target","div","anchor","ctx","create_if_block","div6","append_hydration","div1","div0","button0","div5","div4","form","div2","div3","button1","set_data","t0","t0_value","t4","t4_value","i18n","getContext","dispatch","createEventDispatcher","show","$$props","type","id","saving","loading","valvesSpec","valves","submitHandler","property","_a","v","res","updateToolValvesById","error","toast","updateFunctionValvesById","initHandler","$$invalidate","getToolValvesById","getToolValvesSpecById","getFunctionValvesById","getFunctionValvesSpecById","t10_value","attr","a","a_href_value","div9","div8","div7","hr","t3","t3_value","t5","t5_value","t8","t8_value","dirty","t10","t12","t12_value","manifest"],"mappings":"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"} |