agentic-anthropic 0.2.0.5 → 0.2.1.0
raw patch · 4 files changed
+19/−13 lines, 4 filesdep ~agenticdep ~agentic-aesondep ~agentic-anthropicPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: agentic, agentic-aeson, agentic-anthropic, agentic-io
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- agentic-anthropic.cabal +9/−9
- test-live/Live.hs +1/−1
- test/Spec.hs +4/−3
CHANGELOG.md view
@@ -1,5 +1,10 @@ # Changelog for agentic-anthropic +## 0.2.1.0 - 2026-11-06++* Follow Agentic's `Structure`/`Outline` API and fallible model compilation.+ Provider wire schemas and protocols are unchanged.+ ## 0.2.0.5 - 2026-10-06 * No changes; released alongside agentic 0.2.0.5.
agentic-anthropic.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: agentic-anthropic-version: 0.2.0.5+version: 0.2.1.0 synopsis: Claude as the System Two provider for agentic description: Runs agentic's draft steps on Claude through the Messages API, with strict structured outputs and tools, and can stand in as System One.@@ -37,8 +37,8 @@ hs-source-dirs: src exposed-modules: Agentic.Anthropic build-depends:- , agentic ==0.2.*- , agentic-aeson ==0.2.*+ , agentic >=0.2.1 && <0.3+ , agentic-aeson >=0.2.1 && <0.3 , aeson >=2.1 && <2.3 , base >=4.18 && <5 , bytestring >=0.11 && <0.13@@ -52,9 +52,9 @@ hs-source-dirs: test main-is: Spec.hs build-depends:- , agentic ==0.2.*- , agentic-aeson ==0.2.*- , agentic-anthropic ==0.2.*+ , agentic >=0.2.1 && <0.3+ , agentic-aeson >=0.2.1 && <0.3+ , agentic-anthropic >=0.2.1 && <0.3 , aeson >=2.1 && <2.3 , base >=4.18 && <5 , hspec >=2.10 && <3@@ -66,9 +66,9 @@ hs-source-dirs: test-live main-is: Live.hs build-depends:- , agentic ==0.2.*- , agentic-anthropic ==0.2.*- , agentic-io ==0.2.*+ , agentic >=0.2.1 && <0.3+ , agentic-anthropic >=0.2.1 && <0.3+ , agentic-io >=0.2.1 && <0.3 , base >=4.18 && <5 , hspec >=2.10 && <3 , text >=2.0 && <2.2
test-live/Live.hs view
@@ -33,7 +33,7 @@ deriving (Show, Eq) instance Contract Rating where- contract = mapCodec Rating (\(Rating n) -> n) (between 1 10 contract)+ contract = mapStructure Rating (\(Rating n) -> n) (between 1 10 contract) main :: IO () main = do
test/Spec.hs view
@@ -1,6 +1,7 @@ module Main (main) where import Agentic+import Agentic.Scripted (modelContract) import Agentic.Runtime (Conversation (..)) import Agentic.Schema (Shape (..)) import Agentic.Aeson (toAeson)@@ -20,8 +21,8 @@ , instruction = "Suggest 3 dinosaurs" , input = Null , inputSchema = schemaOf SNull- , tools = [ToolSpec "search" "Search the fossil database" ((contract @Text).schema)]- , outputSchema = (contract @[Text]).schema+ , tools = [ToolSpec "search" "Search the fossil database" ((modelContract @Text).schema)]+ , outputSchema = (modelContract @[Text]).schema , history = [] } @@ -48,7 +49,7 @@ ) it "keeps a record's field order in its schema" $ do- let body = renderJson (requestBody anthropic conversation {outputSchema = (contract @(Text, Text, Text)).schema})+ let body = renderJson (requestBody anthropic conversation {outputSchema = (modelContract @(Text, Text, Text)).schema}) at' k = T.length (fst (T.breakOn k body)) (at' "\"_1\"" < at' "\"_2\"", at' "\"_2\"" < at' "\"_3\"") `shouldBe` (True, True)