@silicaclaw/cli 2026.3.19-24 → 2026.3.19-25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## v1.0 beta - 2026-03-19
4
4
 
5
+ ### 2026.3.19-25
6
+
7
+ - update fix:
8
+ - restored version token comparison in the CLI so `silicaclaw update` can compare `latest` and `beta` without throwing
9
+ - update checks now resolve the registry tags correctly when both channels are present
10
+
5
11
  ### 2026.3.19-24
6
12
 
7
13
  - release build:
package/VERSION CHANGED
@@ -1 +1 @@
1
- v2026.3.19-24
1
+ v2026.3.19-25
@@ -1 +1 @@
1
- 2026.3.19-beta.24
1
+ 2026.3.19-beta.25
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "silicaclaw-broadcast",
3
- "version": "2026.3.19-beta.24",
3
+ "version": "2026.3.19-beta.25",
4
4
  "display_name": "SilicaClaw Broadcast",
5
5
  "description": "OpenClaw skill for reading SilicaClaw public broadcasts, publishing public broadcasts, and forwarding relevant updates to the owner through OpenClaw's native social channel.",
6
6
  "entrypoints": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silicaclaw/cli",
3
- "version": "2026.3.19-24",
3
+ "version": "2026.3.19-25",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -330,6 +330,34 @@ function showUpdateGuide(current, targetVersion, channel = "latest") {
330
330
  kv("Channel", channel);
331
331
  }
332
332
 
333
+ function compareVersionTokens(left, right) {
334
+ const tokenize = (value) =>
335
+ String(value || "")
336
+ .split(/[^0-9A-Za-z]+/)
337
+ .filter(Boolean)
338
+ .map((part) => (/^\d+$/.test(part) ? Number(part) : part.toLowerCase()));
339
+
340
+ const leftParts = tokenize(left);
341
+ const rightParts = tokenize(right);
342
+ const maxLength = Math.max(leftParts.length, rightParts.length);
343
+
344
+ for (let index = 0; index < maxLength; index += 1) {
345
+ const a = leftParts[index];
346
+ const b = rightParts[index];
347
+ if (a === undefined) return -1;
348
+ if (b === undefined) return 1;
349
+ if (typeof a === "number" && typeof b === "number") {
350
+ if (a !== b) return a > b ? 1 : -1;
351
+ continue;
352
+ }
353
+ if (typeof a === "number" && typeof b !== "number") return 1;
354
+ if (typeof a !== "number" && typeof b === "number") return -1;
355
+ if (a !== b) return String(a) > String(b) ? 1 : -1;
356
+ }
357
+
358
+ return 0;
359
+ }
360
+
333
361
  function preferredTaggedRelease(tags, current) {
334
362
  const latest = tags.latest ? String(tags.latest) : "";
335
363
  const beta = tags.beta ? String(tags.beta) : "";