packages feed

pms-domain-model 0.0.2.0 → 0.0.3.0

raw patch · 4 files changed

+206/−5 lines, 4 files

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for pms-domain-model +## 0.0.3.0 -- 2025-06-22++* Added file change monitoring for tools-list.json.+ ## 0.0.2.0 -- 2025-06-15  * Set stdio encoding to UTF-8.
pms-domain-model.cabal view
@@ -20,7 +20,7 @@ -- PVP summary:     +-+------- breaking API changes --                  | | +----- non-breaking API additions --                  | | | +--- code changes with no API change-version:            0.0.2.0+version:            0.0.3.0  -- A short (one-line) description of the package. synopsis:           pms-domain-model@@ -55,7 +55,7 @@ -- extra-source-files:  library-    ghc-options: -Wall -Wno-orphans -Wno-x-partial+    ghc-options: -Wall -threaded -Wno-orphans -Wno-x-partial      -- Modules exported by the library.     exposed-modules:  PMS.Domain.Model.DM.TH,@@ -91,7 +91,7 @@     default-language: GHC2021  test-suite pms-domain-model-test-    ghc-options: -Wno-incomplete-uni-patterns+    ghc-options: -threaded -Wno-incomplete-uni-patterns     -- Import common warning flags.     -- import:           warnings 
src/PMS/Domain/Model/DM/Constant.hs view
@@ -15,3 +15,8 @@ _TIME_FORMAT :: B.ByteString _TIME_FORMAT = T.encodeUtf8 $ T.pack "%Y/%m/%d %T %z" +-- |+--+_TOOLS_LIST_FILE :: String+_TOOLS_LIST_FILE = "tools-list.json"+
src/PMS/Domain/Model/DM/Type.hs view
@@ -117,6 +117,25 @@   , _resultJsonRpcResponse = def   } +-- |+--+data JsonRpcNotification =+  JsonRpcNotification {+    _jsonrpcJsonRpcNotification :: String+  , _methodJsonRpcNotification  :: String+  , _paramsJsonRpcNotification  :: Maybe RawJsonByteString+  } deriving (Show, Read, Eq)++$(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "JsonRpcNotification", omitNothingFields = True} ''JsonRpcNotification)+makeLenses ''JsonRpcNotification++instance Default JsonRpcNotification where+  def = JsonRpcNotification {+        _jsonrpcJsonRpcNotification = "2.0"+      , _methodJsonRpcNotification  = def+      , _paramsJsonRpcNotification  = def+      }+ --------------------------------------------------------------------------------  -- |@@ -232,7 +251,35 @@   deriving (Show, Read, Eq)  --------------------------------------------------------------------------------+-- |+--+data McpInitializeResponseResultCapabilitiesResources =+  McpInitializeResponseResultCapabilitiesResources {+    _subscribedMcpInitializeResponseResultCapabilitiesResources :: Bool+  , _listChangedMcpInitializeResponseResultCapabilitiesResources :: Bool+  } deriving (Show, Read, Eq)+$(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "McpInitializeResponseResultCapabilitiesResources", omitNothingFields = True} ''McpInitializeResponseResultCapabilitiesResources)+makeLenses ''McpInitializeResponseResultCapabilitiesResources +instance Default McpInitializeResponseResultCapabilitiesResources where+  def = McpInitializeResponseResultCapabilitiesResources {+        _subscribedMcpInitializeResponseResultCapabilitiesResources = def+      , _listChangedMcpInitializeResponseResultCapabilitiesResources = def+      }+++data McpInitializeResponseResultCapabilitiesPrompts =+  McpInitializeResponseResultCapabilitiesPrompts {+    _listChangedMcpInitializeResponseResultCapabilitiesPrompts :: Bool+  } deriving (Show, Read, Eq)+$(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "McpInitializeResponseResultCapabilitiesPrompts", omitNothingFields = True} ''McpInitializeResponseResultCapabilitiesPrompts)+makeLenses ''McpInitializeResponseResultCapabilitiesPrompts++instance Default McpInitializeResponseResultCapabilitiesPrompts where+  def = McpInitializeResponseResultCapabilitiesPrompts {+        _listChangedMcpInitializeResponseResultCapabilitiesPrompts = True+      }+ -- | -- data McpInitializeResponseResultCapabilitiesTools =@@ -252,6 +299,8 @@ data McpInitializeResponseResultCapabilities =   McpInitializeResponseResultCapabilities {     _toolsMcpInitializeResponseResultCapabilities :: McpInitializeResponseResultCapabilitiesTools+  -- , _promptsMcpInitializeResponseResultCapabilities :: McpInitializeResponseResultCapabilitiesPrompts+  -- , _resourcesMcpInitializeResponseResultCapabilities :: McpInitializeResponseResultCapabilitiesResources   } deriving (Show, Read, Eq) $(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "McpInitializeResponseResultCapabilities", omitNothingFields = True} ''McpInitializeResponseResultCapabilities) makeLenses ''McpInitializeResponseResultCapabilities@@ -259,6 +308,8 @@ instance Default McpInitializeResponseResultCapabilities where   def = McpInitializeResponseResultCapabilities {         _toolsMcpInitializeResponseResultCapabilities = def+  --     , _promptsMcpInitializeResponseResultCapabilities = def+  --     , _resourcesMcpInitializeResponseResultCapabilities = def       }  -- |@@ -414,6 +465,45 @@ -------------------------------------------------------------------------------- -- | --+data McpToolListChangedNotificationDataParams =+  McpToolListChangedNotificationDataParams {+    _toolsMcpToolListChangedNotificationDataParams :: RawJsonByteString+  } deriving (Show, Read, Eq)++$(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "McpToolListChangedNotificationDataParams", omitNothingFields = True} ''McpToolListChangedNotificationDataParams)+makeLenses ''McpToolListChangedNotificationDataParams++instance Default McpToolListChangedNotificationDataParams where+  def = McpToolListChangedNotificationDataParams {+        _toolsMcpToolListChangedNotificationDataParams = RawJsonByteString "[]"+      }++-- |+--+data McpToolListChangedNotificationData =+  McpToolListChangedNotificationData {+    _methodMcpToolListChangedNotificationData  :: String+  , _paramsMcpToolListChangedNotificationData  :: McpToolListChangedNotificationDataParams+  } deriving (Show, Read, Eq)++$(deriveJSON defaultOptions {fieldLabelModifier = dropDataName "McpToolListChangedNotificationData", omitNothingFields = True} ''McpToolListChangedNotificationData)+makeLenses ''McpToolListChangedNotificationData++instance Default McpToolListChangedNotificationData where+  def = McpToolListChangedNotificationData {+        _methodMcpToolListChangedNotificationData = "notifications/tools/list_changed"+      , _paramsMcpToolListChangedNotificationData = def+      }++-- |+--+data McpNotification =+  McpToolListChangedNotification McpToolListChangedNotificationData+  deriving (Show, Read, Eq)++--------------------------------------------------------------------------------+-- |+-- type PtyConnectCommandCallback a = ExitCode                                 -> String  -- ^ stdout                                 -> String  -- ^ stderr@@ -432,6 +522,25 @@  -- | --+type PtyTerminateCommandCallback a = ExitCode+                                -> String  -- ^ stdout+                                -> String  -- ^ stderr+                                -> IO a++-- |+--+data PtyTerminateCommandData =+  PtyTerminateCommandData {+    _namePtyTerminateCommandData :: String+  , _argumentsPtyTerminateCommandData :: RawJsonByteString+  , _callbackPtyTerminateCommandData  :: PtyTerminateCommandCallback ()+  }++makeLenses ''PtyTerminateCommandData+++-- |+-- type PtyMessageCommandCallback a = ExitCode                                 -> String -- ^ stdout                                 -> String -- ^ stderr@@ -467,7 +576,18 @@  makeLenses ''SystemCommandData +{-+-- |+--+data CmdRunCommandData =+  CmdRunCommandData {+    _jsonrpcCmdRunCommandData   :: JsonRpcRequest+  , _nameCmdRunCommandData      :: String+  , _argumentsCmdRunCommandData :: RawJsonByteString+  } +makeLenses ''CmdRunCommandData+-} -- | -- type EchoCommandCallback a = String -> IO a@@ -487,20 +607,81 @@ data Command =     EchoCommand       EchoCommandData   | PtyConnectCommand PtyConnectCommandData+  | PtyTerminateCommand PtyTerminateCommandData   | PtyMessageCommand PtyMessageCommandData   | SystemCommand     SystemCommandData+--  | CmdRunCommand     CmdRunCommandData   -------------------------------------------------------------------------------- -- | --+data DefaultCmdRunCommandData =+  DefaultCmdRunCommandData {+    _jsonrpcDefaultCmdRunCommandData   :: JsonRpcRequest+  , _nameDefaultCmdRunCommandData      :: String+  , _argumentsDefaultCmdRunCommandData :: RawJsonByteString+  } deriving (Show, Read, Eq)++makeLenses ''DefaultCmdRunCommandData++-- |+--+data EchoCmdRunCommandData =+  EchoCmdRunCommandData {+    _jsonrpcEchoCmdRunCommandData :: JsonRpcRequest+  , _valueEchoCmdRunCommandData   :: String+  } deriving (Show, Read, Eq)++makeLenses ''EchoCmdRunCommandData++-- |+--+data CmdRunCommand =+    EchoCmdRunCommand EchoCmdRunCommandData+  | DefaultCmdRunCommand DefaultCmdRunCommandData+  deriving (Show, Read, Eq)++--------------------------------------------------------------------------------+-- |+--+data ToolsListWatchCommandData =+  ToolsListWatchCommandData {+  --  _jsonrpcToolsListWatchCommandData   :: JsonRpcRequest+  } deriving (Show, Read, Eq)++makeLenses ''ToolsListWatchCommandData++-- |+--+data EchoWatchCommandData =+  EchoWatchCommandData {+    _jsonrpcEchoWatchCommandData :: JsonRpcRequest+  , _valueEchoWatchCommandData   :: String+  } deriving (Show, Read, Eq)++makeLenses ''EchoWatchCommandData++-- |+--+data WatchCommand =+    EchoWatchCommand EchoWatchCommandData+  | ToolsListWatchCommand ToolsListWatchCommandData+  deriving (Show, Read, Eq)++--------------------------------------------------------------------------------+-- |+-- data DomainData = DomainData {     _logDirDomainData        :: Maybe String   , _logLevelDomainData      :: LogLevel-  , _scriptsDirDomainData    :: String+  , _toolsDirDomainData    :: String   , _requestQueueDomainData  :: TQueue McpRequest   , _responseQueueDomainData :: TQueue McpResponse+  , _notificationQueueDomainData :: TQueue McpNotification   , _commandQueueDomainData  :: TQueue Command+  , _cmdRunQueueDomainData   :: TQueue CmdRunCommand+  , _watchQueueDomainData    :: TQueue WatchCommand   , _promptsDomainData       :: [String]   } @@ -509,19 +690,30 @@ defaultDomainData :: IO DomainData defaultDomainData = do   hSetEncoding stdin  utf8+  hSetBuffering stdin LineBuffering+   hSetEncoding stdout utf8+  hSetBuffering stdout LineBuffering+   hSetEncoding stderr utf8+  hSetBuffering stderr LineBuffering    reqQ <- newTQueueIO   resQ <- newTQueueIO+  notQ <- newTQueueIO   cmdQ <- newTQueueIO+  cmdRunQ <- newTQueueIO+  watchQ  <- newTQueueIO   return DomainData {            _logDirDomainData        = Nothing          , _logLevelDomainData      = LevelDebug-         , _scriptsDirDomainData    = "./scripts"+         , _toolsDirDomainData    = "./tools"          , _requestQueueDomainData  = reqQ          , _responseQueueDomainData = resQ+         , _notificationQueueDomainData = notQ          , _commandQueueDomainData  = cmdQ+         , _cmdRunQueueDomainData   = cmdRunQ+         , _watchQueueDomainData    = watchQ          , _promptsDomainData       = def          }