Index | Thread | Search

From:
David Uhden Collado <daviduhden@gmail.com>
Subject:
[UPDATE] devel/crush 0.96.1 -> 0.98.1
To:
kirill@korins.ky, stu@spacehopper.org, ports@openbsd.org
Date:
Wed, 14 Oct 2026 02:09:00 +0000

Download raw body.

Thread
Hello,

Please find attached a patch updating devel/crush from 0.96.1 to
0.98.1.

The upstream release notes and full comparison are available at:

https://github.com/charmbracelet/crush/releases
https://github.com/charmbracelet/crush/compare/v0.96.1...v0.98.1

The releases introduce MCP server toggling, Git branch information,
sidebar improvements, OSC 7501 terminal status support, and xAI/Grok
OAuth authentication.

They also fix several issues involving OAuth models, MCP handling,
the external editor, and GitHub Copilot compatibility with newer
models.

For the OpenBSD port, I updated MODGO_VERSION to v0.98.1 and
regenerated modules.inc and distinfo.

I also added ripgrep as a conditional runtime dependency. Crush prefers
ripgrep for its grep and glob tools, but has a pure-Go fallback. The
dependency is therefore enabled only on architectures supporting Rust,
preserving compatibility with armv7 and i386.

Finally, I corrected the existing MIT license comment. Upstream uses
FSL-1.1-MIT, which initially restricts competing use and automatically
converts each released version to MIT after two years.

No local patches or package list changes are required.

Thank you for your time and consideration.

Best regards,
David.
Index: devel/crush/Makefile
===================================================================
RCS file: /cvs/ports/devel/crush/Makefile,v
diff -u -p -u -p -r1.5 Makefile
--- devel/crush/Makefile	26 Sep 2026 09:37:51 -0000	1.5
+++ devel/crush/Makefile	14 Oct 2026 02:01:22 -0000
@@ -1,7 +1,7 @@
 COMMENT =		coding agent with a rich terminal UI
 
 MODGO_MODNAME =		github.com/charmbracelet/crush
-MODGO_VERSION =		v0.96.1
+MODGO_VERSION =		v0.98.1
 
 DISTNAME =		crush-${MODGO_VERSION}
 WRKDIST =		${WRKDIR}/${MODGO_MODNAME}@${MODGO_VERSION}
@@ -10,13 +10,22 @@ CATEGORIES =		devel
 
 HOMEPAGE =		https://github.com/charmbracelet/crush
 
-# MIT
+# FSL-1.1 (no-compete terms), old versions become MIT after 2 years
 PERMIT_PACKAGE =	Yes
 
 WANTLIB += c pthread
 
 MODULES =		lang/go
 
+# The grep and glob agent tools use ripgrep when it is available and fall
+# back to a pure-Go implementation otherwise. ripgrep is built with Rust,
+# which is unavailable on armv7 and i386, so use the "rust" property.
+.include <bsd.port.arch.mk>
+.if ${PROPERTIES:Mrust}
+RUN_DEPENDS =		textproc/ripgrep
+.endif
+
+# Upstream release binaries inject the tag version into internal/version.
 MODGO_LDFLAGS +=	-X github.com/charmbracelet/crush/internal/version.Version=${MODGO_VERSION}
 
 .include "modules.inc"
Index: devel/crush/distinfo
===================================================================
RCS file: /cvs/ports/devel/crush/distinfo,v
diff -u -p -u -p -r1.4 distinfo
--- devel/crush/distinfo	26 Sep 2026 09:37:51 -0000	1.4
+++ devel/crush/distinfo	14 Oct 2026 02:01:23 -0000
@@ -1,4 +1,4 @@
-SHA256 (crush-v0.96.1.zip) = ecbK8Qw9+c/vK4pbhjN6OaSjndRjLCmL6Ib4H50gk1k=
+SHA256 (crush-v0.98.1.zip) = tC7sROZtgaOIzGcr1+tFrLkfszmGy2GKxgjhpd9z7EY=
 SHA256 (go_modules/cel.dev/expr/@v/v0.24.0.mod) = wMexfwVuWHervPsGdEz1I4y5oLChoI4ThM8mhaIhFNE=
 SHA256 (go_modules/cel.dev/expr/@v/v0.25.2.mod) = Z0UnUNV+zK4mM7F05mRotyYy7edErdtN4sCybd04qOE=
 SHA256 (go_modules/cel.dev/expr/@v/v0.25.3.mod) = Z0UnUNV+zK4mM7F05mRotyYy7edErdtN4sCybd04qOE=
