{"id":28824102,"url":"https://github.com/phoityne/pms-infrastructure","last_synced_at":"2026-03-11T13:13:06.656Z","repository":{"id":296476583,"uuid":"993526468","full_name":"phoityne/pms-infrastructure","owner":"phoityne","description":"pms-infrastructure","archived":false,"fork":false,"pushed_at":"2025-06-09T11:40:17.000Z","size":81,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-17T06:54:40.932Z","etag":null,"topics":["ai","caba","clean-architecture","ghc","ghic","haskell","mcp","onion-architecture","pty"],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/pms-infrastructure","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phoityne.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-31T00:27:44.000Z","updated_at":"2025-06-09T11:40:21.000Z","dependencies_parsed_at":"2025-05-31T11:07:45.844Z","dependency_job_id":"c7e80e03-5434-418d-b9f7-bd08f3c95e10","html_url":"https://github.com/phoityne/pms-infrastructure","commit_stats":null,"previous_names":["phoityne/pms-infrastructure"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phoityne/pms-infrastructure","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoityne%2Fpms-infrastructure","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoityne%2Fpms-infrastructure/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoityne%2Fpms-infrastructure/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoityne%2Fpms-infrastructure/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phoityne","download_url":"https://codeload.github.com/phoityne/pms-infrastructure/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phoityne%2Fpms-infrastructure/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260660097,"owners_count":23043487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","caba","clean-architecture","ghc","ghic","haskell","mcp","onion-architecture","pty"],"created_at":"2025-06-19T01:03:29.010Z","updated_at":"2026-03-11T13:13:06.650Z","avatar_url":"https://github.com/phoityne.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pms-infrastructure\n\n`pms-infrastructure` is one of the internal packages that make up the [`pty-mcp-server`](https://github.com/phoityne/pty-mcp-server) project.  \nIt provides concrete implementations for accessing external systems, such as file storage, environment variables, and time, and acts as the boundary between the core application logic and the outside world.\n\nIn this context, \"outside world\" refers specifically to the Linux environment in which the server runs.  \nBy connecting to external systems via a pseudoterminal (pty), this package enables the AI to interface with the operating system as if it were a human user.  \nIt sends messages through the pty to simulate terminal interactions, thereby granting the AI controlled access to the shell and system-level tools.\n\nThis architecture allows the MCP server to act as a mediator between structured internal commands and real-world system behavior.\n\n---\n\n## Package Structure\n![Package Structure](https://raw.githubusercontent.com/phoityne/pms-infrastructure/main/docs/21-1.png)\n---\n\n## Module Structure\n![Module Structure](https://raw.githubusercontent.com/phoityne/pms-infrastructure/main/docs/21-2.png)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoityne%2Fpms-infrastructure","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphoityne%2Fpms-infrastructure","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphoityne%2Fpms-infrastructure/lists"}