packages feed

pms-domain-service 0.1.2.0 → 0.1.3.0

raw patch · 3 files changed

+91/−35 lines, 3 files

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for pms-domain-service +## 0.1.3.0 -- 2026-05-05++* Add agent-proc tools (agent-proc-run, agent-proc-read, agent-proc-write, agent-proc-terminate).+ ## 0.1.2.0 -- 2026-04-30  * Add async read/write tools.
pms-domain-service.cabal view
@@ -20,7 +20,7 @@ -- PVP summary:     +-+------- breaking API changes --                  | | +----- non-breaking API additions --                  | | | +--- code changes with no API change-version:            0.1.2.0+version:            0.1.3.0  -- A short (one-line) description of the package. synopsis:           pms-domain-service
src/PMS/Domain/Service/DS/State/Run/ToolsCall.hs view
@@ -34,41 +34,45 @@          where       go :: DM.McpToolsCallRequestData -> String -> AppContext ()-      go dat "pty-connect"    = ptyConnectCommand dat-      go dat "pty-terminate"  = ptyTerminateCommand dat-      go dat "pty-message"    = ptyMessageCommand dat-      go dat "pty-bash"       = ptyConnectCommand dat-      go dat "pty-ssh"        = ptyConnectCommand dat-      go dat "pty-telnet"     = ptyConnectCommand dat-      go dat "pty-cabal"      = ptyConnectCommand dat-      go dat "pty-stack"      = ptyConnectCommand dat-      go dat "pty-ghci"       = ptyConnectCommand dat-      go dat "proc-spawn"     = procRunCommand dat-      go dat "proc-cmd"       = procRunCommand dat-      go dat "proc-ps"        = procRunCommand dat-      go dat "proc-ssh"       = procRunCommand dat-      go dat "proc-telnet"    = procRunCommand dat+      go dat "pty-connect"       = ptyConnectCommand dat+      go dat "pty-terminate"     = ptyTerminateCommand dat+      go dat "pty-message"       = ptyMessageCommand dat+      go dat "pty-bash"          = ptyConnectCommand dat+      go dat "pty-ssh"           = ptyConnectCommand dat+      go dat "pty-telnet"        = ptyConnectCommand dat+      go dat "pty-cabal"         = ptyConnectCommand dat+      go dat "pty-stack"         = ptyConnectCommand dat+      go dat "pty-ghci"          = ptyConnectCommand dat+      go dat "proc-spawn"        = procRunCommand dat+      go dat "proc-cmd"          = procRunCommand dat+      go dat "proc-ps"           = procRunCommand dat+      go dat "proc-ssh"          = procRunCommand dat+      go dat "proc-telnet"       = procRunCommand dat       -- go dat "proc-winpty"    = procRunCommand dat-      go dat "proc-plink"     = procRunCommand dat-      go dat "proc-terminate" = procTerminateCommand dat-      go dat "proc-message"   = procMessageCommand dat-      go dat "proc-read"      = procReadCommand dat-      go dat "proc-write"     = procWriteCommand dat-      go dat "socket-open"    = socketOpenCommand dat-      go dat "socket-close"   = socketCloseCommand dat-      go dat "socket-read"    = socketReadCommand dat-      go dat "socket-write"   = socketWriteCommand dat-      go dat "socket-message" = socketMessageCommand dat-      go dat "socket-telnet"  = socketTelnetCommand dat-      go dat "serial-open"    = serialOpenCommand dat-      go dat "serial-close"   = serialCloseCommand dat-      go dat "serial-read"    = serialReadCommand dat-      go dat "serial-write"   = serialWriteCommand dat-      go dat "serial-message" = serialMessageCommand dat-      go dat "pms-list-dir"   = fileSystemListDirCommand dat-      go dat "pms-make-dir"   = fileSystemMakeDirCommand dat-      go dat "pms-read-file"  = fileSystemReadFileCommand dat-      go dat "pms-write-file" = fileSystemWriteFileCommand dat+      go dat "proc-plink"        = procRunCommand dat+      go dat "proc-terminate"    = procTerminateCommand dat+      go dat "proc-message"      = procMessageCommand dat+      go dat "proc-read"         = procReadCommand dat+      go dat "proc-write"        = procWriteCommand dat+      go dat "agent-proc-run"       = agentProcRunCommand dat+      go dat "agent-proc-read"      = agentProcReadCommand dat+      go dat "agent-proc-write"     = agentProcWriteCommand dat+      go dat "agent-proc-terminate" = agentProcTerminateCommand dat+      go dat "socket-open"       = socketOpenCommand dat+      go dat "socket-close"      = socketCloseCommand dat+      go dat "socket-read"       = socketReadCommand dat+      go dat "socket-write"      = socketWriteCommand dat+      go dat "socket-message"    = socketMessageCommand dat+      go dat "socket-telnet"     = socketTelnetCommand dat+      go dat "serial-open"       = serialOpenCommand dat+      go dat "serial-close"      = serialCloseCommand dat+      go dat "serial-read"       = serialReadCommand dat+      go dat "serial-write"      = serialWriteCommand dat+      go dat "serial-message"    = serialMessageCommand dat+      go dat "pms-list-dir"      = fileSystemListDirCommand dat+      go dat "pms-make-dir"      = fileSystemMakeDirCommand dat+      go dat "pms-read-file"     = fileSystemReadFileCommand dat+      go dat "pms-write-file"    = fileSystemWriteFileCommand dat       go dat x = do         $logDebugS DM._LOGTAG $ T.pack $ "handled cmdrun. " ++ show x ++ ": " ++ show dat         cmdRunCommand dat@@ -201,6 +205,54 @@    cmdQ <- view DM.procspawnQueueDomainData <$> lift ask   liftIO $ STM.atomically $ STM.writeTQueue cmdQ $ DM.ProcWriteCommand cmdDat+++-- |+--+agentProcRunCommand :: DM.McpToolsCallRequestData -> AppContext ()+agentProcRunCommand dat = do+  let cmdDat = DM.AgentProcessRunCommandData {+                DM._jsonrpcAgentProcessRunCommandData   = dat^.DM.jsonrpcMcpToolsCallRequestData+              , DM._nameAgentProcessRunCommandData      = dat^.DM.paramsMcpToolsCallRequestData^.DM.nameMcpToolsCallRequestDataParams+              , DM._argumentsAgentProcessRunCommandData = dat^.DM.paramsMcpToolsCallRequestData^.DM.argumentsMcpToolsCallRequestDataParams+              }+  cmdQ <- view DM.agentProcessQueueDomainData <$> lift ask+  liftIO $ STM.atomically $ STM.writeTQueue cmdQ $ DM.AgentProcessRunCommand cmdDat+++-- |+--+agentProcTerminateCommand :: DM.McpToolsCallRequestData -> AppContext ()+agentProcTerminateCommand dat = do+  let cmdDat = DM.AgentProcessTerminateCommandData {+                DM._jsonrpcAgentProcessTerminateCommandData = dat^.DM.jsonrpcMcpToolsCallRequestData+              }+  cmdQ <- view DM.agentProcessQueueDomainData <$> lift ask+  liftIO $ STM.atomically $ STM.writeTQueue cmdQ $ DM.AgentProcessTerminateCommand cmdDat+++-- |+--+agentProcReadCommand :: DM.McpToolsCallRequestData -> AppContext ()+agentProcReadCommand dat = do+  let cmdDat = DM.AgentProcessReadCommandData {+                DM._jsonrpcAgentProcessReadCommandData   = dat^.DM.jsonrpcMcpToolsCallRequestData+              , DM._argumentsAgentProcessReadCommandData = dat^.DM.paramsMcpToolsCallRequestData^.DM.argumentsMcpToolsCallRequestDataParams+              }+  cmdQ <- view DM.agentProcessQueueDomainData <$> lift ask+  liftIO $ STM.atomically $ STM.writeTQueue cmdQ $ DM.AgentProcessReadCommand cmdDat+++-- |+--+agentProcWriteCommand :: DM.McpToolsCallRequestData -> AppContext ()+agentProcWriteCommand dat = do+  let cmdDat = DM.AgentProcessWriteCommandData {+                DM._jsonrpcAgentProcessWriteCommandData   = dat^.DM.jsonrpcMcpToolsCallRequestData+              , DM._argumentsAgentProcessWriteCommandData = dat^.DM.paramsMcpToolsCallRequestData^.DM.argumentsMcpToolsCallRequestDataParams+              }+  cmdQ <- view DM.agentProcessQueueDomainData <$> lift ask+  liftIO $ STM.atomically $ STM.writeTQueue cmdQ $ DM.AgentProcessWriteCommand cmdDat   -- |