@@ -6,14 +6,14 @@ SHA256 (go_modules/cel.dev/expr/@v/v0.25
 SHA256 (go_modules/charm.land/bubbles/v2/@v/v2.2.1.mod) = qzZu1icdy66GueleeDbw6GCPtgmwFsJ6bBT5w0A4qi0=
 SHA256 (go_modules/charm.land/bubbles/v2/@v/v2.2.1.zip) = ZCks3JZeTN2B+ue5sm93ztF5MhqwFPSaRCtHiQeLACQ=
 SHA256 (go_modules/charm.land/bubbletea/v2/@v/v2.0.8.mod) = dRBJwCbv1oF75kPfKov8TdRZBI6tgabbn5dI5SC/1ZU=
-SHA256 (go_modules/charm.land/bubbletea/v2/@v/v2.0.9.mod) = dRBJwCbv1oF75kPfKov8TdRZBI6tgabbn5dI5SC/1ZU=
-SHA256 (go_modules/charm.land/bubbletea/v2/@v/v2.0.9.zip) = UBryKsWiINONYwUhnBf9ybGcDhtrBTBbwKGHjSHLuf8=
-SHA256 (go_modules/charm.land/catwalk/@v/v0.52.28.mod) = mtyYjohTN+K7LFR4LZqk+2YnvZWOds9oFBAGvvcwoPs=
-SHA256 (go_modules/charm.land/catwalk/@v/v0.52.28.zip) = aWTIyRYWpE6ZHZrGy/4q27ltLpfJLmHN0VTHs7VkWPw=
+SHA256 (go_modules/charm.land/bubbletea/v2/@v/v2.1.0.mod) = dsNt4yKspkgCRshIjutJ9D3laQdv+Tb2aNWSu64iVPQ=
+SHA256 (go_modules/charm.land/bubbletea/v2/@v/v2.1.0.zip) = 2dF8+bSAvGOjtMX8RjVp1IdOirH41A21Xdo++jAz/tQ=
+SHA256 (go_modules/charm.land/catwalk/@v/v0.52.49.mod) = mtyYjohTN+K7LFR4LZqk+2YnvZWOds9oFBAGvvcwoPs=
+SHA256 (go_modules/charm.land/catwalk/@v/v0.52.49.zip) = j0xrBXldTeTNiFQ3GhMBiEMI9K9Dei8a4hyZMl/8qxE=
 SHA256 (go_modules/charm.land/fang/v2/@v/v2.0.1.mod) = p+wtEpc/ctQqQG8zd32RFAvax1XhVvIemMB3PHP4c5Y=
 SHA256 (go_modules/charm.land/fang/v2/@v/v2.0.1.zip) = 8oS79roLPlC6xaLDXdIwp7sEbEZ+C4hts54zBh9GVBQ=
-SHA256 (go_modules/charm.land/fantasy/@v/v0.43.1.mod) = VvNybXoj/mEwZ+6GTW/HI+dwIMu8PV2LY+LoTg1tEU0=
-SHA256 (go_modules/charm.land/fantasy/@v/v0.43.1.zip) = q9191PsQzZvnGULLSa+AlxO13botEmjrIU0nGePxZd8=
+SHA256 (go_modules/charm.land/fantasy/@v/v0.45.1.mod) = joSHuhzoztRSjFlB3+Mp8MrB+GeCewPzfi4KDSX+CE0=
+SHA256 (go_modules/charm.land/fantasy/@v/v0.45.1.zip) = XoTkEuphjAWGbC+FsLn7aRKeXYUN8KjP4uTjdeSJm8s=
 SHA256 (go_modules/charm.land/glamour/v2/@v/v2.0.1.mod) = ywn49tZHLN2o1gwtksj6LbcS/6oBtUYKMcPr9O5hlRg=
 SHA256 (go_modules/charm.land/glamour/v2/@v/v2.0.1.zip) = xKmPTldszidLhyT/ao5x2LLAIqG8S0aOgnJQY9jxwDk=
 SHA256 (go_modules/charm.land/lipgloss/v2/@v/v2.0.1.mod) = QsYUvDZv0g7TRSNV+8ydEBU/tBpxNSkrsO0X9DG4//8=
@@ -208,7 +208,6 @@ SHA256 (go_modules/github.com/aws/smithy
 SHA256 (go_modules/github.com/aymanbagabas/go-osc52/v2/@v/v2.0.1.mod) = Rkb58ZqCKuv0KWvOJNXyt7JwDqHET1zJeDACY8t7VhE=
 SHA256 (go_modules/github.com/aymanbagabas/go-osc52/v2/@v/v2.0.1.zip) = k56/KlSB8hcuGl4MMY0FrvW22VCpYFViFsPaeHmpJ/g=
 SHA256 (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.2.0.mod) = 8HbrxTvRjkauc/7y+Rwwmgp4Opr+FvBQv6avo763ptw=
-SHA256 (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.3.1.mod) = Jlk3Q1iE3KP5o4fVcmyjjdaYicgkxfd1j+wrA+AVJtY=
 SHA256 (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.4.1.mod) = wDrR00+BR2sA68Wzsxq3U1tkYx47JDMa0zlFGC53SS0=
 SHA256 (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.4.1.zip) = N4K7lzXcTB5MmP99dxOvJ/J24aD/ST5LI3/1Hr2S770=
 SHA256 (go_modules/github.com/aymerick/douceur/@v/v0.2.0.mod) = XgRUJBwle0xPnb3chOeOmeKcUnWzz67or9K7R25ySJc=
@@ -248,31 +247,36 @@ SHA256 (go_modules/github.com/charmbrace
 SHA256 (go_modules/github.com/charmbracelet/harmonica/@v/v0.2.0.zip) = hJTXKJFlUfD8mgZfqFTfri11xxkc6Dm64H3hpikNtAo=
 SHA256 (go_modules/github.com/charmbracelet/lipgloss/@v/v0.7.1.mod) = a5JoObDyEwdcBnvqPfJWi9grair6lmNsL3LAqiEsnKk=
 SHA256 (go_modules/github.com/charmbracelet/lipgloss/@v/v0.7.1.zip) = BSuUVjPoVHBz+2OQ5IntXiAAPvrD+PCQFua7ilFHLek=
+SHA256 (go_modules/github.com/charmbracelet/openai-go/@v/v0.0.0-20260921175203-216db9e71b83.mod) = 1h8jjgGYpJnfVTl0sTp22fXmVNCzMxoT/t+r2pxUO4M=
+SHA256 (go_modules/github.com/charmbracelet/openai-go/@v/v0.0.0-20260921175203-216db9e71b83.zip) = LThKwRQu+5GDxwRsDLDFlrzGncl/W4QCBixHjEeDGXI=
 SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20251205161215-1948445e3318.mod) = b0U/9nTAAdE/zXL1VjmsSvhBDRn+ERglRnf4f39oGSQ=
 SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260205113103-524a6607adb8.mod) = xEK2vZw5b7Mkm9dkJ+b4kLDKLnFipwhoQ1quhnb+D2A=
 SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260703014108-f5a850f9c2b7.mod) = 9X7/gRHVczRwMAFr6pudgyC8HRxYK2Jvx8OndxqIyP4=
 SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260811164956-006e29f97886.mod) = 9+W4GrjK/wmnlXUFmvvdSuYqLQto9iC1RI+R2+9xJRo=
-SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260811164956-006e29f97886.zip) = 8FoqrBMQ9zcAx1h9soQp2s00Wx1oylDAUEj5rJicD38=
+SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20261008173134-6b8d4baf91b4.mod) = 85kB/vMgla2A4jNAryZ9w2wK8G5/DcJKg0iY7ygNkjo=
+SHA256 (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20261008173134-6b8d4baf91b4.zip) = h+tXrLX+xuOS97PQobJ2YWFjfUJsciiLKRJ1K9qlV5Y=
 SHA256 (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.6.mod) = 5EKtMIq/DFCC5xrgfHLYrBglXFACUixDOqRr+MirIJo=
 SHA256 (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.7.mod) = qu+AII36DKtAqBQRx8TwiE4K9pvmDd0k5dYstA8F220=
 SHA256 (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.8.mod) = lHRbAvBDcXK/PdctgFlCHPlc4p+Y5k0Qj/a8aOhgJGQ=
-SHA256 (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.8.zip) = rAhw575hy//iPQZATHfP1D4R4WLhx5pL87+vVwNtdAc=
+SHA256 (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.9.mod) = N+uFm6Rd3SdpC/qNYX6HRMN7CQ4SHAOjuMjXKxo0N/U=
+SHA256 (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.9.zip) = mBVTVpnvwhY2dVzITbySJQGCJG6Hbk6oPodGTYccv4I=
 SHA256 (go_modules/github.com/charmbracelet/x/editor/@v/v0.2.0.mod) = 8B4dgI2Lpz+uWXkeP1Mkj3oJnevGknqRJQtLxy4TDJs=
 SHA256 (go_modules/github.com/charmbracelet/x/editor/@v/v0.2.0.zip) = R0PCgDv8Ci1gVBotwiM5gvsdMYbHmlcGRSgUFzEiMgg=
 SHA256 (go_modules/github.com/charmbracelet/x/etag/@v/v0.2.0.mod) = Iz4YV/ll4kubhl76NbvAuqe9wkAeoRUxpJ656No4TiI=
 SHA256 (go_modules/github.com/charmbracelet/x/etag/@v/v0.2.0.zip) = XA51uyZgQCyr6YdmOBtRZNlpEMk5ySUXKfHseVAXPIY=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.0.0-20250603201427-c31516f43444.mod) = 9FKGgeUaG4abAAfEJZM9yI0G7QJOycqltyBQXJ/jBCk=
