You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2026/09/24 07:52:02 UTC

(skywalking-ai-sessionizer) 01/01: Homebrew formulae for 0.5.0

This is an automated email from the ASF dual-hosted git repository.

wu-sheng pushed a commit to branch homebrew-0.5.0
in repository https://gitbox.apache.org/repos/asf/skywalking-ai-sessionizer.git

commit ed283380ae29b8f1f6b31cf2adfd324702793bee
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Thu Sep 24 15:51:53 2026 +0800

    Homebrew formulae for 0.5.0
---
 Formula/asz-claude-code.rb       | 87 ----------------------------------------
 Formula/asz.rb                   | 37 ++++++++++-------
 Formula/{asz.rb => asz@0.5.0.rb} | 41 +++++++++++--------
 3 files changed, 47 insertions(+), 118 deletions(-)

diff --git a/Formula/asz-claude-code.rb b/Formula/asz-claude-code.rb
deleted file mode 100644
index be57307..0000000
--- a/Formula/asz-claude-code.rb
+++ /dev/null
@@ -1,87 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Written by the homebrew skill in apache/skywalking-ai-sessionizer from the
-# voted binary packages of 0.4.0.
-class AszClaudeCode < Formula
-  desc "Claude Code plugin that records which files each tool call changed"
-  homepage "https://github.com/apache/skywalking-ai-sessionizer"
-  license "Apache-2.0"
-
-  # Each package comes from the GitHub release of v0.4.0, which carries
-  # the voted files. Its URL keeps working after a newer version replaces
-  # this one on the download site. The mirror, archive.apache.org, keeps
-  # every version too, and Homebrew tries it only when GitHub fails.
-  # Homebrew reads the version from the release tag in each URL.
-  on_macos do
-    on_arm do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-arm64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-arm64.tgz"
-      sha256 "44b15c9896c0d30aabd16c7194473c5369cc4f123fc852bc7c41eb7d1b9fe01d"
-    end
-    on_intel do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-amd64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-amd64.tgz"
-      sha256 "70ac46dbaf9756c79cf8fef682a8fb1225522a2b0c0c2608c97023278d014620"
-    end
-  end
-
-  on_linux do
-    on_arm do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-arm64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-arm64.tgz"
-      sha256 "a0a9f2a0b9abd4e81f6587f395b54d5a67aa3c92039a2d943c6dd08c84955a3b"
-    end
-    on_intel do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-amd64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-amd64.tgz"
-      sha256 "8dcce356f7fdcd3aaf862f6167fbee6bc993b29749ff3261a765bc8a10e3cef6"
-    end
-  end
-
-  def install
-    # The plugin's hooks run asz-claude-plugin by name, so it goes on PATH.
-    bin.install "asz-claude-plugin"
-    prefix.install "LICENSE", "NOTICE", "licenses"
-  end
-
-  def caveats
-    # A formula cannot change the user's Claude Code configuration, so the
-    # plugin itself is installed by these commands. They add the marketplace
-    # at the tag of this version, so its hooks are the ones this binary was
-    # released with.
-    <<~EOS
-      asz-claude-plugin, the binary of the Claude Code plugin, is on your
-      PATH. To install the plugin itself into Claude Code:
-        claude plugin marketplace add "https://github.com/apache/skywalking-ai-sessionizer.git#v#{version}" --sparse .claude-plugin plugins/claude-code/plugin
-        claude plugin install asz-changes@skywalking-ai-sessionizer
-
-      To move an installed plugin to this version without losing the records
-      asz has not collected, see:
-        https://github.com/apache/skywalking-ai-sessionizer/blob/v#{version}/docs/en/setup/claude-code-plugin.md#upgrade
-    EOS
-  end
-
-  test do
-    assert_match version.to_s, shell_output("#{bin}/asz-claude-plugin version")
-    # Claude Code names the plugin's data directory in CLAUDE_PLUGIN_DATA.
-    # status reads the settings there and compiles the exclusion rules. With
-    # no settings file it takes the defaults, the set named standard-v1.
-    ENV["CLAUDE_PLUGIN_DATA"] = (testpath/"plugin-data").to_s
-    assert_match "standard-v1", shell_output("#{bin}/asz-claude-plugin status")
-  end
-end
diff --git a/Formula/asz.rb b/Formula/asz.rb
index ef8b76b..8c9324d 100644
--- a/Formula/asz.rb
+++ b/Formula/asz.rb
@@ -16,45 +16,49 @@
 # under the License.
 
 # Written by the homebrew skill in apache/skywalking-ai-sessionizer from the
