packages feed

tricorder-types 0.6.0.0 → 1.0.0.0

raw patch · 19 files changed

+148/−205 lines, 19 filesdep ~atelier-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: atelier-core

API changes (from Hackage documentation)

- Tricorder.API.Command: TestOptions :: Bool -> WaitMode -> TestOptions
- Tricorder.API.Command: TestResults :: TestOptions -> Command
- Tricorder.API.Command: [failedOnly] :: TestOptions -> Bool
- Tricorder.API.Command: data TestOptions
- Tricorder.API.Force: Force :: Force
- Tricorder.API.Force: NoForce :: Force
- Tricorder.API.Force: data Force
- Tricorder.API.Force: forceFlagName :: String
- Tricorder.API.Force: toArgs :: Force -> [String]
- Tricorder.API.Force.Args: forceFlagName :: String
- Tricorder.API.Force.Args: forceShortFlagName :: Char
- Tricorder.API.Force.Args: parser :: String -> Parser Force
- Tricorder.API.IfDaemonIsStopped: startDaemonFlagName :: String
- Tricorder.API.Test: [wait] :: SuitesOptions -> WaitMode
- Tricorder.API.WaitMode: ShowCurrent :: WaitMode
- Tricorder.API.WaitMode: WaitForBuild :: WaitMode
- Tricorder.API.WaitMode: data WaitMode
- Tricorder.API.WaitMode: instance GHC.Classes.Eq Tricorder.API.WaitMode.WaitMode
- Tricorder.API.WaitMode: toArgs :: WaitMode -> [String]
- Tricorder.API.WaitMode: waitForBuildFlagName :: String
- Tricorder.API.WaitMode.Args: parser :: Parser WaitMode
+ Tricorder.API.IfBuildIsPending: UseCurrent :: IfBuildIsPending
+ Tricorder.API.IfBuildIsPending: WaitForBuild :: IfBuildIsPending
+ Tricorder.API.IfBuildIsPending: data IfBuildIsPending
+ Tricorder.API.IfBuildIsPending: instance GHC.Classes.Eq Tricorder.API.IfBuildIsPending.IfBuildIsPending
+ Tricorder.API.IfBuildIsPending: toArgs :: IfBuildIsPending -> [String]
+ Tricorder.API.IfBuildIsPending: useCurrentFlagName :: String
+ Tricorder.API.IfBuildIsPending: useCurrentShortFlagName :: Char
+ Tricorder.API.IfBuildIsPending.Args: parser :: Parser IfBuildIsPending
+ Tricorder.API.IfDaemonIsStopped: doNothingFlagName :: String
+ Tricorder.API.IfThereArePendingQueries: DontWait :: IfThereArePendingQueries
+ Tricorder.API.IfThereArePendingQueries: Wait :: IfThereArePendingQueries
+ Tricorder.API.IfThereArePendingQueries: data IfThereArePendingQueries
+ Tricorder.API.IfThereArePendingQueries: dontWaitFlagName :: String
+ Tricorder.API.IfThereArePendingQueries: toArgs :: IfThereArePendingQueries -> [String]
+ Tricorder.API.IfThereArePendingQueries.Args: parser :: Parser IfThereArePendingQueries
+ Tricorder.API.Test: [ifBuildIsPending] :: SuitesOptions -> IfBuildIsPending
- Tricorder.API.Command: EvalCommentsOptions :: WaitMode -> OutputFormat -> IfDaemonIsStopped -> EvalCommentsOptions
+ Tricorder.API.Command: EvalCommentsOptions :: IfBuildIsPending -> OutputFormat -> IfDaemonIsStopped -> EvalCommentsOptions
- Tricorder.API.Command: StatusOptions :: WaitMode -> OutputFormat -> Verbosity -> Maybe Int -> IfDaemonIsStopped -> StatusOptions
+ Tricorder.API.Command: StatusOptions :: IfBuildIsPending -> OutputFormat -> Verbosity -> Maybe Int -> IfDaemonIsStopped -> StatusOptions
- Tricorder.API.Command: [wait] :: TestOptions -> WaitMode
+ Tricorder.API.Command: [wait] :: StatusOptions -> IfBuildIsPending
- Tricorder.API.Daemon.Command: Restart :: Force -> Command
+ Tricorder.API.Daemon.Command: Restart :: IfThereArePendingQueries -> Command
- Tricorder.API.Daemon.Command: Stop :: Force -> Command
+ Tricorder.API.Daemon.Command: Stop :: IfThereArePendingQueries -> Command
- Tricorder.API.Test: SuitesOptions :: [SuiteName] -> TestFilter -> Maybe FieldMask -> OutputFormat -> WaitMode -> IfDaemonIsStopped -> SuitesOptions
+ Tricorder.API.Test: SuitesOptions :: [SuiteName] -> TestFilter -> Maybe FieldMask -> OutputFormat -> IfBuildIsPending -> IfDaemonIsStopped -> SuitesOptions