-SHA256 (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.0.0-20260602025833-85a30b5e440a.mod) = mud6AvGtjnoO01Iw/u1ShI9wqCVm1ja5ldFvcnK0/p4=
-SHA256 (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.0.0-20260602025833-85a30b5e440a.zip) = GxbxWWn/IpZ8xVv9opJoCgTp9lUqZC6F0wb4tQYjrb8=
+SHA256 (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.1.0.mod) = mud6AvGtjnoO01Iw/u1ShI9wqCVm1ja5ldFvcnK0/p4=
+SHA256 (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.1.0.zip) = vQqePLh7wETcKbncySTL1ACO0YMKD5GbBAA5b9KSHWg=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.0.0-20241212170349-ad4b7ae0f25f.mod) = qOQi7fNKC26E5mkaeXSSaknqW54R3uh7Auc32goAc0s=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.0.0-20250806222409-83e3a29d542f.mod) = G5O7ToP7cdWGmo3H9l73FikbKK9UB9aTCcbPlayXiAU=
-SHA256 (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.0.0-20250806222409-83e3a29d542f.zip) = aGNrbN7A5PwLvgtQxO/FLILy4XXRGKkDNjGr3ZWUtSc=
+SHA256 (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.1.0.mod) = arxBeq4MDHYb0+Okl4R4GCYE/BmNJUqFQSBT69qSwfI=
+SHA256 (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.1.0.zip) = MHX+O7Uc/fafROfxsvWG2koIlxG3rIO2XDc3y3Jc5kY=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/ordered/@v/v0.1.0.mod) = d0C19W7NavX9uf6MokWgG9/eTO2gDSBq6WFJxBC4S4U=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/ordered/@v/v0.1.0.zip) = gFVKw7+W86HEeCcIyCDHV7kJJlLFwda0IfOXgh0naJo=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20250327172914-2fdc97757edf.mod) = ucDwpB1HfZe3c+r7UXjGMtko5bUQAoHRkwbAU3Uf5Us=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20250904123553-b4e2667e5ad5.mod) = l0pJVrKO4lEM6eTFsdp/AbjESrC3vBikd32lUtWmCLk=
-SHA256 (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20260730164118-7e2d3e6c5238.mod) = qkKtwzNt3Vpzx1YuCSTLpFyEACT4SuLV59ssZ2mWKaw=
-SHA256 (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20260730164118-7e2d3e6c5238.zip) = A6y0qz/85RywMeDbzlD9UvDnWqIbKJ4m9Sz6Ezg6MgI=
+SHA256 (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.1.0.mod) = qkKtwzNt3Vpzx1YuCSTLpFyEACT4SuLV59ssZ2mWKaw=
+SHA256 (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.1.0.zip) = iAcVwS0czvFsVTvkUKvedPxz6RLOH6Y2FACa1IcxYDk=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/strings/@v/v0.1.0.mod) = fpCZfz/JQwTYyN7J9Xj6X8Zl2oKosTC9Nr5P2tqVI2o=
 SHA256 (go_modules/github.com/charmbracelet/x/exp/strings/@v/v0.1.0.zip) = zAAmsFmuuoIKjBOzoazHRyfpeD8ZlOrHEnU2cD58ZvY=
 SHA256 (go_modules/github.com/charmbracelet/x/json/@v/v0.2.0.mod) = krzgvGXg2YpKSLh0G/EpqcJK1K00jiUlGIObsZgWTWM=
@@ -627,7 +631,8 @@ SHA256 (go_modules/github.com/mattn/go-r
 SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.23.mod) = 8Y88c/WdE4/VZfngGbQYcTY4FYnohQdwT0YY5C1a9Y4=
 SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.24.mod) = 8Y88c/WdE4/VZfngGbQYcTY4FYnohQdwT0YY5C1a9Y4=
 SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.27.mod) = kJHHk+JVA2uoztYX+jIllyp0Xq7lytTPJkwVduXBNH4=
-SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.27.zip) = eLFpC9JQb67uz/nM5hXlcQwS/iWlOTq+PCUD0OpO4uo=
+SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.30.mod) = kJHHk+JVA2uoztYX+jIllyp0Xq7lytTPJkwVduXBNH4=
+SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.30.zip) = l8UPlDJB1ZPEDER3c8znOO3wuds21orq3DJ3OiEDrx4=
 SHA256 (go_modules/github.com/mdlayher/netlink/@v/v1.7.2.mod) = aqaJXz02D+MPyZtEDVZsJgToOqTJKJQyfskeB4OfDh0=
 SHA256 (go_modules/github.com/mdlayher/netlink/@v/v1.7.2.zip) = ohzK6ipvt7lGqWxh78L/8z1xeTHCDFuzouws5SgHLcA=
 SHA256 (go_modules/github.com/mdlayher/packet/@v/v1.1.2.mod) = DYN/vaVgOeOHar2CAJI4YaxYmRvQ0udQbAeUhTGFpEM=
