@silicaclaw/cli 2026.3.19-13 → 2026.3.19-14

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-14
6
+
7
+ - release build:
8
+ - prepared another fresh date-based package build without publishing
9
+ - regenerated the npm tarball through the release packing workflow
10
+
5
11
  ### 2026.3.19-13
6
12
 
7
13
  - release build:
package/VERSION CHANGED
@@ -1 +1 @@
1
- v2026.3.19-13
1
+ v2026.3.19-14
@@ -268,6 +268,7 @@ root.innerHTML = appTemplate;
268
268
  const shell = createShellController({ resolveThemeMode, t });
269
269
  const {
270
270
  applyTheme,
271
+ clearUiCache,
271
272
  flashButton,
272
273
  hydrateCachedShell,
273
274
  peerStatusText,
@@ -438,6 +439,7 @@ root.innerHTML = appTemplate;
438
439
  parseCsv,
439
440
  profileController,
440
441
  pulseOverviewBroadcastStep,
442
+ clearUiCache,
441
443
  refreshAll,
442
444
  refreshLogs,
443
445
  refreshMessages,
@@ -7,6 +7,7 @@ export function bindAppEvents({
7
7
  parseCsv,
8
8
  profileController,
9
9
  pulseOverviewBroadcastStep,
10
+ clearUiCache,
10
11
  refreshAll,
11
12
  refreshLogs,
12
13
  refreshMessages,
@@ -223,6 +224,7 @@ export function bindAppEvents({
223
224
  document.getElementById("clearDiscoveryCacheBtn").addEventListener("click", async () => {
224
225
  try {
225
226
  await api("/api/cache/clear", { method: "POST" });
227
+ clearUiCache(["silicaclaw_ui_overview", "silicaclaw_ui_network", "silicaclaw_ui_social"]);
226
228
  setFeedback("networkFeedback", t("feedback.discoveryCacheCleared"));
227
229
  toast(t("feedback.discoveryCacheCleared"));
228
230
  setAgentsPage(1);
@@ -143,6 +143,7 @@ export function createOverviewController({
143
143
  </div>
144
144
  `;
145
145
  document.getElementById("snapshot").innerHTML = snapshotHtml;
146
+ const networkDiag = networkStats.adapter_diagnostics_summary || {};
146
147
  const heroModeText = o.social?.network_mode || "-";
147
148
  const heroAdapterText = networkCfg.adapter || "-";
148
149
  const heroRelayText = String(networkDiag.signaling_url || networkCfg.adapter_extra?.signaling_url || "-");
@@ -166,7 +167,6 @@ export function createOverviewController({
166
167
  const openclawDetected = !!bridge.openclaw_installation?.detected || openclawRunning || !!bridge.openclaw_runtime?.gateway_reachable;
167
168
  const skillInstalled = !!bridge.skill_learning?.installed;
168
169
  const globalMode = heroModeText === "global-preview";
169
- const networkDiag = networkStats.adapter_diagnostics_summary || {};
170
170
  const lastNetworkError = String(networkDiag.last_error || o.last_broadcast_error || "").trim();
171
171
  const broadcastHealthy = o.broadcast_enabled && !lastNetworkError;
172
172
  const roleKey = openclawRunning
@@ -1,4 +1,10 @@
1
1
  export function createShellController({ t, resolveThemeMode }) {
2
+ const REALTIME_UI_CACHE_KEYS = [
3
+ "silicaclaw_ui_overview",
4
+ "silicaclaw_ui_network",
5
+ "silicaclaw_ui_social",
6
+ ];
7
+
2
8
  function peerStatusText(status) {
3
9
  if (status === "online") return t("overview.online");
4
10
  if (status === "offline") return t("overview.offline");
@@ -6,48 +12,25 @@ export function createShellController({ t, resolveThemeMode }) {
6
12
  return status || "-";
7
13
  }
8
14
 
9
- function readUiCache(key) {
10
- try {
11
- const raw = localStorage.getItem(key);
12
- return raw ? JSON.parse(raw) : null;
13
- } catch {
14
- return null;
15
- }
15
+ function writeUiCache(key, value) {
16
+ void key;
17
+ void value;
16
18
  }
17
19
 
18
- function writeUiCache(key, value) {
20
+ function clearUiCache(keys) {
21
+ const values = Array.isArray(keys) ? keys : keys ? [keys] : REALTIME_UI_CACHE_KEYS;
19
22
  try {
20
- localStorage.setItem(key, JSON.stringify(value));
23
+ for (const key of values) {
24
+ if (!key) continue;
25
+ localStorage.removeItem(key);
26
+ }
21
27
  } catch {
22
- // ignore cache write failures
28
+ // ignore cache removal failures
23
29
  }
24
30
  }
25
31
 
26
32
  function hydrateCachedShell() {
27
- const overview = readUiCache("silicaclaw_ui_overview");
28
- if (overview) {
29
- if (overview.overviewCardsHtml) document.getElementById("overviewCards").innerHTML = overview.overviewCardsHtml;
30
- if (overview.snapshotText) document.getElementById("snapshot").innerHTML = overview.snapshotText;
31
- if (overview.heroModeText) document.getElementById("heroMode").textContent = overview.heroModeText;
32
- if (overview.pillBroadcastText) document.getElementById("pillBroadcast").textContent = overview.pillBroadcastText;
33
- if (overview.pillBroadcastClassName) document.getElementById("pillBroadcast").className = overview.pillBroadcastClassName;
34
- if (overview.agentsCountHintText) document.getElementById("agentsCountHint").textContent = overview.agentsCountHintText;
35
- if (overview.agentsWrapHtml) document.getElementById("agentsWrap").innerHTML = overview.agentsWrapHtml;
36
- }
37
- const network = readUiCache("silicaclaw_ui_network");
38
- if (network) {
39
- if (network.heroAdapterText) document.getElementById("heroAdapter").textContent = network.heroAdapterText;
40
- if (network.heroRelayText) document.getElementById("heroRelay").textContent = network.heroRelayText;
41
- if (network.heroRoomText) document.getElementById("heroRoom").textContent = network.heroRoomText;
42
- if (network.pillAdapterText) document.getElementById("pillAdapter").textContent = network.pillAdapterText;
43
- }
44
- const social = readUiCache("silicaclaw_ui_social");
45
- if (social) {
46
- if (social.integrationStatusText) document.getElementById("integrationStatusBar").textContent = social.integrationStatusText;
47
- if (social.integrationStatusClassName) document.getElementById("integrationStatusBar").className = social.integrationStatusClassName;
48
- if (social.socialStatusLineText) document.getElementById("socialStatusLine").textContent = social.socialStatusLineText;
49
- if (social.socialStatusSublineText) document.getElementById("socialStatusSubline").textContent = social.socialStatusSublineText;
50
- }
33
+ clearUiCache(REALTIME_UI_CACHE_KEYS);
51
34
  }
52
35
 
53
36
  function toast(msg) {
@@ -130,6 +113,7 @@ export function createShellController({ t, resolveThemeMode }) {
130
113
 
131
114
  return {
132
115
  applyTheme,
116
+ clearUiCache,
133
117
  flashButton,
134
118
  hydrateCachedShell,
135
119
  peerStatusText,
@@ -1 +1 @@
1
- 2026.3.19-13
1
+ 2026.3.19-14
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "silicaclaw-broadcast",
3
- "version": "2026.3.19-13",
3
+ "version": "2026.3.19-14",
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-13",
3
+ "version": "2026.3.19-14",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"