mirror of
https://github.com/mark3labs/kit.git
synced 2026-06-13 19:20:06 +00:00
25410af440
Phase 1: Smart @ for local files - ProcessFileAttachments now returns FileAttachmentResult with separate ProcessedText and FileParts fields instead of a plain string - Binary files (images, audio, video, PDFs, etc.) detected via MIME type are extracted as multimodal FileParts instead of XML-wrapped text garbage - detectMediaType() uses extension-based lookup then content sniffing - isBinaryMediaType() classifies image/*, audio/*, video/*, and specific application types as binary - @mcp:server:uri token format for referencing MCP resources in text - All 4 submission paths (TUI submit, TUI steer, MCP prompt, CLI) updated - App.RunOnceWithFiles/RunOnceResultWithFiles/RunOnceWithDisplayAndFiles added for non-interactive multimodal submission Phase 2: MCP resources in @ autocomplete - MCPToolManager gains loadServerResources(), GetResources(), ReadResource(), SubscribeResource(), UnsubscribeResource(), RefreshServerResources() - MCPResource and MCPResourceContent types for resource metadata/content - FileSuggestion extended with IsMCPResource, MCPServerName, MCPResourceURI - InputComponent.SetMCPResourceProvider() wires resource suggestions into the @ popup alongside local files - @ popup merges local file suggestions with MCP resource suggestions, sorted by fuzzy match score - MCP resources display 'mcp:servername' in the popup description - Selecting an MCP resource inserts @mcp:server:uri format - ProcessFileAttachments resolves @mcp: tokens via MCPResourceReader callback - Text resources are XML-wrapped as <resource>; binary resources become FileParts for multimodal submission - Agent, Kit SDK, and cmd/root.go wired end-to-end Phase 3: Resource subscriptions (foundation) - SubscribeResource/UnsubscribeResource on MCPToolManager - onResourcesChanged callback for live refresh (wired but not yet triggering UI refresh automatically) - RefreshServerResources for manual resource list refresh
70 lines
2.2 KiB
Go
70 lines
2.2 KiB
Go
package ui
|
|
|
|
// This file re-exports types from subpackages for backward compatibility.
|
|
// External importers can continue using ui.XXX without needing to import
|
|
// from subpackages directly.
|
|
|
|
import (
|
|
"github.com/mark3labs/kit/internal/ui/commands"
|
|
"github.com/mark3labs/kit/internal/ui/core"
|
|
"github.com/mark3labs/kit/internal/ui/fileutil"
|
|
"github.com/mark3labs/kit/internal/ui/prefs"
|
|
"github.com/mark3labs/kit/internal/ui/style"
|
|
)
|
|
|
|
// Re-export from core package
|
|
type (
|
|
ImageAttachment = core.ImageAttachment
|
|
SubmitMsg = core.SubmitMsg
|
|
CancelTimerExpiredMsg = core.CancelTimerExpiredMsg
|
|
TreeNodeSelectedMsg = core.TreeNodeSelectedMsg
|
|
TreeCancelledMsg = core.TreeCancelledMsg
|
|
ShellCommandMsg = core.ShellCommandMsg
|
|
ShellCommandResultMsg = core.ShellCommandResultMsg
|
|
)
|
|
|
|
// Re-export from commands package
|
|
type (
|
|
SlashCommand = commands.SlashCommand
|
|
ExtensionCommand = commands.ExtensionCommand
|
|
)
|
|
|
|
// Re-export functions and types from fileutil package
|
|
var ProcessFileAttachments = fileutil.ProcessFileAttachments
|
|
|
|
// Re-export types from fileutil
|
|
type (
|
|
FileAttachmentResult = fileutil.FileAttachmentResult
|
|
FilePart = fileutil.FilePart
|
|
MCPResourceReader = fileutil.MCPResourceReader
|
|
)
|
|
|
|
// Re-export from prefs package
|
|
var (
|
|
LoadThemePreference = prefs.LoadThemePreference
|
|
SaveThemePreference = prefs.SaveThemePreference
|
|
LoadModelPreference = prefs.LoadModelPreference
|
|
SaveModelPreference = prefs.SaveModelPreference
|
|
LoadThinkingLevelPreference = prefs.LoadThinkingLevelPreference
|
|
SaveThinkingLevelPreference = prefs.SaveThinkingLevelPreference
|
|
)
|
|
|
|
// Re-export from style package
|
|
type (
|
|
Theme = style.Theme
|
|
MarkdownThemeColors = style.MarkdownThemeColors
|
|
)
|
|
|
|
var (
|
|
GetTheme = style.GetTheme
|
|
SetTheme = style.SetTheme
|
|
DefaultTheme = style.DefaultTheme
|
|
ApplyTheme = style.ApplyTheme
|
|
ApplyThemeWithoutSave = style.ApplyThemeWithoutSave
|
|
ListThemes = style.ListThemes
|
|
RegisterThemeFromConfig = style.RegisterThemeFromConfig
|
|
KitBanner = style.KitBanner
|
|
AdaptiveColor = style.AdaptiveColor
|
|
IsDarkBackground = style.IsDarkBackground
|
|
)
|