@@ -697,9 +702,6 @@ SHA256 (go_modules/github.com/nxadm/tail
 SHA256 (go_modules/github.com/nxadm/tail/@v/v1.4.11.zip) = xCp7GhCpsx9hgGdC576Z5SSiiFyRgPGEA75IpwO1Zno=
 SHA256 (go_modules/github.com/onsi/gomega/@v/v1.34.1.mod) = 7cth9PTAaDaOewUSzssSAqD/2SJcPOTZDZqUsUlp+EY=
 SHA256 (go_modules/github.com/onsi/gomega/@v/v1.34.1.zip) = HuT62/JaAef6u6k6qIy/bEx5rC2KRaYBfj6k9pbVGZM=
-SHA256 (go_modules/github.com/openai/openai-go/v3/@v/v3.54.0.mod) = zDFJ3NZM6UG6c0HuEvdwkn8kQhjOHQcn1OL74YSVMrQ=
-SHA256 (go_modules/github.com/openai/openai-go/v3/@v/v3.56.0.mod) = zDFJ3NZM6UG6c0HuEvdwkn8kQhjOHQcn1OL74YSVMrQ=
-SHA256 (go_modules/github.com/openai/openai-go/v3/@v/v3.56.0.zip) = XZsZtCvzVMlP6QVteuOpcNE37YuOUVVTm/jkTauByDY=
 SHA256 (go_modules/github.com/opencontainers/go-digest/@v/v1.0.0.mod) = jeAlCkumgR93A/u0me2IlnJZdpnzNbEvR9eI0d8Ie0o=
 SHA256 (go_modules/github.com/opencontainers/go-digest/@v/v1.0.0.zip) = YV77Mf9s1xA1uKo4w2Wdi02kbzzZKsgHy1BEmt/jfIY=
 SHA256 (go_modules/github.com/opencontainers/image-spec/@v/v1.1.1.mod) = GQX1+QBh5CLRojqLO+zyuIR8SuAHBNRN4rt/WF+g/tY=
@@ -886,7 +888,8 @@ SHA256 (go_modules/github.com/willscott/
 SHA256 (go_modules/github.com/xanzy/ssh-agent/@v/v0.3.3.mod) = HOHMUJiJtzjB9j2/zFrVIs62MnLZ3v9u73SZ7TAaoSU=
 SHA256 (go_modules/github.com/xanzy/ssh-agent/@v/v0.3.3.zip) = GahsJiOyDMmGh73diePwI9sMpRyLyeOLmtnFblt9EQ0=
 SHA256 (go_modules/github.com/xo/terminfo/@v/v0.0.0-20220910002029-abceb7e1c41e.mod) = cZ1TOX9e56KopHsGrNndrgY8vj1srzjt7KR3wtH+LM4=
-SHA256 (go_modules/github.com/xo/terminfo/@v/v0.0.0-20220910002029-abceb7e1c41e.zip) = uPQnAZHgjhNeky3+FodpBGpCaOx/OJJZOx13OyxfpM8=
+SHA256 (go_modules/github.com/xo/terminfo/@v/v1.0.0.mod) = cZ1TOX9e56KopHsGrNndrgY8vj1srzjt7KR3wtH+LM4=
+SHA256 (go_modules/github.com/xo/terminfo/@v/v1.0.0.zip) = ZGGUB6Aq/OLx+xumiJwTTHPxvlc2eNfbdQRUh+eDOo0=
 SHA256 (go_modules/github.com/xyproto/randomstring/@v/v1.0.5.mod) = p9Ud13Qi0W+c9GiI184Uo+jxGnw8fwJJFvUMBlgF/Io=
 SHA256 (go_modules/github.com/xyproto/randomstring/@v/v1.0.5.zip) = WOoMcElvxpjEWXYlOVs/NTId8JvgE+6ICmzhDpSWkmE=
 SHA256 (go_modules/github.com/ydb-platform/ydb-go-genproto/@v/v0.0.0-20260810123728-f0c151ab31b9.mod) = Q6rbeYQiAYS8CXSxlgGuz3ah+xZQYDwyTu8jI+MW930=
@@ -1272,7 +1275,7 @@ SHA256 (go_modules/mvdan.cc/sh/x/@v/v0.0
 SHA256 (go_modules/mvdan.cc/sh/x/@v/v0.0.0-20260907232430-b5028a3332a4.zip) = ihOUHozHP5hCTNIWJospN3T+SncrIUvrYra2L1LqlnU=
 SHA256 (go_modules/pack.ag/tftp/@v/v1.0.1-0.20181129014014-07909dfbde3c.mod) = VLlRy6/uldG7KTMZ+Tv09LQC1u1/6WsX67Gt9e3n6N8=
 SHA256 (go_modules/pack.ag/tftp/@v/v1.0.1-0.20181129014014-07909dfbde3c.zip) = EKKXbL6XnK6qqLJeM2X4BPxgi5er2IJEjs3r83uGeE0=
-SIZE (crush-v0.96.1.zip) = 2932953
+SIZE (crush-v0.98.1.zip) = 3040232
 SIZE (go_modules/cel.dev/expr/@v/v0.24.0.mod) = 231
 SIZE (go_modules/cel.dev/expr/@v/v0.25.2.mod) = 96
 SIZE (go_modules/cel.dev/expr/@v/v0.25.3.mod) = 96
@@ -1280,14 +1283,14 @@ SIZE (go_modules/cel.dev/expr/@v/v0.25.3
 SIZE (go_modules/charm.land/bubbles/v2/@v/v2.2.1.mod) = 1225
 SIZE (go_modules/charm.land/bubbles/v2/@v/v2.2.1.zip) = 159166
 SIZE (go_modules/charm.land/bubbletea/v2/@v/v2.0.8.mod) = 1006
-SIZE (go_modules/charm.land/bubbletea/v2/@v/v2.0.9.mod) = 1006
-SIZE (go_modules/charm.land/bubbletea/v2/@v/v2.0.9.zip) = 85761
-SIZE (go_modules/charm.land/catwalk/@v/v0.52.28.mod) = 607
-SIZE (go_modules/charm.land/catwalk/@v/v0.52.28.zip) = 141017
+SIZE (go_modules/charm.land/bubbletea/v2/@v/v2.1.0.mod) = 978
+SIZE (go_modules/charm.land/bubbletea/v2/@v/v2.1.0.zip) = 92985
+SIZE (go_modules/charm.land/catwalk/@v/v0.52.49.mod) = 607
+SIZE (go_modules/charm.land/catwalk/@v/v0.52.49.zip) = 143019
 SIZE (go_modules/charm.land/fang/v2/@v/v2.0.1.mod) = 1547
 SIZE (go_modules/charm.land/fang/v2/@v/v2.0.1.zip) = 39868
-SIZE (go_modules/charm.land/fantasy/@v/v0.43.1.mod) = 6549
-SIZE (go_modules/charm.land/fantasy/@v/v0.43.1.zip) = 1248254
+SIZE (go_modules/charm.land/fantasy/@v/v0.45.1.mod) = 6628
+SIZE (go_modules/charm.land/fantasy/@v/v0.45.1.zip) = 1269056
 SIZE (go_modules/charm.land/glamour/v2/@v/v2.0.1.mod) = 1463
 SIZE (go_modules/charm.land/glamour/v2/@v/v2.0.1.zip) = 139064
 SIZE (go_modules/charm.land/lipgloss/v2/@v/v2.0.1.mod) = 1046
@@ -1482,7 +1485,6 @@ SIZE (go_modules/github.com/aws/smithy-g
 SIZE (go_modules/github.com/aymanbagabas/go-osc52/v2/@v/v2.0.1.mod) = 52
 SIZE (go_modules/github.com/aymanbagabas/go-osc52/v2/@v/v2.0.1.zip) = 7855
 SIZE (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.2.0.mod) = 49
-SIZE (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.3.1.mod) = 49
 SIZE (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.4.1.mod) = 49
 SIZE (go_modules/github.com/aymanbagabas/go-udiff/@v/v0.4.1.zip) = 46689
 SIZE (go_modules/github.com/aymerick/douceur/@v/v0.2.0.mod) = 35
@@ -1522,31 +1524,36 @@ SIZE (go_modules/github.com/charmbracele
 SIZE (go_modules/github.com/charmbracelet/harmonica/@v/v0.2.0.zip) = 10431
 SIZE (go_modules/github.com/charmbracelet/lipgloss/@v/v0.7.1.mod) = 422
 SIZE (go_modules/github.com/charmbracelet/lipgloss/@v/v0.7.1.zip) = 40609
+SIZE (go_modules/github.com/charmbracelet/openai-go/@v/v0.0.0-20260921175203-216db9e71b83.mod) = 1790
+SIZE (go_modules/github.com/charmbracelet/openai-go/@v/v0.0.0-20260921175203-216db9e71b83.zip) = 1820074
 SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20251205161215-1948445e3318.mod) = 747
 SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260205113103-524a6607adb8.mod) = 735
 SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260703014108-f5a850f9c2b7.mod) = 677
 SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260811164956-006e29f97886.mod) = 677
-SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20260811164956-006e29f97886.zip) = 226161
+SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20261008173134-6b8d4baf91b4.mod) = 649
+SIZE (go_modules/github.com/charmbracelet/ultraviolet/@v/v0.0.0-20261008173134-6b8d4baf91b4.zip) = 246846
 SIZE (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.6.mod) = 336
 SIZE (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.7.mod) = 275
 SIZE (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.8.mod) = 275
