pms-domain-service: pms-domain-service

[ ai, apache, library ] [ Propose Tags ] [ Report a vulnerability ]

README.md


[Skip to Readme]

Modules

  • PMS
    • Domain
      • Service
        • App
          • PMS.Domain.Service.App.Control
        • DM
          • PMS.Domain.Service.DM.Constant
          • PMS.Domain.Service.DM.TH
          • PMS.Domain.Service.DM.Type
        • DS
          • PMS.Domain.Service.DS.Core
          • State
            • PMS.Domain.Service.DS.State.Run
            • PMS.Domain.Service.DS.State.Start
              • PMS.Domain.Service.DS.State.Start.Disconnect
              • PMS.Domain.Service.DS.State.Start.Init
              • PMS.Domain.Service.DS.State.Start.Launch
              • PMS.Domain.Service.DS.State.Start.Terminate
            • PMS.Domain.Service.DS.State.Stop
          • PMS.Domain.Service.DS.Utility

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1.0
Change log CHANGELOG.md
Dependencies aeson, base (>=4.21.0.0 && <4.22), bytestring, conduit, data-default, directory, fast-logger, filepath, lens, monad-logger, mtl, pms-domain-model, safe-exceptions, stm, template-haskell, text, transformers [details]
License Apache-2.0
Copyright 2025-2026 phoityne.hs@gmail.com
Author phoityne.hs@gmail.com
Maintainer phoityne.hs@gmail.com
Category AI
Home page https://github.com/phoityne/pms-domain-service
Bug tracker https://github.com/phoityne/pms-domain-service/issues
Uploaded by phoityne_hs at 2025-06-03T11:13:54Z
Distributions
Downloads 3 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2025-06-03 [all 2 reports]

Readme for pms-domain-service-0.0.1.0

[back to package description]

pms-domain-service

pms-domain-service is one of the internal packages that make up the pty-mcp-server project.
It defines the state-managed core application logic, serving as the foundation of the system’s behavior and lifecycle management.

This package models the application as an explicit state machine, where domain operations are defined in terms of transitions between well-typed states.
To achieve this, it leverages Generalized Algebraic Data Types (GADTs) to encode state transitions and enforce correctness at the type level.

The design enables the domain to maintain strict control over valid operations, lifecycle invariants, and business rules.
Though it follows the State Pattern in structure, the emphasis is on ensuring a predictable, evolvable, and verifiable control flow within the domain.

By isolating this logic from UI and infrastructure concerns, pms-domain-service functions as the core domain layer, managing the internal state of the application in a controlled and testable manner.


Package Structure

Package Structure

Module Structure

Module Structure