-
-
-
- {@render agentPane()}
-
-
- {#if wide && ws && config}
-
- {@render usePane(ws)}
-
- {/if}
-
- {#if !wide && ws && config}
-
- {@render usePane(ws, mobileTab === 'slack' ? 'slack' : 'api')}
+
+
+ {@render agentPane()}
+
+ {#if ws && config}
+
+ {@render usePane(tab === 'agent' ? 'api' : tab)}
{/if}
@@ -372,6 +389,11 @@
onOpenConfig={() => configModal?.open()}
onRunStarted={embedded || pendingRun ? runStarted : undefined}
>
+ {#snippet chatSidebarFooter({ expanded })}
+ {#if ws}
+
+ {/if}
+ {/snippet}
{#snippet viewForm({ schema, run, loading, actions })}
{#if config && !chatAvailable}
@@ -408,10 +430,9 @@
{/key}
{/snippet}
-{#snippet usePane(ws: string, section?: 'api' | 'slack')}
+{#snippet usePane(section: 'api' | 'slack')}
+ /** A hint pinned under the configuration, outside its scroll. */
+ configFooter?: import('svelte').Snippet
+ /** Pinned at the foot of the chat's conversations sidebar. */
+ chatSidebarFooter?: import('svelte').Snippet<[{ expanded: boolean }]>
}
let {
@@ -99,7 +103,9 @@
view = false,
onOpenConfig = undefined,
onRunStarted = undefined,
- viewForm = undefined
+ viewForm = undefined,
+ configFooter = undefined,
+ chatSidebarFooter = undefined
}: Props = $props()
/** The one module the editor edits. Standalone (no `agent` key) so `initFlowState` loads a
@@ -611,31 +617,40 @@
{#snippet configPane()}
-
-
-
+
+
onSelectTool?.(id)}
- onAddTool={readOnly ? undefined : addTool}
- onDeleteTool={readOnly ? undefined : deleteTool}
- toolPickerPortal="#agent-editor"
- bind:args={
- () => (agentValue?.input_transforms ?? {}) as Record,
- (v) => agentValue && (agentValue.input_transforms = v)
- }
- />
-
+ noPadding
+ sidePane
+ >
+
onSelectTool?.(id)}
+ onAddTool={readOnly ? undefined : addTool}
+ onDeleteTool={readOnly ? undefined : deleteTool}
+ toolPickerPortal="#agent-editor"
+ bind:args={
+ () => (agentValue?.input_transforms ?? {}) as Record,
+ (v) => agentValue && (agentValue.input_transforms = v)
+ }
+ />
+
+
+ {#if configFooter}
+ {@render configFooter()}
+ {/if}
{/snippet}
@@ -755,6 +770,7 @@
inputSchema={AGENT_CHAT_SCHEMA}
flowModules={chatModules}
composerSettings={onOpenConfig ? configButton : undefined}
+ sidebarFooter={chatSidebarFooter}
/>