@femtomc/mu-agent 26.2.92 → 26.2.93

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.
@@ -1 +1 @@
1
- {"version":3,"file":"subagents-ui.d.ts","sourceRoot":"","sources":["../../src/extensions/subagents-ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AA63BpF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,QAkoBpD;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"subagents-ui.d.ts","sourceRoot":"","sources":["../../src/extensions/subagents-ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AAw4BpF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,QAkoBpD;AAED,eAAe,oBAAoB,CAAC"}
@@ -404,6 +404,10 @@ function renderActivitySentence(event) {
404
404
  }
405
405
  return null;
406
406
  }
407
+ function isActivityEndpointUnavailable(errorMessage) {
408
+ const normalized = errorMessage.toLowerCase();
409
+ return normalized.includes("mu server 404") && normalized.includes("not found");
410
+ }
407
411
  async function fetchRecentActivity(opts) {
408
412
  if (!muServerUrl()) {
409
413
  return { lines: [], error: null };
@@ -416,6 +420,9 @@ async function fetchRecentActivity(opts) {
416
420
  }
417
421
  catch (err) {
418
422
  const message = err instanceof Error ? err.message : String(err);
423
+ if (isActivityEndpointUnavailable(message)) {
424
+ return { lines: [], error: null };
425
+ }
419
426
  return { lines: [], error: `activity refresh failed: ${truncateOneLine(message, 60)}` };
420
427
  }
421
428
  if (!Array.isArray(events) || events.length === 0) {
@@ -502,7 +509,9 @@ function subagentsSnapshot(state, format) {
502
509
  const drift = computeQueueDrift(state.sessions, state.activeIssues);
503
510
  const refreshStale = isRefreshStale(state.lastUpdatedMs, state.staleAfterMs);
504
511
  const staleCount = drift.activeWithoutSessionIds.length + drift.orphanSessions.length;
505
- const health = state.issueError || state.sessionError || refreshStale || staleCount > 0 ? "degraded" : "healthy";
512
+ const health = state.issueError || state.sessionError || state.activityError || refreshStale || staleCount > 0
513
+ ? "degraded"
514
+ : "healthy";
506
515
  const refreshAge = formatRefreshAge(state.lastUpdatedMs);
507
516
  const paused = state.spawnPaused ? "yes" : "no";
508
517
  const refreshSeconds = Math.round(state.refreshIntervalMs / 1_000);
@@ -559,7 +568,7 @@ function renderSubagentsUi(ctx, state) {
559
568
  const refreshStale = isRefreshStale(state.lastUpdatedMs, state.staleAfterMs);
560
569
  const drift = computeQueueDrift(state.sessions, state.activeIssues);
561
570
  const staleCount = drift.activeWithoutSessionIds.length + drift.orphanSessions.length;
562
- const hasError = Boolean(state.sessionError || state.issueError || refreshStale || staleCount > 0);
571
+ const hasError = Boolean(state.sessionError || state.issueError || state.activityError || refreshStale || staleCount > 0);
563
572
  const healthColor = hasError ? "warning" : "success";
564
573
  const healthLabel = hasError ? "degraded" : "healthy";
565
574
  const queueTotal = state.readyIssues.length + state.activeIssues.length;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@femtomc/mu-agent",
3
- "version": "26.2.92",
3
+ "version": "26.2.93",
4
4
  "description": "Shared operator runtime for mu assistant sessions and serve extensions.",
5
5
  "keywords": [
6
6
  "mu",
@@ -24,7 +24,7 @@
24
24
  "themes/**"
25
25
  ],
26
26
  "dependencies": {
27
- "@femtomc/mu-core": "26.2.92",
27
+ "@femtomc/mu-core": "26.2.93",
28
28
  "@mariozechner/pi-agent-core": "^0.53.0",
29
29
  "@mariozechner/pi-ai": "^0.53.0",
30
30
  "@mariozechner/pi-coding-agent": "^0.53.0",