{-# LANGUAGE TemplateHaskell #-} module Unison.MCP.StaticResources ( staticResources, unisonGuideText, ) where import Data.Map (Map) import Data.Map qualified as Map import Data.Text (Text) import Network.MCP.Types import Unison.Util.FileEmbed (embedProjectStringFile) staticResources :: Map Text (Resource, ResourceContent) staticResources :: Map Text (Resource, ResourceContent) staticResources = [(Text, (Resource, ResourceContent))] -> Map Text (Resource, ResourceContent) forall k a. Ord k => [(k, a)] -> Map k a Map.fromList [ (Resource -> Text resourceUri (Resource -> Text) -> ((Resource, ResourceContent) -> Resource) -> (Resource, ResourceContent) -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . (Resource, ResourceContent) -> Resource forall a b. (a, b) -> a fst ((Resource, ResourceContent) -> Text) -> (Resource, ResourceContent) -> Text forall a b. (a -> b) -> a -> b $ (Resource, ResourceContent) unisonGuideResource, (Resource, ResourceContent) unisonGuideResource) ] unisonGuideText :: Text unisonGuideText :: Text unisonGuideText = $(embedProjectStringFile "src/Unison/MCP/StaticResources/unison-guide.md") unisonGuideResource :: (Resource, ResourceContent) unisonGuideResource :: (Resource, ResourceContent) unisonGuideResource = ( Resource { $sel:resourceUri:Resource :: Text resourceUri = Text "file://unison-guide", $sel:resourceName:Resource :: Text resourceName = Text "Unison Programming Guide", $sel:resourceDescription:Resource :: Maybe Text resourceDescription = Text -> Maybe Text forall a. a -> Maybe a Just Text "A complete guide on how to program in Unison in Markdown format", $sel:resourceMimeType:Resource :: Maybe Text resourceMimeType = Text -> Maybe Text forall a. a -> Maybe a Just Text "text/markdown", $sel:resourceTemplate:Resource :: Maybe Text resourceTemplate = Maybe Text forall a. Maybe a Nothing }, ResourceContent { $sel:resourceContentUri:ResourceContent :: Text resourceContentUri = Text "file://unison-guide", $sel:resourceContentMimeType:ResourceContent :: Maybe Text resourceContentMimeType = Text -> Maybe Text forall a. a -> Maybe a Just Text "text/markdown", $sel:resourceContentText:ResourceContent :: Maybe Text resourceContentText = Text -> Maybe Text forall a. a -> Maybe a Just Text unisonGuideText, $sel:resourceContentBlob:ResourceContent :: Maybe Text resourceContentBlob = Maybe Text forall a. Maybe a Nothing } )