Build log
nerves_system_bbb
jido_tools 0.1.1 · fail · run jido_tools-0.1.1-1790962525099
2279 of 2279 lines
1Resolving Hex dependencies...2Resolution completed in 0.41s3Unchanged:4 abacus 2.1.05 backoff 1.1.66 certifi 2.15.07 circular_buffer 1.1.08 crontab 1.2.09 decimal 3.1.110 deep_merge 1.0.211 dotenvy 1.1.112 ecto 3.14.213 elixir_make 0.10.014 ex_dbug 2.1.015 expo 1.1.116 finch 0.22.017 gen_stage 1.3.218 gettext 0.26.219 hackney 1.25.0 VULNERABLE!20 EEF-CVE-2026-47071 (HIGH)21 aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr22 SOCKS5 TLS upgrade ignores caller timeout in hackney23 https://osv.dev/vulnerability/EEF-CVE-2026-470712425 EEF-CVE-2026-47076 (MEDIUM)26 aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq27 SSRF allowlist bypass via percent-encoded host in hackney28 https://osv.dev/vulnerability/EEF-CVE-2026-470762930 EEF-CVE-2026-47069 (LOW)31 aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw232 CRLF injection in cookie domain/path options in hackney33 https://osv.dev/vulnerability/EEF-CVE-2026-470693435 EEF-CVE-2026-47075 (MEDIUM)36 aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf37 CR/LF injection in query parameter in hackney38 https://osv.dev/vulnerability/EEF-CVE-2026-4707539 hpax 1.1.040 httpoison 2.3.041 idna 6.1.142 instructor 0.1.043 interactive_cmd 0.1.444 jason 1.4.545 jaxon 2.0.846 jido 1.1.0-rc.247 jido_ai 0.5.248 jido_tools 0.1.1 RETIRED!49 (deprecated) This package has been deprecated. Use 'jido_action' instead as a drop-in replacement50 langchain 0.3.351 metrics 1.0.152 mime 2.0.753 mimerl 1.5.054 mint 1.11.055 multipart 0.6.156 nerves 2.0.0-pre.257 nerves_discovery 0.1.558 nerves_logging 0.2.459 nerves_runtime 0.13.1360 nerves_system_bbb 2.30.261 nerves_system_br 1.34.462 nerves_system_mangopi_mq_pro 0.17.263 nerves_system_qemu_aarch64 0.4.264 nerves_system_rpi0 2.1.265 nerves_system_rpi4 2.1.266 nerves_system_rpi5 2.1.267 nerves_system_trellis 0.5.068 nerves_system_x86_64 1.34.269 nerves_toolchain_aarch64_nerves_linux_gnu 15.3.170 nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.171 nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.172 nerves_toolchain_riscv64_nerves_linux_gnu 15.3.173 nerves_toolchain_x86_64_nerves_linux_musl 15.3.174 nerves_uevent 0.1.775 nimble_options 1.1.176 nimble_parsec 1.4.277 nimble_pool 1.1.078 ok 2.3.079 openai_ex 0.9.2280 parse_trans 3.4.181 phoenix_pubsub 2.3.082 plug 1.20.383 plug_crypto 2.2.084 private 0.1.285 proper_case 1.3.186 property_table 0.3.487 quantum 3.5.388 req 0.5.18 VULNERABLE!89 EEF-CVE-2026-49755 (HIGH)90 aka: CVE-2026-49755, GHSA-655f-mp8p-96gv91 Decompression bomb DoS in Req via auto-decoded archive and compressed response bodies92 https://osv.dev/vulnerability/EEF-CVE-2026-497559394 EEF-CVE-2026-49756 (LOW)95 aka: CVE-2026-49756, GHSA-px9f-whj3-246m96 Multipart form-data header injection in Req via unescaped name/filename/content_type97 https://osv.dev/vulnerability/EEF-CVE-2026-4975698 ring_logger 0.11.799 solid 0.18.0100 ssl_verify_fun 1.1.7101 tablet 0.3.3102 telemetry 1.4.2103 telemetry_metrics 1.2.0104 telemetry_registry 0.3.2105 tentacat 2.5.0106 toolshed 0.5.0107 typed_struct 0.3.0108 typed_struct_nimble_options 0.1.1109 tz 0.28.4110 uboot_env 1.0.2111 unicode_util_compat 0.7.1112 uniq 0.6.3113 weather 0.4.0114* Getting jido_tools (Hex package)115* Getting nerves (Hex package)116* Getting ring_logger (Hex package)117* Getting toolshed (Hex package)118* Getting nerves_runtime (Hex package)119* Getting nerves_system_bbb (Hex package)120* Getting nerves_system_mangopi_mq_pro (Hex package)121* Getting nerves_system_qemu_aarch64 (Hex package)122* Getting nerves_system_rpi0 (Hex package)123* Getting nerves_system_rpi4 (Hex package)124* Getting nerves_system_rpi5 (Hex package)125* Getting nerves_system_trellis (Hex package)126* Getting nerves_system_x86_64 (Hex package)127* Getting nerves_system_br (Hex package)128* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)129* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)130* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)131* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)132* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)133* Getting nerves_logging (Hex package)134* Getting nerves_uevent (Hex package)135* Getting uboot_env (Hex package)136* Getting elixir_make (Hex package)137* Getting property_table (Hex package)138* Getting circular_buffer (Hex package)139* Getting interactive_cmd (Hex package)140* Getting nerves_discovery (Hex package)141* Getting tablet (Hex package)142* Getting jido (Hex package)143* Getting jido_ai (Hex package)144* Getting req (Hex package)145* Getting tentacat (Hex package)146* Getting weather (Hex package)147* Getting plug (Hex package)148* Getting tz (Hex package)149* Getting mime (Hex package)150* Getting plug_crypto (Hex package)151* Getting telemetry (Hex package)152* Getting httpoison (Hex package)153* Getting jason (Hex package)154* Getting hackney (Hex package)155* Getting certifi (Hex package)156* Getting idna (Hex package)157* Getting metrics (Hex package)158* Getting mimerl (Hex package)159* Getting parse_trans (Hex package)160* Getting ssl_verify_fun (Hex package)161* Getting unicode_util_compat (Hex package)162* Getting finch (Hex package)163* Getting mint (Hex package)164* Getting nimble_options (Hex package)165* Getting nimble_pool (Hex package)166* Getting hpax (Hex package)167* Getting dotenvy (Hex package)168* Getting instructor (Hex package)169* Getting langchain (Hex package)170* Getting openai_ex (Hex package)171* Getting solid (Hex package)172* Getting typed_struct (Hex package)173* Getting nimble_parsec (Hex package)174* Getting multipart (Hex package)175* Getting ecto (Hex package)176* Getting gettext (Hex package)177* Getting expo (Hex package)178* Getting decimal (Hex package)179* Getting jaxon (Hex package)180* Getting abacus (Hex package)181* Getting backoff (Hex package)182* Getting deep_merge (Hex package)183* Getting ex_dbug (Hex package)184* Getting ok (Hex package)185* Getting phoenix_pubsub (Hex package)186* Getting private (Hex package)187* Getting proper_case (Hex package)188* Getting quantum (Hex package)189* Getting telemetry_metrics (Hex package)190* Getting typed_struct_nimble_options (Hex package)191* Getting uniq (Hex package)192* Getting crontab (Hex package)193* Getting gen_stage (Hex package)194* Getting telemetry_registry (Hex package)195Found retired packages, see above for details196Found packages with security advisories, see above for details197You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more198==> nerves_system_br199Generated nerves_system_br app200==> typed_struct201Compiling 2 files (.ex)202Generated typed_struct app203==> gen_stage204Compiling 10 files (.ex)205 warning: unused require Logger206 │207 103 │ require Logger208 │ ~209 │210 └─ lib/gen_stage/dispatchers/partition_dispatcher.ex:103:3211212Generated gen_stage app213==> mime214Compiling 1 file (.ex)215Generated mime app216==> circular_buffer217Compiling 1 file (.ex)218Generated circular_buffer app219==> nimble_options220Compiling 3 files (.ex)221Generated nimble_options app222==> multipart223Compiling 2 files (.ex)224Generated multipart app225==> plug_crypto226Compiling 5 files (.ex)227Generated plug_crypto app228==> hpax229Compiling 4 files (.ex)230Generated hpax app231==> mint232Compiling 1 file (.erl)233Compiling 21 files (.ex)234Generated mint app235==> nerves_compatibility_test236===> Analyzing applications...237===> Compiling mimerl238==> ssl_verify_fun239Compiling 7 files (.erl)240Generated ssl_verify_fun app241==> abacus242Compiling 3 files (.erl)243Compiling 5 files (.ex)244 warning: the following clause is redundant:245246 def typeof(b) when is_boolean(b)247248 it has type:249250 dynamic(boolean())251252 previous clauses have already matched on the following types:253254 atom()255 binary()256 integer()257 float()258259 │260 31 │ def typeof(b) when is_boolean(b), do: :boolean261 │ ~262 │263 └─ lib/runtime/helpers.ex:31:7: Abacus.Runtime.Helpers.typeof/1264265 warning: Abacus.parse/1 is undefined or private266 │267 36 │ Abacus.parse(without_parantheses),268 │ ~269 │270 └─ lib/format.ex:36:14: Abacus.Format.format/1271 └─ lib/format.ex:37:14: Abacus.Format.format/1272 └─ lib/format.ex:38:14: Abacus.Format.format/1273 └─ lib/format.ex:39:14: Abacus.Format.format/1274 └─ lib/format.ex:64:14: Abacus.Format.format/1275 └─ lib/format.ex:65:14: Abacus.Format.format/1276 └─ lib/format.ex:81:14: Abacus.Format.format/1277 └─ lib/format.ex:82:14: Abacus.Format.format/1278 └─ lib/format.ex:100:28: Abacus.Format.format/1279280Generated abacus app281==> tablet282Compiling 2 files (.ex)283Generated tablet app284==> private285Compiling 1 file (.ex)286Generated private app287==> elixir_make288Compiling 8 files (.ex)289Generated elixir_make app290==> nerves_logging291 CC kmsg_tailer.o292 LD kmsg_tailer293Compiling 5 files (.ex)294Generated nerves_logging app295==> proper_case296Compiling 4 files (.ex)297 warning: redefining @doc attribute previously set at line 89.298299 Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:300301 @doc """302 new docs303 """304 def snake_case(...)305306 │307 102 │ @doc """308 │ ~~~~~~~~309 │310 └─ lib/proper_case.ex:102: ProperCase.snake_case/1311312 warning: Jason.encode_to_iodata!/1 is undefined (module Jason is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)313 │314 2 │ use ProperCase.JSONEncoder, transform: &ProperCase.to_camel_case/1315 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~316 │317 └─ lib/json_encoder/camel_case.ex:2: ProperCase.JSONEncoder.CamelCase.encode_to_iodata!/1318319Generated proper_case app320==> nerves_discovery321Compiling 5 files (.ex)322Generated nerves_discovery app323==> ring_logger324Compiling 7 files (.ex)325Generated ring_logger app326==> deep_merge327Compiling 2 files (.ex)328Generated deep_merge app329==> decimal330Compiling 4 files (.ex)331Generated decimal app332==> jason333Compiling 10 files (.ex)334Generated jason app335==> interactive_cmd336Compiling 1 file (.ex)337Generated interactive_cmd app338==> nerves339Compiling 65 files (.ex)340 warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)341 │342 6 │ defmodule Mix.Tasks.Nerves.Init do343 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~344 │345 └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)346347 warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)348 │349 6 │ defmodule Nerves do350 │ ~~~~~~~~~~~~~~~~~~~351 │352 └─ lib/nerves.ex:6: Nerves (module)353354 warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)355 │356 5 │ defmodule Nerves.ArtifactResolver do357 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~358 │359 └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)360361 warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)362 │363 6 │ defmodule Nerves.BuildAction.AppModes do364 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~365 │366 └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)367368 warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)369 │370 5 │ defmodule Nerves.BuildAction.CheckExecutables do371 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~372 │373 └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)374375 warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)376 │377 8 │ defmodule Nerves.BuildAction.Erlinit do378 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~379 │380 └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)381382 warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)383 │384 5 │ defmodule Nerves.BuildAction.Firmware do385 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~386 │387 └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)388389 warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)390 │391 7 │ defmodule Nerves.BuildAction.IExStartupCheck do392 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~393 │394 └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)395396 warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)397 │398 5 │ defmodule Nerves.BuildAction.NervesV1System do399 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~400 │401 └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)402403 warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)404 │405 5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do406 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~407 │408 └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)409410 warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)411 │412 5 │ defmodule Nerves.BuildAction.Rootfs do413 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~414 │415 └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)416417 warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)418 │419 6 │ defmodule Nerves.BuildAction.SortApps do420 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~421 │422 └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)423424 warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)425 │426 5 │ defmodule Nerves.BuildAction.StripAll do427 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~428 │429 └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)430431 warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)432 │433 5 │ defmodule Nerves.BuildAction.Trimmer do434 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~435 │436 └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)437438 warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)439 │440 5 │ defmodule Nerves.BuildPlan do441 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~442 │443 └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)444445 warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)446 │447 5 │ defmodule Nerves.BuildPlan.Checks do448 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~449 │450 └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)451452 warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)453 │454 6 │ defmodule Nerves.Container do455 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~456 │457 └─ lib/nerves/container.ex:6: Nerves.Container (module)458459 warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)460 │461 5 │ defmodule Nerves.Fingerprint do462 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~463 │464 └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)465466 warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)467 │468 5 │ defmodule Nerves.MixPackage do469 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~470 │471 └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)472473 warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)474 │475 5 │ defmodule Nerves.Paths do476 │ ~~~~~~~~~~~~~~~~~~~~~~~~~477 │478 └─ lib/nerves/paths.ex:5: Nerves.Paths (module)479480 warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)481 │482 5 │ defmodule Nerves.TargetTuple do483 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~484 │485 └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)486487Generated nerves app488==> nerves_toolchain_armv7_nerves_linux_gnueabihf489Compiling 1 file (.ex)490Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app491==> nimble_parsec492Compiling 4 files (.ex)493Generated nimble_parsec app494==> solid495Compiling 32 files (.ex)496 warning: unused require Solid497 │498 19 │ require Solid499 │ ~500 │501 └─ lib/solid/sigil.ex:19:3502503Compiling lib/solid/parser.ex (it's taking more than 10s)504Generated solid app505==> nerves_compatibility_test506===> Analyzing applications...507===> Compiling unicode_util_compat508===> Analyzing applications...509===> Compiling idna510===> Analyzing applications...511===> Compiling telemetry512==> ecto513Compiling 56 files (.ex)514Generated ecto app515==> uniq516Compiling 5 files (.ex)517 warning: the variable "clock_hi_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator518 │519 547 │ <<clock_hi::bits(clock_hi_size), clock_lo::bits(8), node::bits(48)>> <-520 │ ~521 │522 └─ lib/uuid.ex:547:29: Uniq.UUID.parse_raw/5523524 warning: the variable "clock_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator525 │526 549 │ <<clock::uint(clock_size)>> <-527 │ ~528 │529 └─ lib/uuid.ex:549:26: Uniq.UUID.parse_raw/5530531 warning: the variable "clock_hi_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator532 │533 547 │ <<clock_hi::bits(clock_hi_size), clock_lo::bits(8), node::bits(48)>> <-534 │ ~535 │536 └─ lib/uuid.ex:547:29: Uniq.UUID.parse_raw/5537538 warning: the variable "clock_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator539 │540 549 │ <<clock::uint(clock_size)>> <-541 │ ~542 │543 └─ lib/uuid.ex:549:26: Uniq.UUID.parse_raw/5544545 warning: the variable "clock_hi_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator546 │547 547 │ <<clock_hi::bits(clock_hi_size), clock_lo::bits(8), node::bits(48)>> <-548 │ ~549 │550 └─ lib/uuid.ex:547:29: Uniq.UUID.parse_raw/5551552 warning: the variable "clock_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator553 │554 549 │ <<clock::uint(clock_size)>> <-555 │ ~556 │557 └─ lib/uuid.ex:549:26: Uniq.UUID.parse_raw/5558559 warning: the variable "clock_hi_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator560 │561 547 │ <<clock_hi::bits(clock_hi_size), clock_lo::bits(8), node::bits(48)>> <-562 │ ~563 │564 └─ lib/uuid.ex:547:29: Uniq.UUID.parse_raw/5565566 warning: the variable "clock_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator567 │568 549 │ <<clock::uint(clock_size)>> <-569 │ ~570 │571 └─ lib/uuid.ex:549:26: Uniq.UUID.parse_raw/5572573Generated uniq app574==> crontab575Compiling 7 files (.ex)576 warning: this clause of defp get_interval_value/2 is never used (or it will always fail/warn when invoked)577 │578 255 │ defp get_interval_value(:ambiguity_opts, %{ambiguity_opts: ambiguity_opts}), do: ambiguity_opts579 │ ~580 │581 └─ lib/crontab/date_checker.ex:255:8: Crontab.DateChecker.get_interval_value/2582583Generated crontab app584==> telemetry_metrics585Compiling 7 files (.ex)586Generated telemetry_metrics app587==> telemetry_registry588Compiling 1 file (.erl)589Compiling 1 file (.ex)590Generated telemetry_registry app591==> ok592Compiling 3 files (.ex)593Generated ok app594==> jaxon595mkdir -p priv596gcc -shared -fpic -D_POSIX_C_SOURCE=199309L -std=c99 -O3 -I/usr/local/lib/erlang/erts-17.1/include c_src/decoder*.c -o priv/decoder.so597Compiling 11 files (.ex)598 warning: Application.get_env/3 is discouraged in the module body, use Application.compile_env/3 instead599 │600 2 │ @parser Application.get_env(:jaxon, :parser, Jaxon.Parsers.NifParser)601 │ ~602 │603 └─ lib/jaxon/parser.ex:2:23: Jaxon.Parser (module)604605Generated jaxon app606==> expo607Compiling 2 files (.erl)608Compiling 22 files (.ex)609Generated expo app610==> gettext611Compiling 18 files (.ex)612 warning: unused require Gettext.Macros613 │614 594 │ require Gettext.Macros615 │ ~616 │617 └─ lib/gettext.ex:594:3618619 warning: the following clause is redundant:620621 defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)622623 it has type:624625 dynamic(%Expo.Message.Plural{})626627 previous clauses have already matched on the following types:628629 %Expo.Message.Singular{}630 %Expo.Message.Plural{}631632 │633 391 │ defp ensure_empty_msgstr!(%Message.Plural{} = message) do634 │ ~635 │636 └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1637638 warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead639 │640 426 │ Kernel.ParallelCompiler.async(fn ->641 │ ~642 │643 └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3644645Generated gettext app646==> phoenix_pubsub647Compiling 12 files (.ex)648Generated phoenix_pubsub app649==> nerves_compatibility_test650===> Analyzing applications...651===> Compiling backoff652===> Analyzing applications...653===> Compiling certifi654==> plug655Compiling 1 file (.erl)656Compiling 42 files (.ex)657Generated plug app658==> dotenvy659Compiling 3 files (.ex)660 warning: unused require Logger661 │662 20 │ require Logger663 │ ~664 │665 └─ lib/dotenvy.ex:20:3666667Generated dotenvy app668==> tz669Compiling 16 files (.ex)670Generated tz app671==> nerves_compatibility_test672===> Analyzing applications...673===> Compiling parse_trans674==> uboot_env675Compiling 5 files (.ex)676Generated uboot_env app677==> nimble_pool678Compiling 2 files (.ex)679Generated nimble_pool app680==> finch681Compiling 22 files (.ex)682Generated finch app683warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"684 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2685 (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1686 (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5687 (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2688 (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4689 (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2690691==> req692Compiling 19 files (.ex)693Generated req app694==> weather695Compiling 20 files (.ex)696 warning: a struct for Weather.Opts is expected on struct update:697698 %Weather.Opts{weather_opts | appid: "<<REDACTED>>"}699700 but got type:701702 dynamic(not %Weather.Opts{appid: nil})703704 where "weather_opts" was given the type:705706 # type: dynamic(not %Weather.Opts{appid: nil})707 # from: lib/weather/opts.ex:376:21708 weather_opts709710 when defining the variable "weather_opts", you must also pattern match on "%Weather.Opts{}"711712 type warning found at:713 │714 376 │ defp redact_appid(weather_opts), do: %Weather.Opts{weather_opts | appid: "<<REDACTED>>"}715 │ ~716 │717 └─ lib/weather/opts.ex:376:40: Inspect.Weather.Opts.redact_appid/1718719 warning: a struct for Weather.Opts is expected on struct update:720721 %Weather.Opts{opts | test: val}722723 but got type:724725 dynamic()726727 where "opts" was given the type:728729 # type: dynamic()730 # from: lib/weather/opts.ex:154:34731 opts732733 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"734735 type warning found at:736 │737 157 │ {:ok, %__MODULE__{opts | test: val}}738 │ ~739 │740 └─ lib/weather/opts.ex:157:15: Weather.Opts.add/3741742 warning: a struct for Weather.Opts is expected on struct update:743744 %Weather.Opts{opts | appid: "MyFakeApiKeyz9c141l98bi16m1g9f21"}745746 but got type:747748 dynamic(%{..., test: not nil})749750 where "opts" was given the type:751752 # type: dynamic(%{..., test: not nil})753 # from: lib/weather/opts.ex:165:37754 %{test: test} = opts755756 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"757758 type warning found at:759 │760 166 │ do: {:ok, %__MODULE__{opts | appid: @fake_api_key}}761 │ ~762 │763 └─ lib/weather/opts.ex:166:15: Weather.Opts.add/3764765 warning: a struct for Weather.Opts is expected on struct update:766767 %Weather.Opts{opts | appid: api_key}768769 but got type:770771 dynamic(not %{..., test: not nil})772773 where "opts" was given the type:774775 # type: dynamic(not %{..., test: not nil})776 # from: lib/weather/opts.ex:168:26777 opts778779 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"780781 type warning found at:782 │783 175 │ {:ok, %__MODULE__{opts | appid: api_key}}784 │ ~785 │786 └─ lib/weather/opts.ex:175:15: Weather.Opts.add/3787788 warning: a struct for Weather.Opts is expected on struct update:789790 %Weather.Opts{opts | latitude: 42.3871, longitude: -87.9562, label: nil}791792 but got type:793794 dynamic(%{..., test: not nil})795796 where "opts" was given the type:797798 # type: dynamic(%{..., test: not nil})799 # from: lib/weather/opts.ex:179:40800 %{test: test} = opts801802 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"803804 type warning found at:805 │806 182 │ %__MODULE__{opts | latitude: @fake_latitude, longitude: @fake_longitude, label: nil}807 │ ~808 │809 └─ lib/weather/opts.ex:182:7: Weather.Opts.add/3810811 warning: a struct for Weather.Opts is expected on struct update:812813 %Weather.Opts{opts | label: label}814815 but got type:816817 dynamic()818819 where "opts" was given the type:820821 # type: dynamic()822 # from: lib/weather/opts.ex:195:37823 opts824825 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"826827 type warning found at:828 │829 196 │ {:ok, %__MODULE__{opts | label: label}}830 │ ~831 │832 └─ lib/weather/opts.ex:196:11: Weather.Opts.add/3833834 warning: a struct for Weather.Opts is expected on struct update:835836 %Weather.Opts{opts | hours: val}837838 but got type:839840 dynamic()841842 where "opts" was given the type:843844 # type: dynamic()845 # from: lib/weather/opts.ex:211:37846 opts847848 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"849850 type warning found at:851 │852 214 │ {:ok, %__MODULE__{opts | hours: val}}853 │ ~854 │855 └─ lib/weather/opts.ex:214:15: Weather.Opts.add/3856857 warning: a struct for Weather.Opts is expected on struct update:858859 %Weather.Opts{opts | every_n_hours: val}860861 but got type:862863 dynamic(%{..., hours: term()})864865 where "opts" was given the type:866867 # type: dynamic(%{..., hours: term()})868 # from: lib/weather/opts.ex:224869 val <= opts.hours870871 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"872873 type warning found at:874 │875 225 │ {:ok, %__MODULE__{opts | every_n_hours: val}}876 │ ~877 │878 └─ lib/weather/opts.ex:225:15: Weather.Opts.add/3879880 warning: a struct for Weather.Opts is expected on struct update:881882 %Weather.Opts{opts | color_codes: color_codes}883884 but got type:885886 dynamic()887888 where "opts" was given the type:889890 # type: dynamic()891 # from: lib/weather/opts.ex:235:53892 opts893894 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"895896 type warning found at:897 │898 248 │ {:ok, %__MODULE__{opts | color_codes: color_codes}}899 │ ~900 │901 └─ lib/weather/opts.ex:248:11: Weather.Opts.add/3902903 warning: a struct for Weather.Opts is expected on struct update:904905 %Weather.Opts{opts | color_codes: color_codes}906907 but got type:908909 dynamic()910911 where "opts" was given the type:912913 # type: dynamic()914 # from: lib/weather/opts.ex:251:49915 opts916917 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"918919 type warning found at:920 │921 253 │ {:ok, %__MODULE__{opts | color_codes: color_codes}}922 │ ~923 │924 └─ lib/weather/opts.ex:253:11: Weather.Opts.add/3925926 warning: a struct for Weather.Opts is expected on struct update:927928 %Weather.Opts{opts | units: units}929930 but got type:931932 dynamic()933934 where "opts" was given the type:935936 # type: dynamic()937 # from: lib/weather/opts.ex:266:37938 opts939940 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"941942 type warning found at:943 │944 269 │ {:ok, %__MODULE__{opts | units: units}}945 │ ~946 │947 └─ lib/weather/opts.ex:269:15: Weather.Opts.add/3948949 warning: a struct for Weather.Opts is expected on struct update:950951 %Weather.Opts{opts | latitude: latitude, longitude: longitude, label: nil}952953 but got type:954955 dynamic()956957 where "opts" was given the type:958959 # type: dynamic()960 # from: lib/weather/opts.ex:296:29961 opts962963 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"964965 type warning found at:966 │967 301 │ %__MODULE__{opts | latitude: latitude, longitude: longitude, label: nil}968 │ ~969 │970 └─ lib/weather/opts.ex:301:9: Weather.Opts.parse_lat_long/2971972 warning: a struct for Weather.Opts is expected on struct update:973974 %Weather.Opts{opts | latitude: latitude, longitude: longitude, label: label_from_zip}975976 but got type:977978 dynamic(%{..., appid: term()})979980 where "opts" was given the type:981982 # type: dynamic(%{..., appid: term()})983 # from: lib/weather/opts.ex:339:22984 Weather.API.fetch_location(%{zip: zip}, opts.appid)985986 when defining the variable "opts", you must also pattern match on "%Weather.Opts{}"987988 type warning found at:989 │990 345 │ %__MODULE__{opts | latitude: latitude, longitude: longitude, label: label_from_zip}991 │ ~992 │993 └─ lib/weather/opts.ex:345:11: Weather.Opts.lookup_by_zip/2994995Generated weather app996==> instructor997Compiling 17 files (.ex)998 warning: this clause cannot match because a previous clause at line 196 matches the same pattern as this clause999 │1000 197 │ %{"content" => chunk} -> chunk1001 │ ~1002 │1003 └─ lib/instructor/adapters/openai.ex:197:2910041005 warning: the following clause is redundant:10061007 %{"content" => chunk} ->10081009 previous clauses have already matched on the following types:10101011 nil1012 map()10131014 where "chunk" was given the type:10151016 # type: dynamic()1017 # from: lib/instructor/adapters/openai.ex:197:71018 %{"content" => chunk}10191020 type warning found at:1021 │1022 197 │ %{"content" => chunk} -> chunk1023 │ ~1024 │1025 └─ lib/instructor/adapters/openai.ex:197:29: Instructor.Adapters.OpenAI.parse_stream_chunk_for_mode/210261027 warning: the following clause will never match:10281029 {:error, reason} ->10301031 it is expected to match on type:10321033 dynamic({:validation, term()} and not {:validation, %Ecto.Changeset{valid?: true}})10341035 type warning found at:1036 │1037 307 │ {:error, reason} -> acc ++ [{:error, reason}]1038 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1039 │1040 └─ lib/instructor.ex:307: Instructor.do_streaming_partial_array_chat_completion/310411042 warning: the following clause is redundant:10431044 e ->10451046 previous clauses have already matched on the following types:10471048 {:validation, not %Ecto.Changeset{valid?: true}}10491050 where "e" was given the type:10511052 # type: dynamic({:validation, term()} and not {:validation, %Ecto.Changeset{valid?: true}})1053 # from: lib/instructor.ex:308:171054 e10551056 type warning found at:1057 │1058 308 │ e -> acc ++ [{:error, e}]1059 │ ~1060 │1061 └─ lib/instructor.ex:308:19: Instructor.do_streaming_partial_array_chat_completion/310621063 warning: the following clause will never match:10641065 {:error, reason} ->10661067 it is expected to match on type:10681069 dynamic({:validation, term()} and not {:validation, %Ecto.Changeset{valid?: true}})10701071 type warning found at:1072 │1073 378 │ {:error, reason} -> {:error, reason}1074 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1075 │1076 └─ lib/instructor.ex:378: Instructor.do_streaming_partial_chat_completion/310771078 warning: the following clause is redundant:10791080 e ->10811082 previous clauses have already matched on the following types:10831084 {:validation, not %Ecto.Changeset{valid?: true}}10851086 where "e" was given the type:10871088 # type: dynamic({:validation, term()} and not {:validation, %Ecto.Changeset{valid?: true}})1089 # from: lib/instructor.ex:379:111090 e10911092 type warning found at:1093 │1094 379 │ e -> {:error, e}1095 │ ~1096 │1097 └─ lib/instructor.ex:379:13: Instructor.do_streaming_partial_chat_completion/310981099 warning: the following clause will never match:11001101 {:error, reason} ->11021103 it is expected to match on type:11041105 dynamic({:validation, term()} and not {:validation, %Ecto.Changeset{valid?: true}})11061107 type warning found at:1108 │1109 414 │ {:error, reason} -> {:error, reason}1110 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1111 │1112 └─ lib/instructor.ex:414: Instructor.do_streaming_array_chat_completion/311131114 warning: the following clause is redundant:11151116 e ->11171118 previous clauses have already matched on the following types:11191120 {:validation, not %Ecto.Changeset{valid?: true}}11211122 where "e" was given the type:11231124 # type: dynamic({:validation, term()} and not {:validation, %Ecto.Changeset{valid?: true}})1125 # from: lib/instructor.ex:415:91126 e11271128 type warning found at:1129 │1130 415 │ e -> {:error, e}1131 │ ~1132 │1133 └─ lib/instructor.ex:415:11: Instructor.do_streaming_array_chat_completion/311341135Generated instructor app1136==> langchain1137Compiling 49 files (.ex)1138 warning: unused require Logger1139 │1140 2 │ require Logger1141 │ ~1142 │1143 └─ lib/chat_models/chat_model.ex:2:311441145 warning: unused require Logger1146 │1147 74 │ require Logger1148 │ ~1149 │1150 └─ lib/function_param.ex:74:311511152 warning: unused require Logger1153 │1154 19 │ require Logger1155 │ ~1156 │1157 └─ lib/images/generated_image.ex:19:311581159 warning: unused require Logger1160 │1161 51 │ require Logger1162 │ ~1163 │1164 └─ lib/message/content_part.ex:51:311651166 warning: unused require Logger1167 │1168 21 │ require Logger1169 │ ~1170 │1171 └─ lib/message/tool_result.ex:21:311721173 warning: unused require Logger1174 │1175 17 │ require Logger1176 │ ~1177 │1178 └─ lib/message/tool_call.ex:17:311791180 warning: unused require Logger1181 │1182 25 │ require Logger1183 │ ~1184 │1185 └─ lib/message_delta.ex:25:311861187 warning: unused require Logger1188 │1189 58 │ require Logger1190 │ ~1191 │1192 └─ lib/routing/prompt_route.ex:58:311931194 warning: unused require Logger1195 │1196 23 │ require Logger1197 │ ~1198 │1199 └─ lib/token_usage.ex:23:312001201 warning: a struct for LangChain.Chains.LLMChain is expected on struct update:12021203 %LangChain.Chains.LLMChain{chain | llm: llm}12041205 but got type:12061207 dynamic()12081209 where "chain" was given the type:12101211 # type: dynamic()1212 # from: lib/chains/llm_chain.ex:493:271213 chain12141215 when defining the variable "chain", you must also pattern match on "%LangChain.Chains.LLMChain{}"12161217 type warning found at:1218 │1219 494 │ use_chain = %LLMChain{chain | llm: llm}1220 │ ~1221 │1222 └─ lib/chains/llm_chain.ex:494:17: LangChain.Chains.LLMChain.try_chain_with_llm/412231224 warning: a struct for LangChain.MessageDelta is expected on struct update:12251226 %LangChain.MessageDelta{delta | status: :complete}12271228 but got type:12291230 dynamic(not nil)12311232 where "delta" was given the type:12331234 # type: dynamic(not nil)1235 # from: lib/chains/llm_chain.ex:1184:441236 %LangChain.Chains.LLMChain{delta: delta} = chain12371238 when defining the variable "delta", you must also pattern match on "%LangChain.MessageDelta{}"12391240 type warning found at:1241 │1242 1188 │ case MessageDelta.to_message(%MessageDelta{delta | status: :complete}) do1243 │ ~1244 │1245 └─ lib/chains/llm_chain.ex:1188:34: LangChain.Chains.LLMChain.cancel_delta/212461247 warning: the following conditional expression:12481249 chain.verbose12501251 will always evaluate to:12521253 dynamic(true)12541255 where "chain" was given the type:12561257 # type: dynamic(%LangChain.Chains.LLMChain{verbose: true})1258 # from: lib/chains/llm_chain.ex:459:531259 %LangChain.Chains.LLMChain{verbose: true} = chain12601261 type warning found at:1262 │1263 461 │ if chain.verbose, do: IO.inspect(chain.llm, label: "LLM")1264 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1265 │1266 └─ lib/chains/llm_chain.ex:461: LangChain.Chains.LLMChain.initial_run_logging/112671268 warning: the following clause is redundant:12691270 {:ok, []} ->12711272 previous clauses have already matched on the following types:12731274 {:ok, binary()}1275 {:ok, empty_list() or non_empty_list(term(), term())}12761277 type warning found at:1278 │1279 214 │ {:ok, []} ->1280 │ ~1281 │1282 └─ lib/message.ex:214:17: LangChain.Message.validate_content_type/112831284 warning: the following clause is redundant:12851286 def for_api(%LangChain.Message{content: content} = message) when is_list(content)12871288 it has type:12891290 dynamic(%LangChain.Message{content: empty_list() or non_empty_list(term(), term())})12911292 previous clauses have already matched on the following types:12931294 %LangChain.Message{role: :assistant}1295 %LangChain.Message{role: :tool}1296 %LangChain.Message{content: binary()}1297 %LangChain.Message{content: empty_list() or non_empty_list(term(), term())}12981299 │1300 284 │ def for_api(%Message{content: content} = message) when is_list(content) do1301 │ ~1302 │1303 └─ lib/chat_models/chat_google_ai.ex:284:7: LangChain.ChatModels.ChatGoogleAI.for_api/113041305 warning: Nx.Serving.batched_run/2 is undefined (module Nx.Serving is not available or is yet to be defined)1306 │1307 283 │ |> Nx.Serving.batched_run(%{text: prompt, seed: model.seed})1308 │ ~1309 │1310 └─ lib/chat_models/chat_bumblebee.ex:283:19: LangChain.ChatModels.ChatBumblebee.do_serving_request/31311 └─ lib/chat_models/chat_bumblebee.ex:296:19: LangChain.ChatModels.ChatBumblebee.do_serving_request/31312 └─ lib/chat_models/chat_bumblebee.ex:309:19: LangChain.ChatModels.ChatBumblebee.do_serving_request/31313 └─ lib/chat_models/chat_bumblebee.ex:317:19: LangChain.ChatModels.ChatBumblebee.do_serving_request/313141315 warning: comparison between distinct types found:13161317 type == :object13181319 given types:13201321 dynamic(not :object) == :object13221323 where "type" was given the type:13241325 # type: dynamic(not :object)1326 # from: lib/function_param.ex:184:121327 type == :object13281329 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false13301331 type warning found at:1332 │1333 192 │ !Enum.empty?(props) and (!(type == :array and item == "object") and !(type == :object)) ->1334 │ ~1335 │1336 └─ lib/function_param.ex:192:82: LangChain.FunctionParam.validate_object_type/113371338Generated langchain app1339==> openai_ex1340Compiling 40 files (.ex)1341Generated openai_ex app1342==> quantum1343Compiling 39 files (.ex)1344Generated quantum app1345==> nerves_compatibility_test1346===> Analyzing applications...1347===> Compiling metrics1348===> Analyzing applications...1349===> Compiling hackney1350 ┌─ src/hackney_happy.erl:1351 │1352 101 │ catch exit(Pid, normal),1353 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1354Compile directive 'nowarn_deprecated_catch' can be used to suppress1355warnings in selected modules.13561357 ┌─ src/hackney_happy.erl:1358 │1359 128 │ case (catch inet_res:getbyname(Hostname, Type)) of1360 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1361Compile directive 'nowarn_deprecated_catch' can be used to suppress1362warnings in selected modules.13631364 ┌─ src/hackney_happy.erl:1365 │1366 151 │ case (catch inet:gethostbyname(Hostname, InetType)) of1367 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1368Compile directive 'nowarn_deprecated_catch' can be used to suppress1369warnings in selected modules.137013711372 ┌─ src/hackney_trace.erl:1373 │1374 132 │ (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1375 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1376Compile directive 'nowarn_deprecated_catch' can be used to suppress1377warnings in selected modules.13781379 ┌─ src/hackney_trace.erl:1380 │1381 139 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1382 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1383Compile directive 'nowarn_deprecated_catch' can be used to suppress1384warnings in selected modules.13851386 ┌─ src/hackney_trace.erl:1387 │1388 146 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1389 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1390Compile directive 'nowarn_deprecated_catch' can be used to suppress1391warnings in selected modules.13921393 ┌─ src/hackney_trace.erl:1394 │1395 147 │ (catch file:close(Fd)),1396 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1397Compile directive 'nowarn_deprecated_catch' can be used to suppress1398warnings in selected modules.13991400 ┌─ src/hackney_trace.erl:1401 │1402 154 │ (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1403 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1404Compile directive 'nowarn_deprecated_catch' can be used to suppress1405warnings in selected modules.14061407 ┌─ src/hackney_trace.erl:1408 │1409 155 │ (catch file:close(Fd)),1410 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1411Compile directive 'nowarn_deprecated_catch' can be used to suppress1412warnings in selected modules.14131414 ┌─ src/hackney_trace.erl:1415 │1416 161 │ (catch print_hackney_trace(Fd, Sev, Timestamp, Who,1417 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1418Compile directive 'nowarn_deprecated_catch' can be used to suppress1419warnings in selected modules.14201421 ┌─ src/hackney_trace.erl:1422 │1423 165 │ (catch print_trace(Fd, Event)),1424 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1425Compile directive 'nowarn_deprecated_catch' can be used to suppress1426warnings in selected modules.142714281429 ┌─ src/hackney_pool.erl:1430 │1431 80 │ case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of1432 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1433Compile directive 'nowarn_deprecated_catch' can be used to suppress1434warnings in selected modules.14351436 ┌─ src/hackney_pool.erl:1437 │1438 101 │ _ = catch hackney_connection:close(Connection, Socket),1439 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1440Compile directive 'nowarn_deprecated_catch' can be used to suppress1441warnings in selected modules.14421443 ┌─ src/hackney_pool.erl:1444 │1445 130 │ _ = catch hackney_connection:close(Connection, Socket),1446 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1447Compile directive 'nowarn_deprecated_catch' can be used to suppress1448warnings in selected modules.14491450 ┌─ src/hackney_pool.erl:1451 │1452 134 │ catch hackney_connection:close(Connection, Socket),1453 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1454Compile directive 'nowarn_deprecated_catch' can be used to suppress1455warnings in selected modules.14561457 ┌─ src/hackney_pool.erl:1458 │1459 319 │ catch Transport:close(Socket),1460 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1461Compile directive 'nowarn_deprecated_catch' can be used to suppress1462warnings in selected modules.14631464 ┌─ src/hackney_pool.erl:1465 │1466 417 │ case catch hackney_connection:controlling_process(Connection, S, self()) of1467 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1468Compile directive 'nowarn_deprecated_catch' can be used to suppress1469warnings in selected modules.14701471 ┌─ src/hackney_pool.erl:1472 │1473 423 │ _ = catch hackney_connection:close(Connection, S),1474 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1475Compile directive 'nowarn_deprecated_catch' can be used to suppress1476warnings in selected modules.14771478 ┌─ src/hackney_pool.erl:1479 │1480 444 │ catch hackney_connection:close(Connection, Socket),1481 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1482Compile directive 'nowarn_deprecated_catch' can be used to suppress1483warnings in selected modules.14841485 ┌─ src/hackney_pool.erl:1486 │1487 543 │ _ = (catch hackney_connection:close(Connection, Socket)),1488 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1489Compile directive 'nowarn_deprecated_catch' can be used to suppress1490warnings in selected modules.149114921493 ┌─ src/hackney_manager.erl:1494 │1495 114 │ catch ets:delete(?MODULE, Ref),1496 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1497Compile directive 'nowarn_deprecated_catch' can be used to suppress1498warnings in selected modules.14991500 ┌─ src/hackney_manager.erl:1501 │1502 125 │ catch Transport:close(Socket);1503 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1504Compile directive 'nowarn_deprecated_catch' can be used to suppress1505warnings in selected modules.15061507 ┌─ src/hackney_manager.erl:1508 │1509 129 │ catch Handler:checkin(SocketRef, Socket)1510 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1511Compile directive 'nowarn_deprecated_catch' can be used to suppress1512warnings in selected modules.15131514 ┌─ src/hackney_manager.erl:1515 │1516 133 │ catch Transport:controlling_process(Socket, self()),1517 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1518Compile directive 'nowarn_deprecated_catch' can be used to suppress1519warnings in selected modules.15201521 ┌─ src/hackney_manager.erl:1522 │1523 134 │ catch Transport:close(Socket),1524 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1525Compile directive 'nowarn_deprecated_catch' can be used to suppress1526warnings in selected modules.15271528 ┌─ src/hackney_manager.erl:1529 │1530 227 │ catch ets:delete(?MODULE, Ref),1531 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1532Compile directive 'nowarn_deprecated_catch' can be used to suppress1533warnings in selected modules.15341535 ┌─ src/hackney_manager.erl:1536 │1537 255 │ catch ets:delete(?MODULE, Ref),1538 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1539Compile directive 'nowarn_deprecated_catch' can be used to suppress1540warnings in selected modules.15411542 ┌─ src/hackney_manager.erl:1543 │1544 269 │ catch Transport:controlling_process(Socket, self()),1545 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1546Compile directive 'nowarn_deprecated_catch' can be used to suppress1547warnings in selected modules.15481549 ┌─ src/hackney_manager.erl:1550 │1551 270 │ catch Transport:close(Socket),1552 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1553Compile directive 'nowarn_deprecated_catch' can be used to suppress1554warnings in selected modules.15551556 ┌─ src/hackney_manager.erl:1557 │1558 383 │ catch unlink(Stream),1559 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1560Compile directive 'nowarn_deprecated_catch' can be used to suppress1561warnings in selected modules.15621563 ┌─ src/hackney_manager.erl:1564 │1565 416 │ catch ets:delete(?REFS, Ref),1566 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1567Compile directive 'nowarn_deprecated_catch' can be used to suppress1568warnings in selected modules.15691570 ┌─ src/hackney_manager.erl:1571 │1572 426 │ catch ets:delete(?REFS, Ref),1573 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1574Compile directive 'nowarn_deprecated_catch' can be used to suppress1575warnings in selected modules.15761577 ┌─ src/hackney_manager.erl:1578 │1579 470 │ case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1580 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1581Compile directive 'nowarn_deprecated_catch' can be used to suppress1582warnings in selected modules.15831584 ┌─ src/hackney_manager.erl:1585 │1586 487 │ catch Transport:close(Socket),1587 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1588Compile directive 'nowarn_deprecated_catch' can be used to suppress1589warnings in selected modules.15901591 ┌─ src/hackney_manager.erl:1592 │1593 543 │ catch ets:delete(?REFS, Ref),1594 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1595Compile directive 'nowarn_deprecated_catch' can be used to suppress1596warnings in selected modules.15971598 ┌─ src/hackney_manager.erl:1599 │1600 544 │ catch ets:delete(?MODULE, Ref),1601 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1602Compile directive 'nowarn_deprecated_catch' can be used to suppress1603warnings in selected modules.16041605 ┌─ src/hackney_manager.erl:1606 │1607 559 │ catch ets:delete(?REFS, Ref),1608 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1609Compile directive 'nowarn_deprecated_catch' can be used to suppress1610warnings in selected modules.16111612 ┌─ src/hackney_manager.erl:1613 │1614 560 │ catch ets:delete(?MODULE, Ref),1615 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1616Compile directive 'nowarn_deprecated_catch' can be used to suppress1617warnings in selected modules.16181619 ┌─ src/hackney_manager.erl:1620 │1621 618 │ catch unlink(Pid),1622 │ ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1623Compile directive 'nowarn_deprecated_catch' can be used to suppress1624warnings in selected modules.162516261627==> ex_dbug1628Compiling 1 file (.ex)1629Generated ex_dbug app1630==> nerves_system_bbb1631Generated nerves_system_bbb app1632==> typed_struct_nimble_options1633Compiling 1 file (.ex)1634Generated typed_struct_nimble_options app1635==> jido1636Compiling 81 files (.ex)1637 warning: unused require Logger1638 │1639 75 │ require Logger1640 │ ~1641 │1642 └─ lib/jido/signal/dispatch/webhook.ex:75:316431644 warning: unused require Logger1645 │1646 5 │ require Logger1647 │ ~1648 │1649 └─ lib/jido/agent/server_output.ex:5:316501651 warning: unused require OK1652 │1653 8 │ require OK1654 │ ~1655 │1656 └─ lib/jido/agent/server_callback.ex:8:316571658 warning: unused require Logger1659 │1660 18 │ require Logger1661 │ ~1662 │1663 └─ lib/jido/skills/task_skill.ex:18:316641665 warning: unused require Logger1666 │1667 5 │ require Logger1668 │ ~1669 │1670 └─ lib/jido/agent/server_runtime.ex:5:316711672 warning: unused require Logger1673 │1674 2 │ require Logger1675 │ ~1676 │1677 └─ lib/jido/agent/directive.ex:2:316781679 warning: a struct for Jido.Actions.Tasks.Task is expected on struct update:16801681 %Jido.Actions.Tasks.Task{task | completed: !task.completed}16821683 but got type:16841685 dynamic(not nil)16861687 where "task" was given the type:16881689 # type: dynamic(not nil)1690 # from: lib/jido/actions/tasks.ex:154:91691 task16921693 when defining the variable "task", you must also pattern match on "%Jido.Actions.Tasks.Task{}"16941695 type warning found at:1696 │1697 155 │ updated_task = %Task{task | completed: !task.completed}1698 │ ~1699 │1700 └─ lib/jido/actions/tasks.ex:155:26: Jido.Actions.Tasks.ToggleTask.run/217011702 warning: a struct for Jido.Actions.Tasks.Task is expected on struct update:17031704 %Jido.Actions.Tasks.Task{task | title: params.title, deadline: params.deadline}17051706 but got type:17071708 dynamic(not nil)17091710 where "task" was given the type:17111712 # type: dynamic(not nil)1713 # from: lib/jido/actions/tasks.ex:107:91714 task17151716 when defining the variable "task", you must also pattern match on "%Jido.Actions.Tasks.Task{}"17171718 type warning found at:1719 │1720 108 │ updated_task = %Task{task | title: params.title, deadline: params.deadline}1721 │ ~1722 │1723 └─ lib/jido/actions/tasks.ex:108:26: Jido.Actions.Tasks.UpdateTask.run/217241725 warning: the following clause will never match:17261727 {:error, reason, other} ->17281729 it is expected to match on type:17301731 dynamic(({:error or :ok, term()} and not {:ok, term()}) or {:error, %Jido.Error{}})17321733 type warning found at:1734 │1735 144 │ {:error, reason, other} ->1736 │ ~1737 │1738 └─ lib/jido/exec.ex:144:7: Jido.Exec.run/417391740 warning: this clause of defp execute_signal/2 is never used (or it will always fail/warn when invoked)1741 │1742 120 │ defp execute_signal(%ServerState{} = state, _invalid_signal) do1743 │ ~1744 │1745 └─ lib/jido/agent/server_runtime.ex:120:10: Jido.Agent.Server.Runtime.execute_signal/217461747 warning: this clause of defp apply_signal_to_first_instruction/2 is never used (or it will always fail/warn when invoked)1748 │1749 297 │ defp apply_signal_to_first_instruction(%Signal{}, []) do1750 │ ~1751 │1752 └─ lib/jido/agent/server_runtime.ex:297:10: Jido.Agent.Server.Runtime.apply_signal_to_first_instruction/217531754 warning: the following clause cannot match because the previous clauses already matched all possible values:17551756 error ->17571758 it attempts to match on the result of:17591760 deliver_signal(state)17611762 which has the already matched type:17631764 dynamic(1765 {:ok,1766 {:error, binary()} or1767 {:ok,1768 %Jido.Signal{1769 jido_dispatch:1770 nil or empty_list() or non_empty_list(term(), term()) or1771 {atom(), empty_list() or non_empty_list(term(), term())},1772 dataschema: nil or bitstring(),1773 datacontenttype: nil or bitstring(),1774 time: nil or bitstring(),1775 subject: nil or bitstring(),1776 type: bitstring(),1777 source: bitstring(),1778 specversion: binary()1779 }}}1780 )17811782 where "error" was given the type:17831784 # type: dynamic(1785 {:ok,1786 {:error, binary()} or1787 {:ok,1788 %Jido.Signal{1789 jido_dispatch:1790 nil or empty_list() or non_empty_list(term(), term()) or1791 {atom(), empty_list() or non_empty_list(term(), term())},1792 dataschema: nil or bitstring(),1793 datacontenttype: nil or bitstring(),1794 time: nil or bitstring(),1795 subject: nil or bitstring(),1796 type: bitstring(),1797 source: bitstring(),1798 specversion: binary()1799 }}}1800 )1801 # from: lib/jido/sensors/heartbeat_sensor.ex:74:71802 error18031804 type warning found at:1805 │1806 74 │ error ->1807 │ ~1808 │1809 └─ lib/jido/sensors/heartbeat_sensor.ex:74:13: Jido.Sensors.Heartbeat.handle_info/218101811 warning: the following pattern will never match:18121813 {:ok, _new_pid} = result <- start(state, child_spec)18141815 because the right-hand side has type:18161817 dynamic(1818 ({:error or :ok, term()} and not {:ok, term()}) or {:error, term()} or1819 {:ok, %Jido.Agent.Server.State{}, empty_list()} or1820 {:ok, %Jido.Agent.Server.State{child_supervisor: not nil}, term()}1821 )18221823 where "child_spec" was given the type:18241825 # type: dynamic()1826 # from: lib/jido/agent/server_process.ex:195:501827 child_spec18281829 where "state" was given the types:18301831 # type: dynamic(%Jido.Agent.Server.State{})1832 # from: lib/jido/agent/server_process.ex:195:301833 %Jido.Agent.Server.State{} = state18341835 # type: dynamic(%Jido.Agent.Server.State{child_supervisor: pid()})1836 # from: lib/jido/agent/server_process.ex:198:171837 terminate(state, child_pid)18381839 type warning found at:1840 │1841 199 │ {:ok, _new_pid} = result <- start(state, child_spec) do1842 │ ~1843 │1844 └─ lib/jido/agent/server_process.ex:199:26: Jido.Agent.Server.Process.restart/318451846 warning: the following clause cannot match because the previous clauses already matched all possible values:18471848 _ ->18491850 it attempts to match on the result of:18511852 list(router)18531854 which has the already matched type:18551856 dynamic({:ok, term()})18571858 type warning found at:1859 │1860 710 │ _ -> false1861 │ ~1862 │1863 └─ lib/jido/signal/router.ex:710:9: Jido.Signal.Router.has_route?/218641865 warning: a struct for Jido.Signal.Router.TrieNode is expected on struct update:18661867 %Jido.Signal.Router.TrieNode{1868 node1869 | handlers: %Jido.Signal.Router.NodeHandlers{1870 handlers:1871 Enum.reduce(1872 handlers,1873 node.handlers.handlers || [],1874 fn handler, acc -> insert_handler_sorted(acc, handler) end1875 ),1876 matchers: node.handlers.matchers1877 }1878 }18791880 but got type:18811882 dynamic()18831884 where "node" was given the type:18851886 # type: dynamic()1887 # from: lib/jido/signal/router/engine.ex:346:141888 node18891890 when defining the variable "node", you must also pattern match on "%Jido.Signal.Router.TrieNode{}"18911892 type warning found at:1893 │1894 363 │ %TrieNode{1895 │ ~1896 │1897 └─ lib/jido/signal/router/engine.ex:363:13: Jido.Signal.Router.Engine.do_add_path_route/318981899 warning: a struct for Jido.Signal.Router.TrieNode is expected on struct update:19001901 %Jido.Signal.Router.TrieNode{1902 node1903 | handlers: %Jido.Signal.Router.NodeHandlers{1904 handlers: node.handlers.handlers,1905 matchers: insert_matcher_sorted(node.handlers.matchers || [], matcher)1906 }1907 }19081909 but got type:19101911 dynamic()19121913 where "node" was given the type:19141915 # type: dynamic()1916 # from: lib/jido/signal/router/engine.ex:407:141917 node19181919 when defining the variable "node", you must also pattern match on "%Jido.Signal.Router.TrieNode{}"19201921 type warning found at:1922 │1923 408 │ %TrieNode{1924 │ ~1925 │1926 └─ lib/jido/signal/router/engine.ex:408:13: Jido.Signal.Router.Engine.do_add_pattern_route/319271928 warning: this clause of defp resolve_adapter/1 is never used (or it will always fail/warn when invoked)1929 │1930 357 │ defp resolve_adapter(nil), do: {:error, :no_adapter_needed}1931 │ ~1932 │1933 └─ lib/jido/signal/dispatch.ex:357:8: Jido.Signal.Dispatch.resolve_adapter/119341935 warning: the following clause will never match:19361937 {:ok, nil} ->19381939 because it attempts to match on the result of:19401941 Map.fetch(1942 %{1943 bus: Jido.Signal.Dispatch.Bus,1944 console: Jido.Signal.Dispatch.ConsoleAdapter,1945 http: Jido.Signal.Dispatch.Http,1946 logger: Jido.Signal.Dispatch.LoggerAdapter,1947 named: Jido.Signal.Dispatch.Named,1948 nil: nil,1949 noop: Jido.Signal.Dispatch.NoopAdapter,1950 pid: Jido.Signal.Dispatch.PidAdapter,1951 pubsub: Jido.Signal.Dispatch.PubSub,1952 webhook: Jido.Signal.Dispatch.Webhook1953 },1954 adapter1955 )19561957 which has type:19581959 dynamic(1960 :error or1961 {:ok,1962 Jido.Signal.Dispatch.Bus or Jido.Signal.Dispatch.ConsoleAdapter or Jido.Signal.Dispatch.Http or1963 Jido.Signal.Dispatch.LoggerAdapter or Jido.Signal.Dispatch.Named or1964 Jido.Signal.Dispatch.NoopAdapter or Jido.Signal.Dispatch.PidAdapter or1965 Jido.Signal.Dispatch.PubSub or Jido.Signal.Dispatch.Webhook}1966 )19671968 type warning found at:1969 │1970 364 │ {:ok, nil} ->1971 │ ~~~~~~~~~~~~~1972 │1973 └─ lib/jido/signal/dispatch.ex:364: Jido.Signal.Dispatch.resolve_adapter/119741975Generated jido app1976==> jido_ai1977Compiling 40 files (.ex)1978 warning: unused require Logger1979 │1980 7 │ require Logger1981 │ ~1982 │1983 └─ lib/jido_ai/actions/openai_ex/tool_helper.ex:7:319841985 warning: unused require Logger1986 │1987 3 │ require Logger1988 │ ~1989 │1990 └─ lib/jido_ai/provider.ex:3:319911992 warning: unused require Logger1993 │1994 21 │ require Logger1995 │ ~1996 │1997 └─ lib/jido_ai/prompt/template.ex:21:319981999 warning: unused require Logger2000 │2001 13 │ require Logger2002 │ ~2003 │2004 └─ lib/jido_ai/providers/helpers.ex:13:320052006 warning: unused require Logger2007 │2008 5 │ require Logger2009 │ ~2010 │2011 └─ lib/jido_ai/skill.ex:5:320122013 warning: unused require Logger2014 │2015 94 │ require Logger2016 │ ~2017 │2018 └─ lib/mix/tasks/models.ex:94:320192020 warning: comparison between distinct types found:20212022 pricing == nil20232024 given types:20252026 dynamic(not false and not nil) == nil20272028 where "pricing" was given the type:20292030 # type: dynamic(not false and not nil)2031 # from: lib/jido_ai/providers/helpers.ex:296:122032 pricing20332034 While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false20352036 type warning found at:2037 │2038 296 │ if pricing && !is_nil(pricing) do2039 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2040 │2041 └─ lib/jido_ai/providers/helpers.ex:296: Jido.AI.Provider.Helpers.merge_model_information/120422043 warning: a struct for Jido.AI.Prompt.Splitter is expected on struct update:20442045 %Jido.AI.Prompt.Splitter{tok | done: true}20462047 but got type:20482049 dynamic(2050 %{..., input_tokens: list(term()), model: term(), offset: integer()} and2051 not %Jido.AI.Prompt.Splitter{offset: integer(), done: true}2052 )20532054 where "tok" was given the types:20552056 # type: dynamic(2057 %{..., input_tokens: term(), model: term(), offset: integer()} and2058 not %Jido.AI.Prompt.Splitter{offset: integer(), done: true}2059 )2060 # from: lib/jido_ai/prompt/splitter.ex:41:182061 {slice, tok} = get_slice(tok, remaining_tokens)20622063 # type: dynamic(2064 %{..., input_tokens: term(), model: term(), offset: integer()} and2065 not %Jido.AI.Prompt.Splitter{offset: integer(), done: true}2066 )2067 # from: lib/jido_ai/prompt/splitter.ex:44:212068 tok.offset >= length(tok.input_tokens)20692070 # type: dynamic(2071 %{..., input_tokens: list(term()), model: term(), offset: integer()} and2072 not %Jido.AI.Prompt.Splitter{offset: integer(), done: true}2073 )2074 # from: lib/jido_ai/prompt/splitter.ex:44:242075 length(tok.input_tokens)20762077 when defining the variable "tok", you must also pattern match on "%Jido.AI.Prompt.Splitter{}"20782079 type warning found at:2080 │2081 45 │ %Jido.AI.Prompt.Splitter{tok | done: true}2082 │ ~2083 │2084 └─ lib/jido_ai/prompt/splitter.ex:45:9: Jido.AI.Prompt.Splitter.next_chunk/220852086 warning: this clause of defp get_slice/2 is never used (or it will always fail/warn when invoked)2087 │2088 53 │ defp get_slice(%Jido.AI.Prompt.Splitter{done: true} = tok, _num_tokens) do2089 │ ~2090 │2091 └─ lib/jido_ai/prompt/splitter.ex:53:8: Jido.AI.Prompt.Splitter.get_slice/220922093 warning: a struct for Jido.AI.Prompt.Splitter is expected on struct update:20942095 %Jido.AI.Prompt.Splitter{tok | offset: tok.offset + tokens}20962097 but got type:20982099 dynamic(2100 %{..., input_tokens: term(), model: term(), offset: integer()} and2101 not %Jido.AI.Prompt.Splitter{done: true}2102 )21032104 where "tok" was given the types:21052106 # type: dynamic(not %Jido.AI.Prompt.Splitter{done: true})2107 # from: lib/jido_ai/prompt/splitter.ex:57:182108 tok21092110 # type: dynamic(%{..., input_tokens: term()} and not %Jido.AI.Prompt.Splitter{done: true})2111 # from: lib/jido_ai/prompt/splitter.ex:58:182112 Enum.slice(tok.input_tokens, tok.offset, num_tokens)21132114 # type: dynamic(2115 %{..., input_tokens: term(), offset: integer()} and not %Jido.AI.Prompt.Splitter{done: true}2116 )2117 # from: lib/jido_ai/prompt/splitter.ex:58:182118 Enum.slice(tok.input_tokens, tok.offset, num_tokens)21192120 # type: dynamic(2121 %{..., input_tokens: term(), model: term(), offset: integer()} and2122 not %Jido.AI.Prompt.Splitter{done: true}2123 )2124 # from: lib/jido_ai/prompt/splitter.ex:60:322125 Jido.AI.Tokenizer.decode(slice, tok.model)21262127 when defining the variable "tok", you must also pattern match on "%Jido.AI.Prompt.Splitter{}"21282129 type warning found at:2130 │2131 61 │ {output, %Jido.AI.Prompt.Splitter{tok | offset: tok.offset + tokens}}2132 │ ~2133 │2134 └─ lib/jido_ai/prompt/splitter.ex:61:14: Jido.AI.Prompt.Splitter.get_slice/221352136 warning: incompatible types given to make_request/2:21372138 make_request(model, response_id)21392140 given types:21412142 dynamic(%Jido.AI.Model{provider: :openai}), -binary()-21432144 but expected one of:21452146 %{..., api_key: term()}, empty_list() or non_empty_list(term(), term())21472148 where "model" was given the type:21492150 # type: dynamic(%Jido.AI.Model{provider: :openai})2151 # from: lib/jido_ai/actions/openai_ex/response_retrieve.ex:48:232152 {:ok, model} <- validate_and_get_model(params)21532154 where "response_id" was given the type:21552156 # type: binary()2157 # from: lib/jido_ai/actions/openai_ex/response_retrieve.ex:49:292158 {:ok, response_id} <- validate_response_id(params)21592160 type warning found at:2161 │2162 50 │ case make_request(model, response_id) do2163 │ ~2164 │2165 └─ lib/jido_ai/actions/openai_ex/response_retrieve.ex:50:12: Jido.AI.Actions.OpenaiEx.ResponseRetrieve.run/221662167Generated jido_ai app2168==> property_table2169Compiling 8 files (.ex)2170Generated property_table app2171==> nerves_uevent2172 CC uevent.o2173 LD uevent2174Compiling 5 files (.ex)2175Generated nerves_uevent app2176==> nerves_runtime2177Compiling 14 files (.ex)2178Generated nerves_runtime app2179==> toolshed2180Compiling 5 files (.ex)2181Generated toolshed app2182==> httpoison2183Compiling 3 files (.ex)2184Generated httpoison app2185==> tentacat2186Compiling 62 files (.ex)2187 warning: incompatible types given as default arguments to delete/3:21882189 binary(), -empty_list()-, empty_list()21902191 but expected one of:21922193 binary(), %Tentacat.Client{endpoint: binary()}, term()21942195 where "x0" (context :elixir_def) was given the types:21962197 # type: binary()2198 # from: /work/proj/deps_bbb/httpoison/lib/httpoison/base.ex:5902199 super(x0, [], [])22002201 # type: dynamic()2202 # from: /work/proj/deps_bbb/httpoison/lib/httpoison/base.ex2203 x022042205 type warning found at:2206 │2207 590 │ def delete(url, headers \\ [], options \\ []),2208 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2209 │2210 └─ /work/proj/deps_bbb/httpoison/lib/httpoison/base.ex:590: Tentacat.delete/122112212 warning: incompatible types given as default arguments to get/3:22132214 binary(), -empty_list()-, empty_list()22152216 but expected one of:22172218 (2219 binary(),2220 %Tentacat.Client{endpoint: binary()},2221 empty_list() or map() or non_empty_list(term(), term())2222 )22232224 where "x0" (context :elixir_def) was given the types:22252226 # type: binary()2227 # from: /work/proj/deps_bbb/httpoison/lib/httpoison/base.ex:4662228 super(x0, [], [])22292230 # type: dynamic()2231 # from: /work/proj/deps_bbb/httpoison/lib/httpoison/base.ex2232 x022332234 type warning found at:2235 │2236 466 │ def get(url, headers \\ [], options \\ []), do: request(:get, url, "", headers, options)2237 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2238 │2239 └─ /work/proj/deps_bbb/httpoison/lib/httpoison/base.ex:466: Tentacat.get/122402241Generated tentacat app2242==> jido_tools2243Compiling 3 files (.ex)2244 warning: the following pattern will never match:22452246 {:ok, api_key} <- System.fetch_env!("OPENWEATHER_API_KEY")22472248 because the right-hand side has type:22492250 binary()22512252 type warning found at:2253 │2254 69 │ with {:ok, api_key} <- System.fetch_env!("OPENWEATHER_API_KEY") do2255 │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2256 │2257 └─ lib/jido_tools/weather.ex:69: Jido.Tools.Weather.build_opts/122582259Generated jido_tools app2260==> nerves_compatibility_test2261Compiling 2 files (.ex)2262Generated nerves_compatibility_test app2263* skipping runtime configuration (config/runtime.exs not found)2264* creating _build/bbb/rel/nerves_compatibility_test/releases/0.1.0/vm.args2265Building firmware...2266** (Mix) Unexpected executable format for '/work/proj/_build/bbb/rel/nerves_compatibility_test/lib/jaxon-2.0.8/priv/decoder.so'22672268Got:2269 %{endian: :little, flags: 0, machine: :x86_64, type: :elf, bits: 64}22702271Expecting:2272 %{endian: :little, flags: 83887104, machine: :arm, type: :elf, bits: 32}22732274This file was compiled for the host or a different target and probably will not work.22752276If you are very sure you know what you are doing, place an empty file in the same2277directory as the offending file(s) called '.noscrub'. This disables scrubbing for2278that directory.2279