defmodule JidoMemory.MixProject do use Mix.Project @version "1.0.0" @source_url "https://github.com/agentjido/jido_memory" @description "Provider-backed memory runtime and basic Jido integration for agents" def project do [ app: :jido_memory, version: @version, elixir: "~> 1.18", elixirc_paths: elixirc_paths(Mix.env()), start_permanent: Mix.env() == :prod, deps: deps(), aliases: aliases(), cli: cli(), # Documentation name: "Jido Memory", source_url: @source_url, homepage_url: @source_url, description: @description, docs: docs(), package: package(), # Testing test_coverage: [summary: [threshold: 0]] ] end def application do [ extra_applications: [:logger] ] end defp elixirc_paths(:test), do: ["lib", "test/support"] defp elixirc_paths(_), do: ["lib"] defp aliases do [ setup: ["deps.get", "cmd npm install"], "example.memory": ["run examples/memory_agent_demo.exs"], quality: [ "format", "credo --strict", "dialyzer", "test", "coveralls.html", "doctor --raise" ] ] end def cli do [ preferred_envs: [ "coveralls.html": :test, "test.watch": :test, quality: :test ] ] end defp deps do [ # Jido ecosystem {:jido, "~> 2.3"}, {:jido_action, "~> 2.3"}, {:jido_ai, "~> 2.2", only: [:dev, :test]}, # Force the maintained tzdata/hackney path so shared CI's `mix hex.audit` # does not resolve the retired legacy transport stack. {:tzdata, "~> 1.1"}, # Validation & errors {:zoi, "~> 0.18"}, {:splode, "~> 0.3"}, # Optional durable stores {:ecto_sql, "~> 3.13", optional: true}, {:postgrex, "~> 0.20", optional: true}, # Dev & test {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:ex_doc, "~> 0.31", only: :dev, runtime: false}, {:doctor, "~> 0.22", only: :dev, runtime: false}, {:excoveralls, "~> 0.18", only: [:dev, :test]}, {:stream_data, "~> 1.0", only: [:dev, :test]}, {:mimic, "~> 2.0", only: :test} ] end defp docs do [ extras: [ "README.md", "CONTRIBUTING.md", "CHANGELOG.md", "guides/index.md", "guides/using_jido_memory.md", "guides/api_adapter_surface.md", "guides/basic_provider.md", "docs/provider_contract.md", "docs/provider_migration.md", "docs/plans/provider-memory-api-migration-plan.md" ], main: "readme", source_ref: "main", formatters: ["html"] ] end defp package do [ licenses: ["Apache-2.0"], links: %{ "GitHub" => @source_url } ] end end