-SIZE (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.8.zip) = 172952
+SIZE (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.9.mod) = 275
+SIZE (go_modules/github.com/charmbracelet/x/ansi/@v/v0.11.9.zip) = 177100
 SIZE (go_modules/github.com/charmbracelet/x/editor/@v/v0.2.0.mod) = 52
 SIZE (go_modules/github.com/charmbracelet/x/editor/@v/v0.2.0.zip) = 3694
 SIZE (go_modules/github.com/charmbracelet/x/etag/@v/v0.2.0.mod) = 50
 SIZE (go_modules/github.com/charmbracelet/x/etag/@v/v0.2.0.zip) = 3197
 SIZE (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.0.0-20250603201427-c31516f43444.mod) = 110
-SIZE (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.0.0-20260602025833-85a30b5e440a.mod) = 59
-SIZE (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.0.0-20260602025833-85a30b5e440a.zip) = 6626
+SIZE (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.1.0.mod) = 59
+SIZE (go_modules/github.com/charmbracelet/x/exp/charmtone/@v/v0.1.0.zip) = 6445
 SIZE (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.0.0-20241212170349-ad4b7ae0f25f.mod) = 103
 SIZE (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.0.0-20250806222409-83e3a29d542f.mod) = 105
-SIZE (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.0.0-20250806222409-83e3a29d542f.zip) = 5037
+SIZE (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.1.0.mod) = 105
+SIZE (go_modules/github.com/charmbracelet/x/exp/golden/@v/v0.1.0.zip) = 4522
 SIZE (go_modules/github.com/charmbracelet/x/exp/ordered/@v/v0.1.0.mod) = 55
 SIZE (go_modules/github.com/charmbracelet/x/exp/ordered/@v/v0.1.0.zip) = 2902
 SIZE (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20250327172914-2fdc97757edf.mod) = 53
 SIZE (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20250904123553-b4e2667e5ad5.mod) = 55
-SIZE (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20260730164118-7e2d3e6c5238.mod) = 55
-SIZE (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.0.0-20260730164118-7e2d3e6c5238.zip) = 4696
+SIZE (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.1.0.mod) = 55
+SIZE (go_modules/github.com/charmbracelet/x/exp/slice/@v/v0.1.0.zip) = 4472
 SIZE (go_modules/github.com/charmbracelet/x/exp/strings/@v/v0.1.0.mod) = 57
 SIZE (go_modules/github.com/charmbracelet/x/exp/strings/@v/v0.1.0.zip) = 4400
 SIZE (go_modules/github.com/charmbracelet/x/json/@v/v0.2.0.mod) = 50
@@ -1901,7 +1908,8 @@ SIZE (go_modules/github.com/mattn/go-run
 SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.23.mod) = 95
 SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.24.mod) = 95
 SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.27.mod) = 95
-SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.27.zip) = 29985
+SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.30.mod) = 95
+SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.30.zip) = 40394
 SIZE (go_modules/github.com/mdlayher/netlink/@v/v1.7.2.mod) = 257
 SIZE (go_modules/github.com/mdlayher/netlink/@v/v1.7.2.zip) = 61930
 SIZE (go_modules/github.com/mdlayher/packet/@v/v1.1.2.mod) = 256
@@ -1971,9 +1979,6 @@ SIZE (go_modules/github.com/nxadm/tail/@
 SIZE (go_modules/github.com/nxadm/tail/@v/v1.4.11.zip) = 33813
 SIZE (go_modules/github.com/onsi/gomega/@v/v1.34.1.mod) = 559
 SIZE (go_modules/github.com/onsi/gomega/@v/v1.34.1.zip) = 426432
-SIZE (go_modules/github.com/openai/openai-go/v3/@v/v3.54.0.mod) = 1750
-SIZE (go_modules/github.com/openai/openai-go/v3/@v/v3.56.0.mod) = 1750
-SIZE (go_modules/github.com/openai/openai-go/v3/@v/v3.56.0.zip) = 1502617
 SIZE (go_modules/github.com/opencontainers/go-digest/@v/v1.0.0.mod) = 52
 SIZE (go_modules/github.com/opencontainers/go-digest/@v/v1.0.0.zip) = 34573
 SIZE (go_modules/github.com/opencontainers/image-spec/@v/v1.1.1.mod) = 415
@@ -2160,7 +2165,8 @@ SIZE (go_modules/github.com/willscott/go
 SIZE (go_modules/github.com/xanzy/ssh-agent/@v/v0.3.3.mod) = 203
 SIZE (go_modules/github.com/xanzy/ssh-agent/@v/v0.3.3.zip) = 11274
 SIZE (go_modules/github.com/xo/terminfo/@v/v0.0.0-20220910002029-abceb7e1c41e.mod) = 100
-SIZE (go_modules/github.com/xo/terminfo/@v/v0.0.0-20220910002029-abceb7e1c41e.zip) = 42016
+SIZE (go_modules/github.com/xo/terminfo/@v/v1.0.0.mod) = 100
+SIZE (go_modules/github.com/xo/terminfo/@v/v1.0.0.zip) = 41726
 SIZE (go_modules/github.com/xyproto/randomstring/@v/v1.0.5.mod) = 48
 SIZE (go_modules/github.com/xyproto/randomstring/@v/v1.0.5.zip) = 4537
 SIZE (go_modules/github.com/ydb-platform/ydb-go-genproto/@v/v0.0.0-20260810123728-f0c151ab31b9.mod) = 137
Index: devel/crush/modules.inc
===================================================================
RCS file: /cvs/ports/devel/crush/modules.inc,v
diff -u -p -u -p -r1.4 modules.inc
--- devel/crush/modules.inc	26 Sep 2026 09:37:51 -0000	1.4
+++ devel/crush/modules.inc	14 Oct 2026 02:01:23 -0000
@@ -1,10 +1,10 @@
 MODGO_MODULES =	\
 	cel.dev/expr										 v0.25.3 \
 	charm.land/bubbles/v2									 v2.2.1 \
-	charm.land/bubbletea/v2									 v2.0.9 \
-	charm.land/catwalk									 v0.52.28 \
+	charm.land/bubbletea/v2									 v2.1.0 \
+	charm.land/catwalk									 v0.52.49 \
 	charm.land/fang/v2									 v2.0.1 \
-	charm.land/fantasy									 v0.43.1 \
+	charm.land/fantasy									 v0.45.1 \
 	charm.land/glamour/v2									 v2.0.1 \
 	charm.land/lipgloss/v2									 v2.0.6 \
 	charm.land/log/v2									 v2.0.1 \
@@ -91,14 +91,15 @@ MODGO_MODULES =	\
 	github.com/charmbracelet/colorprofile							 v0.4.3 \
 	github.com/charmbracelet/harmonica							 v0.2.0 \
 	github.com/charmbracelet/lipgloss							 v0.7.1 \
-	github.com/charmbracelet/ultraviolet							 v0.0.0-20260811164956-006e29f97886 \
-	github.com/charmbracelet/x/ansi								 v0.11.8 \
+	github.com/charmbracelet/openai-go							 v0.0.0-20260921175203-216db9e71b83 \
+	github.com/charmbracelet/ultraviolet							 v0.0.0-20261008173134-6b8d4baf91b4 \
+	github.com/charmbracelet/x/ansi								 v0.11.9 \
 	github.com/charmbracelet/x/editor							 v0.2.0 \
 	github.com/charmbracelet/x/etag								 v0.2.0 \
-	github.com/charmbracelet/x/exp/charmtone						 v0.0.0-20260602025833-85a30b5e440a \
-	github.com/charmbracelet/x/exp/golden							 v0.0.0-20250806222409-83e3a29d542f \
+	github.com/charmbracelet/x/exp/charmtone						 v0.1.0 \
+	github.com/charmbracelet/x/exp/golden							 v0.1.0 \
 	github.com/charmbracelet/x/exp/ordered							 v0.1.0 \
-	github.com/charmbracelet/x/exp/slice							 v0.0.0-20260730164118-7e2d3e6c5238 \
+	github.com/charmbracelet/x/exp/slice							 v0.1.0 \
 	github.com/charmbracelet/x/exp/strings							 v0.1.0 \
 	github.com/charmbracelet/x/json								 v0.2.0 \
 	github.com/charmbracelet/x/powernap							 v0.1.6 \
@@ -246,7 +247,7 @@ MODGO_MODULES =	\
 	github.com/lucasb-eyer/go-colorful							 v1.4.1 \
 	github.com/mattn/go-isatty								 v0.0.24 \
 	github.com/mattn/go-localereader							 v0.0.1 \
-	github.com/mattn/go-runewidth								 v0.0.27 \
+	github.com/mattn/go-runewidth								 v0.0.30 \
 	github.com/mdlayher/netlink								 v1.7.2 \
 	github.com/mdlayher/packet								 v1.1.2 \
 	github.com/mdlayher/socket								 v0.5.1 \
@@ -281,7 +282,6 @@ MODGO_MODULES =	\
 	github.com/nfnt/resize									 v0.0.0-20180221191011-83c6a9932646 \
 	github.com/nxadm/tail									 v1.4.11 \
 	github.com/onsi/gomega									 v1.34.1 \
-	github.com/openai/openai-go/v3								 v3.56.0 \
 	github.com/opencontainers/go-digest							 v1.0.0 \
 	github.com/opencontainers/image-spec							 v1.1.1 \
 	github.com/orangecms/go-framebuffer							 v0.0.0-20200613202404-a0700d90c330 \
@@ -357,7 +357,7 @@ MODGO_MODULES =	\
 	github.com/willscott/go-nfs								 v0.0.0-20240424173852-04b947a7e58a \
 	github.com/willscott/go-nfs-client							 v0.0.0-20240104095149-b44639837b00 \
 	github.com/xanzy/ssh-agent								 v0.3.3 \
-	github.com/xo/terminfo									 v0.0.0-20220910002029-abceb7e1c41e \
+	github.com/xo/terminfo									 v1.0.0 \
 	github.com/xyproto/randomstring								 v1.0.5 \
 	github.com/ydb-platform/ydb-go-genproto							 v0.0.0-20260810123728-f0c151ab31b9 \
 	github.com/ydb-platform/ydb-go-sdk/v3							 v3.151.1 \
@@ -509,15 +509,17 @@ MODGO_MODFILES =	\
 	github.com/aws/smithy-go								 v1.20.3 \
 	github.com/aws/smithy-go								 v1.27.8 \
 	github.com/aymanbagabas/go-udiff							 v0.2.0 \
-	github.com/aymanbagabas/go-udiff							 v0.3.1 \
 	github.com/charmbracelet/colorprofile							 v0.4.2 \
 	github.com/charmbracelet/ultraviolet							 v0.0.0-20251205161215-1948445e3318 \
 	github.com/charmbracelet/ultraviolet							 v0.0.0-20260205113103-524a6607adb8 \
 	github.com/charmbracelet/ultraviolet							 v0.0.0-20260703014108-f5a850f9c2b7 \
+	github.com/charmbracelet/ultraviolet							 v0.0.0-20260811164956-006e29f97886 \
 	github.com/charmbracelet/x/ansi								 v0.11.6 \
 	github.com/charmbracelet/x/ansi								 v0.11.7 \
+	github.com/charmbracelet/x/ansi								 v0.11.8 \
 	github.com/charmbracelet/x/exp/charmtone						 v0.0.0-20250603201427-c31516f43444 \
 	github.com/charmbracelet/x/exp/golden							 v0.0.0-20241212170349-ad4b7ae0f25f \
+	github.com/charmbracelet/x/exp/golden							 v0.0.0-20250806222409-83e3a29d542f \
 	github.com/charmbracelet/x/exp/slice							 v0.0.0-20250327172914-2fdc97757edf \
 	github.com/charmbracelet/x/exp/slice							 v0.0.0-20250904123553-b4e2667e5ad5 \
 	github.com/clipperhouse/displaywidth							 v0.9.0 \
@@ -579,8 +581,8 @@ MODGO_MODFILES =	\
 	github.com/mattn/go-runewidth								 v0.0.20 \
 	github.com/mattn/go-runewidth								 v0.0.23 \
 	github.com/mattn/go-runewidth								 v0.0.24 \
+	github.com/mattn/go-runewidth								 v0.0.27 \
 	github.com/modelcontextprotocol/go-sdk							 v1.3.1 \
-	github.com/openai/openai-go/v3								 v3.54.0 \
 	github.com/pierrec/lz4/v4								 v4.1.14 \
 	github.com/pierrec/lz4/v4								 v4.1.22 \
 	github.com/pkg/errors									 v0.8.1 \
@@ -616,6 +618,7 @@ MODGO_MODFILES =	\
 	github.com/tidwall/gjson								 v1.18.0 \
 	github.com/tidwall/pretty								 v1.2.0 \
 	github.com/ulikunitz/xz									 v0.5.15 \
+	github.com/xo/terminfo									 v0.0.0-20220910002029-abceb7e1c41e \
 	github.com/yuin/goldmark								 v1.4.13 \
 	github.com/yuin/goldmark								 v1.7.1 \
 	github.com/yuin/goldmark								 v1.7.8 \