-# voted binary packages of 0.4.0.
+# voted binary packages of 0.5.0.
 class Asz < Formula
   desc "Conversation-level observability for long-lived AI agents"
   homepage "https://github.com/apache/skywalking-ai-sessionizer"
   license "Apache-2.0"
 
-  # Each package comes from the GitHub release of v0.4.0, which carries
+  # Each package comes from the GitHub release of v0.5.0, which carries
   # the voted files. Its URL keeps working after a newer version replaces
   # this one on the download site. The mirror, archive.apache.org, keeps
   # every version too, and Homebrew tries it only when GitHub fails.
   # Homebrew reads the version from the release tag in each URL.
   on_macos do
     on_arm do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-arm64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-arm64.tgz"
-      sha256 "44b15c9896c0d30aabd16c7194473c5369cc4f123fc852bc7c41eb7d1b9fe01d"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-arm64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-arm64.tgz"
+      sha256 "6bbcebdbe73186c1dd09171cd311d9c3d66634ddbfc33f545979cb0b0fb6150d"
     end
     on_intel do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-amd64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-amd64.tgz"
-      sha256 "70ac46dbaf9756c79cf8fef682a8fb1225522a2b0c0c2608c97023278d014620"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-amd64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-amd64.tgz"
+      sha256 "1cabfb8ca4321999583e956d0d3a233ed00f591d8a77ea8fd03f75e243ac3033"
     end
   end
 
   on_linux do
     on_arm do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-arm64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-arm64.tgz"
-      sha256 "a0a9f2a0b9abd4e81f6587f395b54d5a67aa3c92039a2d943c6dd08c84955a3b"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-arm64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-arm64.tgz"
+      sha256 "a673adff0819e00be280122ee4c5a8520cd860e1fbfcf409d127241b3615130a"
     end
     on_intel do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-amd64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-amd64.tgz"
-      sha256 "8dcce356f7fdcd3aaf862f6167fbee6bc993b29749ff3261a765bc8a10e3cef6"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-amd64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-amd64.tgz"
+      sha256 "2c906aed003cd3733e4afc92240df2dfbfb928f233d09759f5558809dc5d9187"
     end
   end
 
   def install
-    bin.install "asz"
+    # Both binaries, from the one archive. Until 0.5.0 there were two
+    # formulae fetching the identical archive and checksum and installing one
+    # binary each, which only invited a machine to end up with asz of one
+    # version and the recorder of another.
+    bin.install "asz", "asz-changes"
     # Homebrew keeps a formula's license files at the root of its prefix. It
     # moves LICENSE and NOTICE there by itself, but not a directory, so
     # licenses/ goes with them here. It holds the license of every module
@@ -67,5 +71,8 @@ class Asz < Formula
     # glossary needs no configuration and no input, and its table names
     # agent.call, so the program does real work, not only print its version.
     assert_match "agent.call", shell_output("#{bin}/asz glossary")
+    # The recorder answers without a data directory, which is what a machine
+    # with no agent runtime installed can check.
+    assert_match version.to_s, shell_output("#{bin}/asz-changes version")
   end
 end