Files

CHANGELOG.md view
@@ -7,6 +7,22 @@  ## [Unreleased] +## [1.0.0.0] - 2026-10-29++### Changed++- `Tricorder.API.WaitMode`: renamed to `Tricorder.API.IfBuildIsPending`.+- `Tricorder.API.IfBuildIsPending`: wait for build to finish by default.+- `Tricorder.API.IfDaemonIsStopped`: start daemon by default.+- `Tricorder.API.Force`: renamed to `Tricorder.API.IfTherearePendingQueries`.++### Removed++- `test-results` subcommand.+- `start` subcommand.+- `stop` subcommand.+- `restart` subcommand.+ ## [0.6.0.0] - 2026-10-23  ### Added
src/Tricorder/API/Args/Deprecated.hs view
@@ -1,25 +1,8 @@ module Tricorder.API.Args.Deprecated (parser) where -import Options.Applicative-    ( Parser-    , command-    , commandGroup-    , flag-    , help-    , hidden-    , hsubparser-    , info-    , long-    , progDescDoc-    )--import Options.Applicative.Help qualified as Doc--import Tricorder.API.Command (Command (..), TestOptions (..))+import Options.Applicative (Parser, commandGroup, hidden, hsubparser) -import Tricorder.API.Daemon.Args qualified as Daemon.Args-import Tricorder.API.Daemon.Command qualified as Daemon.Command-import Tricorder.API.WaitMode.Args qualified as WaitMode.Args+import Tricorder.API.Command (Command (..))   parser :: Parser Command@@ -28,49 +11,4 @@         $ mconcat             [ hidden             , commandGroup "Deprecated:"-            , command-                "start"-                $ info (pure $ Daemon Daemon.Command.Start)-                $ progDescDoc-                $ Just-                $ "Start the daemon (no-op if already running.)"-                    <> Doc.line-                    <> "Use 'daemon start' instead."-            , command-                "stop"-                $ info (Daemon <$> Daemon.Args.stopParser)-                $ progDescDoc-                $ Just-                $ "Stop the daemon."-                    <> Doc.line-                    <> "Use 'daemon stop' instead."-            , command-                "restart"-                $ info (Daemon <$> Daemon.Args.restartParser)-                $ progDescDoc-                $ Just-                $ "Restart the daemon."-                    <> Doc.line-                    <> "Use 'daemon restart' instead."-            , command "test-results"-                $ info testResultsParser-                $ progDescDoc-                $ Just-                $ "Show output from the latest test run"-                    <> Doc.line-                    <> "Use `test suites` instead."             ]---testResultsParser :: Parser Command-testResultsParser =-    TestResults-        <$> ( TestOptions-                <$> flag-                    False-                    True-                    ( long "failed"-                        <> help "Only show output from failed test suites"-                    )-                <*> WaitMode.Args.parser-            )
src/Tricorder/API/Command.hs view
@@ -4,22 +4,21 @@     , LogMode (..)     , SourceOptions (..)     , StatusOptions (..)-    , TestOptions (..)     , Verbosity (..)     , toArgs     ) where +import Tricorder.API.IfBuildIsPending (IfBuildIsPending) import Tricorder.API.IfDaemonIsStopped (IfDaemonIsStopped) import Tricorder.API.OutputFormat (OutputFormat (..))-import Tricorder.API.WaitMode (WaitMode) import Tricorder.SourceLookup.SourceQuery (SourceQuery, renderSourceQuery)  import Tricorder.API.Daemon.Command qualified as Daemon (Command) import Tricorder.API.Daemon.Command qualified as Daemon.Command+import Tricorder.API.IfBuildIsPending qualified as IfBuildIsPending import Tricorder.API.OutputFormat qualified as OutputFormat import Tricorder.API.Test qualified as Test-import Tricorder.API.WaitMode qualified as WaitMode   data Verbosity@@ -32,7 +31,7 @@   data StatusOptions = StatusOptions-    { wait :: WaitMode+    { wait :: IfBuildIsPending     , format :: OutputFormat     , verbosity :: Verbosity     , expand :: Maybe Int@@ -40,14 +39,8 @@     }  -data TestOptions = TestOptions-    { failedOnly :: Bool-    , wait :: WaitMode-    }-- data EvalCommentsOptions = EvalCommentsOptions-    { wait :: WaitMode+    { wait :: IfBuildIsPending     , format :: OutputFormat     , ifDaemonIsStopped :: IfDaemonIsStopped     }@@ -64,8 +57,6 @@  data Command     = Status StatusOptions-    | -- | DEPRECATED: Use 'Test' instead.-      TestResults TestOptions     | Test Test.Command     | UI     | Log LogMode@@ -84,12 +75,10 @@ toArgs = \case     Status (StatusOptions {wait, format, verbosity, expand}) ->         "status"-            : WaitMode.toArgs wait+            : IfBuildIsPending.toArgs wait                 <> OutputFormat.toArgs format                 <> verbosityArgs verbosity                 <> maybe [] (\n -> ["--expand", show n]) expand-    TestResults (TestOptions {failedOnly, wait}) ->-        "test-results" : failedArgs failedOnly <> WaitMode.toArgs wait     Test testCommand -> "test" : Test.toArgs testCommand     UI -> ["ui"]     Log ShowLogPath -> ["log", "--print-path"]@@ -100,15 +89,10 @@                 <> maybe [] (\n -> ["--max-modules", show n]) maxModules                 <> map renderSourceQuery queries     EvalComments (EvalCommentsOptions {wait, format}) ->-        "eval-comments" : WaitMode.toArgs wait <> OutputFormat.toArgs format+        "eval-comments" : IfBuildIsPending.toArgs wait <> OutputFormat.toArgs format     Daemon daemonCommand -> "daemon" : Daemon.Command.toArgs daemonCommand   verbosityArgs :: Verbosity -> [String] verbosityArgs Verbose = ["--verbose"] verbosityArgs Concise = []---failedArgs :: Bool -> [String]-failedArgs True = ["--failed"]-failedArgs False = []
src/Tricorder/API/Command/Args.hs view
@@ -35,10 +35,10 @@  import Tricorder.API.Args.Deprecated qualified as Args.Deprecated import Tricorder.API.Daemon.Args qualified as Daemon.Args+import Tricorder.API.IfBuildIsPending.Args qualified as IfBuildIsPending.Args import Tricorder.API.IfDaemonIsStopped.Args qualified as IfDaemonIsStopped.Args import Tricorder.API.OutputFormat.Args qualified as OutputFormat.Args import Tricorder.API.Test.Args qualified as Test.Args-import Tricorder.API.WaitMode.Args qualified as WaitMode.Args   parser :: Parser Command@@ -84,7 +84,7 @@ statusParser =     Status         <$> ( StatusOptions-                <$> WaitMode.Args.parser+                <$> IfBuildIsPending.Args.parser                 <*> OutputFormat.Args.parser                 <*> flag                     Concise@@ -148,7 +148,7 @@ evalCommentsParser =     EvalComments         <$> ( EvalCommentsOptions-                <$> WaitMode.Args.parser+                <$> IfBuildIsPending.Args.parser                 <*> OutputFormat.Args.parser                 <*> IfDaemonIsStopped.Args.parser             )
src/Tricorder/API/Daemon/Args.hs view
@@ -11,7 +11,7 @@  import Tricorder.API.Daemon.Command (Command (..)) -import Tricorder.API.Force.Args qualified as Force.Args+import Tricorder.API.IfThereArePendingQueries.Args qualified as IfThereArePendingQueries.Args import Tricorder.API.OutputFormat.Args qualified as OutputFormat.Args  @@ -47,10 +47,8 @@   stopParser :: Parser Command-stopParser =-    Stop <$> Force.Args.parser "Ignore waiting queries when stopping the daemon."+stopParser = Stop <$> IfThereArePendingQueries.Args.parser   restartParser :: Parser Command-restartParser =-    Restart <$> Force.Args.parser "Ignore watiting queries when restarting the daemon."+restartParser = Restart <$> IfThereArePendingQueries.Args.parser
src/Tricorder/API/Daemon/Command.hs view
@@ -1,22 +1,22 @@ module Tricorder.API.Daemon.Command (Command (..), toArgs) where -import Tricorder.API.Force (Force)+import Tricorder.API.IfThereArePendingQueries (IfThereArePendingQueries) import Tricorder.API.OutputFormat (OutputFormat) -import Tricorder.API.Force qualified as Force+import Tricorder.API.IfThereArePendingQueries qualified as IfThereArePendingQueries import Tricorder.API.OutputFormat qualified as OutputFormat   data Command     = Start-    | Stop Force-    | Restart Force+    | Stop IfThereArePendingQueries+    | Restart IfThereArePendingQueries     | Info OutputFormat   toArgs :: Command -> [String] toArgs = \case     Start -> ["start"]-    Stop force' -> "stop" : Force.toArgs force'-    Restart force' -> "restart" : Force.toArgs force'+    Stop force' -> "stop" : IfThereArePendingQueries.toArgs force'+    Restart force' -> "restart" : IfThereArePendingQueries.toArgs force'     Info format -> "info" : OutputFormat.toArgs format
− src/Tricorder/API/Force.hs
@@ -1,18 +0,0 @@-module Tricorder.API.Force-    ( Force (..)-    , toArgs-    , forceFlagName-    )-where---data Force = Force | NoForce---toArgs :: Force -> [String]-toArgs Force = ["--" <> forceFlagName]-toArgs NoForce = []---forceFlagName :: String-forceFlagName = "force"
− src/Tricorder/API/Force/Args.hs
@@ -1,26 +0,0 @@-module Tricorder.API.Force.Args-    ( parser-    , forceFlagName-    , forceShortFlagName-    )-where--import Options.Applicative (Parser, flag, help, long, short)--import Tricorder.API.Force (Force)--import Tricorder.API.Force qualified as Force---parser :: String -> Parser Force-parser helpText =-    flag Force.NoForce Force.Force-        $ short forceShortFlagName <> long forceFlagName <> help helpText---forceFlagName :: String-forceFlagName = "force"---forceShortFlagName :: Char-forceShortFlagName = 'f'
+ src/Tricorder/API/IfBuildIsPending.hs view
@@ -0,0 +1,26 @@+module Tricorder.API.IfBuildIsPending+    ( IfBuildIsPending (..)+    , toArgs+    , useCurrentFlagName+    , useCurrentShortFlagName+    )+where+++data IfBuildIsPending+    = UseCurrent+    | WaitForBuild+    deriving stock (Eq)+++toArgs :: IfBuildIsPending -> [String]+toArgs WaitForBuild = []+toArgs UseCurrent = ["--" <> useCurrentFlagName]+++useCurrentFlagName :: String+useCurrentFlagName = "use-current"+++useCurrentShortFlagName :: Char+useCurrentShortFlagName = 'c'
+ src/Tricorder/API/IfBuildIsPending/Args.hs view
@@ -0,0 +1,20 @@+module Tricorder.API.IfBuildIsPending.Args (parser) where++import Options.Applicative (Parser, help, long, short)++import Atelier.Effects.Arguments.Switch qualified as Switch++import Tricorder.API.IfBuildIsPending+    ( IfBuildIsPending (..)+    , useCurrentFlagName+    , useCurrentShortFlagName+    )+++parser :: Parser IfBuildIsPending+parser =+    fmap (bool WaitForBuild UseCurrent)+        $ Switch.parser+        $ long useCurrentFlagName+            <> short useCurrentShortFlagName+            <> help "Skip waiting for the pending build and use the current (potentially incomplete) build status."
src/Tricorder/API/IfDaemonIsStopped.hs view
@@ -1,7 +1,7 @@ module Tricorder.API.IfDaemonIsStopped     ( IfDaemonIsStopped (..)     , toArgs-    , startDaemonFlagName+    , doNothingFlagName     ) where @@ -14,9 +14,9 @@  toArgs :: IfDaemonIsStopped -> [String] toArgs = \case-    StartDaemon -> ["--" <> startDaemonFlagName]-    DoNothing -> []+    StartDaemon -> []+    DoNothing -> ["--" <> doNothingFlagName]  -startDaemonFlagName :: String-startDaemonFlagName = "start-daemon"+doNothingFlagName :: String+doNothingFlagName = "prevent-daemon"
src/Tricorder/API/IfDaemonIsStopped/Args.hs view
@@ -1,15 +1,19 @@ module Tricorder.API.IfDaemonIsStopped.Args (parser) where -import Options.Applicative (Parser, flag, help, long, short)+import Options.Applicative (Parser, help, long) -import Tricorder.API.IfDaemonIsStopped (IfDaemonIsStopped (..), startDaemonFlagName)+import Atelier.Effects.Arguments.Switch qualified as Switch +import Tricorder.API.IfDaemonIsStopped+    ( IfDaemonIsStopped (..)+    , doNothingFlagName+    ) + parser :: Parser IfDaemonIsStopped parser =-    flag-        DoNothing-        StartDaemon-        $ long startDaemonFlagName-            <> short 'd'-            <> help "Start the daemon if it is not already running."+    fmap (bool StartDaemon DoNothing)+        $ Switch.parser+        $ long doNothingFlagName+            <> help+                "Normally, the daemon will be started if it is not already running. This flag prevents that, and instead will make Tricorder produce an error if the daemon is not running."
+ src/Tricorder/API/IfThereArePendingQueries.hs view
@@ -0,0 +1,18 @@+module Tricorder.API.IfThereArePendingQueries+    ( IfThereArePendingQueries (..)+    , toArgs+    , dontWaitFlagName+    )+where+++data IfThereArePendingQueries = Wait | DontWait+++toArgs :: IfThereArePendingQueries -> [String]+toArgs DontWait = ["--" <> dontWaitFlagName]+toArgs Wait = []+++dontWaitFlagName :: String+dontWaitFlagName = "ignore-pending-queries"
+ src/Tricorder/API/IfThereArePendingQueries/Args.hs view
@@ -0,0 +1,17 @@+module Tricorder.API.IfThereArePendingQueries.Args+    ( parser+    )+where++import Options.Applicative (Parser, help, long)++import Atelier.Effects.Arguments.Switch qualified as Switch++import Tricorder.API.IfThereArePendingQueries (IfThereArePendingQueries (..), dontWaitFlagName)+++parser :: Parser IfThereArePendingQueries+parser =+    fmap (bool Wait DontWait)+        $ Switch.parser+        $ long dontWaitFlagName <> help "Do not wait for queries and clients with pending requests."
src/Tricorder/API/Test.hs view
@@ -9,16 +9,16 @@ import Prelude hiding (All, filter)  import Tricorder.API.FieldMask (FieldMask)+import Tricorder.API.IfBuildIsPending (IfBuildIsPending) import Tricorder.API.IfDaemonIsStopped (IfDaemonIsStopped) import Tricorder.API.OutputFormat (OutputFormat) import Tricorder.API.TestFilter (TestFilter)-import Tricorder.API.WaitMode (WaitMode)  import Tricorder.API.FieldMask qualified as FieldMask+import Tricorder.API.IfBuildIsPending qualified as IfBuildIsPending import Tricorder.API.IfDaemonIsStopped qualified as IfDaemonIsStopped import Tricorder.API.OutputFormat qualified as OutputFormat import Tricorder.API.TestFilter qualified as TestFilter-import Tricorder.API.WaitMode qualified as WaitMode   data Command@@ -32,7 +32,7 @@     , fields :: Maybe FieldMask     -- ^ Fields to show for each test suite. 'Nothing' uses the default fields.     , format :: OutputFormat-    , wait :: WaitMode+    , ifBuildIsPending :: IfBuildIsPending     , ifDaemonIsStopped :: IfDaemonIsStopped     } @@ -42,11 +42,11 @@  toArgs :: Command -> [String] toArgs = \case-    Suites (SuitesOptions {suiteNames, testFilter, fields, format, wait, ifDaemonIsStopped}) ->+    Suites (SuitesOptions {suiteNames, testFilter, fields, format, ifBuildIsPending, ifDaemonIsStopped}) ->         "suites"             : fmap toString suiteNames                 <> TestFilter.toArgs testFilter                 <> FieldMask.toArgs fields                 <> OutputFormat.toArgs format-                <> WaitMode.toArgs wait+                <> IfBuildIsPending.toArgs ifBuildIsPending                 <> IfDaemonIsStopped.toArgs ifDaemonIsStopped
src/Tricorder/API/Test/Args.hs view
@@ -23,12 +23,12 @@ import Tricorder.API.FieldMask.Args qualified as FieldMask.Args import Tricorder.API.FieldMask.Schema qualified as FieldMask (Schema (..)) import Tricorder.API.FieldMask.Schema qualified as FieldMask.Schema+import Tricorder.API.IfBuildIsPending.Args qualified as IfBuildIsPending.Args import Tricorder.API.IfDaemonIsStopped.Args qualified as IfDaemonIsStopped.Args import Tricorder.API.OutputFormat.Args qualified as OutputFormat.Args import Tricorder.API.Test qualified as Test import Tricorder.API.Test.SuiteView.Schema qualified as SuiteView.Schema import Tricorder.API.TestFilter.Args qualified as TestFilter.Args-import Tricorder.API.WaitMode.Args qualified as WaitMode.Args   parser :: ParserInfo Command@@ -77,7 +77,7 @@                         ]                 )             <*> OutputFormat.Args.parser-            <*> WaitMode.Args.parser+            <*> IfBuildIsPending.Args.parser             <*> IfDaemonIsStopped.Args.parser  
− src/Tricorder/API/WaitMode.hs
@@ -1,21 +0,0 @@-module Tricorder.API.WaitMode-    ( WaitMode (..)-    , toArgs-    , waitForBuildFlagName-    )-where---data WaitMode-    = ShowCurrent-    | WaitForBuild-    deriving stock (Eq)---toArgs :: WaitMode -> [String]-toArgs WaitForBuild = ["--" <> waitForBuildFlagName]-toArgs ShowCurrent = []---waitForBuildFlagName :: String-waitForBuildFlagName = "wait"
− src/Tricorder/API/WaitMode/Args.hs
@@ -1,13 +0,0 @@-module Tricorder.API.WaitMode.Args (parser) where--import Options.Applicative (Parser, flag, help, long, short)--import Tricorder.API.WaitMode (WaitMode (..), waitForBuildFlagName)---parser :: Parser WaitMode-parser =-    flag ShowCurrent WaitForBuild-        $ long waitForBuildFlagName-            <> short 'w'-            <> help "Block until the current build cycle completes"
tricorder-types.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           tricorder-types-version:        0.6.0.0+version:        1.0.0.0 synopsis:       Shared domain types for various Tricorder components description:    Shared domain types for various Tricorder components like                 [Tricorder itself](https://hackage.haskell.org/package/tricorder) and@@ -43,10 +43,12 @@       Tricorder.API.FieldMask.Args       Tricorder.API.FieldMask.Projection       Tricorder.API.FieldMask.Schema-      Tricorder.API.Force-      Tricorder.API.Force.Args+      Tricorder.API.IfBuildIsPending+      Tricorder.API.IfBuildIsPending.Args       Tricorder.API.IfDaemonIsStopped       Tricorder.API.IfDaemonIsStopped.Args+      Tricorder.API.IfThereArePendingQueries+      Tricorder.API.IfThereArePendingQueries.Args       Tricorder.API.OutputFormat       Tricorder.API.OutputFormat.Args       Tricorder.API.Test@@ -55,8 +57,6 @@       Tricorder.API.Test.SuiteView.Schema       Tricorder.API.TestFilter       Tricorder.API.TestFilter.Args-      Tricorder.API.WaitMode-      Tricorder.API.WaitMode.Args       Tricorder.SourceLookup.ModuleSourceResult       Tricorder.SourceLookup.PackageId       Tricorder.SourceLookup.ReexportLimits@@ -87,7 +87,7 @@   ghc-options: -Weverything -Wno-unsafe -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction -Wno-missing-kind-signatures -Wno-missing-local-signatures -Wno-missing-import-lists -Wno-implicit-prelude -Wno-unticked-promoted-constructors -Wno-unused-packages -Wno-all-missed-specialisations -Wno-missed-specialisations   build-depends:       aeson >=2.2 && <2.4-    , atelier-core ==0.8.*+    , atelier-core ==1.0.*     , atelier-prelude ==0.4.*     , base >=4.18 && <4.23     , effectful ==2.7.*@@ -136,7 +136,7 @@       tasty-discover:tasty-discover   build-depends:       aeson >=2.2 && <2.4-    , atelier-core ==0.8.*+    , atelier-core ==1.0.*     , atelier-prelude ==0.4.*     , base >=4.18 && <4.23     , tasty ==1.5.*