{$i18n.t("Tools")} • {$REXPRO_NAME} { sessionStorage.tool = JSON.stringify({ ...tool, }); goto("/workspace/tools/create"); }} loadUrlHandler={async (url) => { return await loadToolByUrl(localStorage.token, url); }} successMessage={$i18n.t("Tool imported successfully")} /> {#if loaded}
{ console.log(importFiles); showConfirm = true; }} />
{$i18n.t("Tools")}
{filteredItems.length}
{#if $user?.role === "admin" || $user?.permissions?.workspace?.tools_import} {/if} {#if tools.length && ($user?.role === "admin" || $user?.permissions?.workspace?.tools_export)} {/if} {#if $user?.role === "admin"} { goto("/workspace/tools/create"); }} importFromLinkHandler={() => { showImportModal = true; }} >
{:else} {/if}
{#if query}
{/if}
{ if (e.deltaY !== 0) { e.preventDefault(); e.currentTarget.scrollLeft += e.deltaY; } }} >
{ localStorage.workspaceViewOption = value; await tick(); }} />
{#if (filteredItems ?? []).length !== 0}
{#each filteredItems as tool}
{#if tool.write_access}
{tool.name}
{#if tool?.meta?.manifest?.version}
v{tool?.meta ?.manifest ?.version ?? ""}
{/if}
{$i18n.t( "By {{name}}", { name: capitalizeFirstLetter( tool?.user ?.name ?? tool ?.user ?.email ?? $i18n.t( "Deleted User", ), ), }, )}
{:else}
{tool.name}
{#if tool?.meta?.manifest?.version}
v{tool?.meta ?.manifest ?.version ?? ""}
{/if}
{$i18n.t( "By {{name}}", { name: capitalizeFirstLetter( tool?.user ?.name ?? tool ?.user ?.email ?? $i18n.t( "Deleted User", ), ), }, )}
{/if} {#if tool.write_access}
{#if shiftKey} {:else} {#if tool?.meta?.manifest?.funding_url ?? false} {/if} { goto( `/workspace/tools/edit?id=${encodeURIComponent(tool.id)}`, ); }} shareHandler={() => { shareHandler(tool); }} cloneHandler={() => { cloneHandler(tool); }} exportHandler={() => { exportHandler(tool); }} deleteHandler={async () => { selectedTool = tool; showDeleteConfirm = true; }} onClose={() => {}} > {/if}
{/if}
{/each}
{:else}
{$i18n.t("No tools found")}
{$i18n.t( "Try adjusting your search or filter to find what you are looking for.", )}
{/if}
{#if $config?.features.enable_community_sharing}
{$i18n.t("Made by rexpro-ai Community")}
{$i18n.t("Discover a tool")}
{$i18n.t( "Discover, download, and explore custom tools", )}
{/if} { deleteHandler(selectedTool); }} >
{$i18n.t("This will delete")} {selectedTool.name}.
{ const reader = new FileReader(); reader.onload = async (event) => { const _tools = JSON.parse(event.target.result); console.log(_tools); for (const tool of _tools) { const res = await createNewTool( localStorage.token, tool, ).catch((error) => { toast.error(`${error}`); return null; }); } toast.success($i18n.t("Tool imported successfully")); await init(); importFiles = null; toolsImportInputElement.value = ""; }; reader.readAsText(importFiles[0]); }} >
{$i18n.t("Please carefully review the following warnings:")}
  • {$i18n.t( "Tools have a function calling system that allows arbitrary code execution.", )}.
  • {$i18n.t( "Do not install tools from sources you do not fully trust.", )}
{$i18n.t( "I acknowledge that I have read and I understand the implications of my action. I am aware of the risks associated with executing arbitrary code and I have verified the trustworthiness of the source.", )}
{:else}
{/if}