diff --git a/Formula/asz.rb b/Formula/asz@0.5.0.rb
similarity index 64%
copy from Formula/asz.rb
copy to Formula/asz@0.5.0.rb
index ef8b76b..f3016b2 100644
--- a/Formula/asz.rb
+++ b/Formula/asz@0.5.0.rb
@@ -16,45 +16,51 @@
 # under the License.
 
 # Written by the homebrew skill in apache/skywalking-ai-sessionizer from the
-# voted binary packages of 0.4.0.
-class Asz < Formula
+# voted binary packages of 0.5.0.
+class AszAT050 < Formula
   desc "Conversation-level observability for long-lived AI agents"
   homepage "https://github.com/apache/skywalking-ai-sessionizer"
   license "Apache-2.0"
 
-  # Each package comes from the GitHub release of v0.4.0, which carries
+  keg_only :versioned_formula
+
+  # Each package comes from the GitHub release of v0.5.0, which carries
   # the voted files. Its URL keeps working after a newer version replaces
   # this one on the download site. The mirror, archive.apache.org, keeps
   # every version too, and Homebrew tries it only when GitHub fails.
   # Homebrew reads the version from the release tag in each URL.
   on_macos do
     on_arm do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-arm64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-arm64.tgz"
-      sha256 "44b15c9896c0d30aabd16c7194473c5369cc4f123fc852bc7c41eb7d1b9fe01d"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-arm64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-arm64.tgz"
+      sha256 "6bbcebdbe73186c1dd09171cd311d9c3d66634ddbfc33f545979cb0b0fb6150d"
     end
     on_intel do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-amd64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-darwin-amd64.tgz"
-      sha256 "70ac46dbaf9756c79cf8fef682a8fb1225522a2b0c0c2608c97023278d014620"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-amd64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-darwin-amd64.tgz"
+      sha256 "1cabfb8ca4321999583e956d0d3a233ed00f591d8a77ea8fd03f75e243ac3033"
     end
   end
 
   on_linux do
     on_arm do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-arm64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-arm64.tgz"
-      sha256 "a0a9f2a0b9abd4e81f6587f395b54d5a67aa3c92039a2d943c6dd08c84955a3b"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-arm64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-arm64.tgz"
+      sha256 "a673adff0819e00be280122ee4c5a8520cd860e1fbfcf409d127241b3615130a"
     end
     on_intel do
-      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-amd64.tgz"
-      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.4.0/apache-skywalking-ai-sessionizer-0.4.0-bin-linux-amd64.tgz"
-      sha256 "8dcce356f7fdcd3aaf862f6167fbee6bc993b29749ff3261a765bc8a10e3cef6"
+      url "https://github.com/apache/skywalking-ai-sessionizer/releases/download/v0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-amd64.tgz"
+      mirror "https://archive.apache.org/dist/skywalking/ai-sessionizer/0.5.0/apache-skywalking-ai-sessionizer-0.5.0-bin-linux-amd64.tgz"
+      sha256 "2c906aed003cd3733e4afc92240df2dfbfb928f233d09759f5558809dc5d9187"
     end
   end
 
   def install
-    bin.install "asz"
+    # Both binaries, from the one archive. Until 0.5.0 there were two
+    # formulae fetching the identical archive and checksum and installing one
+    # binary each, which only invited a machine to end up with asz of one
+    # version and the recorder of another.
+    bin.install "asz", "asz-changes"
     # Homebrew keeps a formula's license files at the root of its prefix. It
     # moves LICENSE and NOTICE there by itself, but not a directory, so
     # licenses/ goes with them here. It holds the license of every module
@@ -67,5 +73,8 @@ class Asz < Formula
     # glossary needs no configuration and no input, and its table names
     # agent.call, so the program does real work, not only print its version.
     assert_match "agent.call", shell_output("#{bin}/asz glossary")
+    # The recorder answers without a data directory, which is what a machine
+    # with no agent runtime installed can check.
+    assert_match version.to_s, shell_output("#{bin}/asz-changes version")
   end
 end