packages feed

pty-mcp-server 0.2.0.0 → 0.2.1.0

raw patch · 4 files changed

+37/−3 lines, 4 filesdep +pms-infra-agent-server

Dependencies added: pms-infra-agent-server

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Revision history for pty-mcp-server +## 0.2.1.0 -- 2026-06-15++* Added pms-infra-agent-server: TCP server listen/accept functionality for AI agents.+* New tools: agent-server-listen, agent-server-close, agent-server-status, agent-server-events, agent-server-read, agent-server-write, agent-server-read-byte, agent-server-write-byte.+* Added skill prompts: skill_agent_server.md, skill_agent_client.md for AI-to-AI TCP communication.+ ## 0.2.0.0 -- 2026-05-31  * Added pms-infra-agent-socket, pms-infra-agent-serial.
README.md view
@@ -90,6 +90,30 @@ - **`agent-socket-write-byte`**   Decodes the specified hex string and writes the resulting bytes to the active agent socket connection. +- **`agent-server-listen`**+  Binds to the specified host and port, starts listening for incoming TCP connections, and launches a background accept thread. Returns immediately after the listener is ready. Only one listener can be active at a time.++- **`agent-server-close`**+  Closes the active accepted connection (if any). If no connection is active, also closes the listener. Call twice to close both the connection and the listener.++- **`agent-server-status`**+  Returns the current server status as a JSON object with `isListening` and `isConnected` boolean fields.++- **`agent-server-events`**+  Dequeues and returns all server-side events accumulated since the last call (e.g. ClientConnected, BytesReceived, ClientDisconnected). Returns an empty array if no events are pending.++- **`agent-server-read`**+  Reads data from the active accepted connection and returns it as a UTF-8 string. Returns an empty string if no data is available before timeout.++- **`agent-server-read-byte`**+  Reads data from the active accepted connection and returns it as an uppercase hex string.++- **`agent-server-write`**+  Writes the specified UTF-8 string to the active accepted connection. Note: `\r\n` is sent as literal characters; use agent-server-write-byte for correct CRLF.++- **`agent-server-write-byte`**+  Decodes the specified hex string and writes the resulting bytes to the active accepted connection. Hex string must not contain spaces or newlines.+ - **`agent-serial-open`**   Opens a serial port connection for subsequent agent-serial-read, agent-serial-write, agent-serial-read-byte, and agent-serial-write-byte operations. Only one port can be active at a time. @@ -571,6 +595,7 @@ - [`pms-infra-procspawn`](https://github.com/phoityne/pms-infra-procspawn) - [`pms-infra-agent-process`](https://github.com/phoityne/pms-infra-agent-process) - [`pms-infra-agent-socket`](https://github.com/phoityne/pms-infra-agent-socket)+- [`pms-infra-agent-server`](https://github.com/phoityne/pms-infra-agent-server) - [`pms-infra-agent-serial`](https://github.com/phoityne/pms-infra-agent-serial) - [`pms-infra-serial`](https://github.com/phoityne/pms-infra-serial) - [`pms-infra-socket`](https://github.com/phoityne/pms-infra-socket)
app/Main.hs view
@@ -20,6 +20,7 @@ import qualified PMS.Infra.Agent.Process.App.Control as IAP import qualified PMS.Infra.Agent.Socket.App.Control as IAS import qualified PMS.Infra.Agent.Serial.App.Control as IASer+import qualified PMS.Infra.Agent.Server.ApplicationBase.Control as IASrv import qualified PMS.Infra.Serial.App.Control as SER import qualified PMS.Infra.Socket.App.Control as SCK import qualified PMS.Infra.Watch.App.Control as IWA@@ -36,9 +37,9 @@ main :: IO () main = getArgs >>= \args -> do #ifdef mingw32_HOST_OS-  let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run]+  let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IASrv.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run] #else-  let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run, INF.run]+  let apps = [URQ.run, URS.run, UNO.run, ICR.run, IPS.run, IAP.run, IAS.run, IASer.run, IASrv.run, IWA.run, IFS.run, DSR.run, SCK.run, SER.run, INF.run] #endif   flip E.catchAny exception      $ flip E.finally finalize
pty-mcp-server.cabal view
@@ -20,7 +20,7 @@ -- PVP summary:     +-+------- breaking API changes --                  | | +----- non-breaking API additions --                  | | | +--- code changes with no API change-version:            0.2.0.0+version:            0.2.1.0  -- A short (one-line) description of the package. synopsis:           pty-mcp-server@@ -81,6 +81,7 @@             pms-infra-agent-process,             pms-infra-agent-socket,             pms-infra-agent-serial,+            pms-infra-agent-server,             pms-infra-serial,             pms-infra-socket,             pms-infra-watch,@@ -102,6 +103,7 @@             pms-infra-agent-process,             pms-infra-agent-socket,             pms-infra-agent-serial,+            pms-infra-agent-server,             pms-infra-serial,             pms-infra-socket,             pms-infra-watch,