mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-07 00:01:49 +00:00
add missing integration
This commit is contained in:
@@ -24,8 +24,8 @@
|
||||
|
||||
// Suggested questions for the user
|
||||
const suggestions = [
|
||||
'How do I create a new workflow?',
|
||||
"What's the difference between scripts and flows?",
|
||||
'Where can i see my latest runs?',
|
||||
'How do i trigger a script with a webhook endpoint?',
|
||||
'How can I connect to a database?',
|
||||
'How do I schedule a recurring job?'
|
||||
]
|
||||
@@ -44,21 +44,18 @@
|
||||
const userMessage = inputValue
|
||||
const systemMessage = prepareSystemMessage()
|
||||
|
||||
// Add user message to chat
|
||||
messages = [...messages, { role: 'user', content: userMessage }]
|
||||
|
||||
// Create message array for API request
|
||||
const apiMessages = [systemMessage, ...messages]
|
||||
|
||||
inputValue = ''
|
||||
|
||||
await chatRequest(apiMessages, abortController, (token) => {
|
||||
currentReply = currentReply + token
|
||||
})
|
||||
|
||||
// Add assistant's response to chat
|
||||
messages = [...messages, { role: 'assistant', content: currentReply }]
|
||||
|
||||
// Reset the input field
|
||||
inputValue = ''
|
||||
isSubmitting = false
|
||||
}
|
||||
|
||||
@@ -100,7 +97,7 @@
|
||||
<div class={twMerge('flex flex-col', msg.role === 'user' ? 'items-end' : 'items-start')}>
|
||||
<div
|
||||
class={twMerge(
|
||||
'max-w-[80%] p-3 rounded-lg text-sm',
|
||||
'max-w-[98%] p-3 rounded-lg text-sm',
|
||||
msg.role === 'user'
|
||||
? 'bg-blue-500 text-white rounded-br-sm'
|
||||
: 'bg-gray-100 dark:bg-gray-700 text-primary rounded-bl-sm'
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
import AddTriggersButton from './AddTriggersButton.svelte'
|
||||
import TriggerLabel from './TriggerLabel.svelte'
|
||||
import DeleteTriggerButton from './DeleteTriggerButton.svelte'
|
||||
import TriggerableByAi from '../TriggerableByAI.svelte'
|
||||
|
||||
interface Props {
|
||||
// Props
|
||||
@@ -64,54 +65,60 @@
|
||||
)}
|
||||
onclick={() => onSelect?.(index)}
|
||||
>
|
||||
<td class="w-12 text-center py-2 px-2">
|
||||
<div class="relative flex justify-center items-center">
|
||||
<SvelteComponent
|
||||
size={16}
|
||||
class={trigger.isDraft ? 'text-frost-400' : 'text-tertiary'}
|
||||
/>
|
||||
<TriggerableByAi
|
||||
id={`trigger-${trigger.id}`}
|
||||
description={`See ${trigger.type} triggers`}
|
||||
onTrigger={() => onSelect?.(index)}
|
||||
>
|
||||
<td class="w-12 text-center py-2 px-2">
|
||||
<div class="relative flex justify-center items-center">
|
||||
<SvelteComponent
|
||||
size={16}
|
||||
class={trigger.isDraft ? 'text-frost-400' : 'text-tertiary'}
|
||||
/>
|
||||
|
||||
{#if trigger.isPrimary}
|
||||
<Star size={10} class="absolute -mt-3 ml-3 text-blue-400" />
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
<td class="py-2 px-2 text-xs">
|
||||
<div class="flex items-center justify-between gap-1">
|
||||
<div class="flex items-center grow min-w-0">
|
||||
<TriggerLabel {trigger} />
|
||||
{#if trigger.type === 'webhook' && webhookToken}
|
||||
<span
|
||||
class="ml-2 px-1.5 text-xs rounded-md bg-tertiary/50 group-hover:bg-primary text-primary-inverse py-0.5"
|
||||
>
|
||||
{`${webhookToken} token${webhookToken > 1 ? 's' : ''}`}
|
||||
</span>
|
||||
{:else if trigger.type === 'email' && emailToken}
|
||||
<span
|
||||
class="ml-2 text-xs rounded-md bg-tertiary/50 group-hover:bg-primary text-primary-inverse px-1.5 py-0.5"
|
||||
>
|
||||
{`${emailToken} token${emailToken > 1 ? 's' : ''}`}
|
||||
</span>
|
||||
{#if trigger.isPrimary}
|
||||
<Star size={10} class="absolute -mt-3 ml-3 text-blue-400" />
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
<td class="py-2 px-2 text-xs">
|
||||
<div class="flex items-center justify-between gap-1">
|
||||
<div class="flex items-center grow min-w-0">
|
||||
<TriggerLabel {trigger} />
|
||||
{#if trigger.type === 'webhook' && webhookToken}
|
||||
<span
|
||||
class="ml-2 px-1.5 text-xs rounded-md bg-tertiary/50 group-hover:bg-primary text-primary-inverse py-0.5"
|
||||
>
|
||||
{`${webhookToken} token${webhookToken > 1 ? 's' : ''}`}
|
||||
</span>
|
||||
{:else if trigger.type === 'email' && emailToken}
|
||||
<span
|
||||
class="ml-2 text-xs rounded-md bg-tertiary/50 group-hover:bg-primary text-primary-inverse px-1.5 py-0.5"
|
||||
>
|
||||
{`${emailToken} token${emailToken > 1 ? 's' : ''}`}
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
{#if !['email', 'webhook', 'cli'].includes(trigger.type)}
|
||||
{#if trigger.isDraft}
|
||||
<DeleteTriggerButton {trigger} onDelete={() => onDeleteDraft?.(index)} small />
|
||||
{:else if !!trigger.draftConfig && !trigger.isDraft}
|
||||
<Button
|
||||
size="xs"
|
||||
color="light"
|
||||
btnClasses="transition-all duration-200 text-transparent hover:bg-surface group-hover:text-primary bg-transparent px-1 py-1"
|
||||
startIcon={{ icon: RotateCcw }}
|
||||
iconOnly
|
||||
title="Reset to deployed version"
|
||||
on:click={() => onReset?.(index)}
|
||||
/>
|
||||
{#if !['email', 'webhook', 'cli'].includes(trigger.type)}
|
||||
{#if trigger.isDraft}
|
||||
<DeleteTriggerButton {trigger} onDelete={() => onDeleteDraft?.(index)} small />
|
||||
{:else if !!trigger.draftConfig && !trigger.isDraft}
|
||||
<Button
|
||||
size="xs"
|
||||
color="light"
|
||||
btnClasses="transition-all duration-200 text-transparent hover:bg-surface group-hover:text-primary bg-transparent px-1 py-1"
|
||||
startIcon={{ icon: RotateCcw }}
|
||||
iconOnly
|
||||
title="Reset to deployed version"
|
||||
on:click={() => onReset?.(index)}
|
||||
/>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
</div>
|
||||
</td>
|
||||
</div>
|
||||
</td>
|
||||
</TriggerableByAi>
|
||||
</tr>
|
||||
{/each}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user