@great-arrow/cli 0.1.41 → 0.1.43

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.
Files changed (2) hide show
  1. package/dist/index.js +52 -2
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -9399,7 +9399,7 @@ function isNodeError(value) {
9399
9399
 
9400
9400
  // src/lib/version.ts
9401
9401
  var CLI_PACKAGE_NAME = "@great-arrow/cli";
9402
- var CLI_VERSION = "0.1.41";
9402
+ var CLI_VERSION = "0.1.43";
9403
9403
  var GAD_INSTALL_VERSION = "2026.08.08";
9404
9404
  var GAD_INSTALL_MIN_VERSION = "2026.06.22";
9405
9405
  var GAD_INSTALL_HEADER = "X-GAD-Install-Version";
@@ -16687,10 +16687,52 @@ function normalizeGlance(raw) {
16687
16687
  const sp = raw2;
16688
16688
  return typeof sp.line === "string" && sp.line !== "" && typeof sp.totalCostUsd === "number" && Number.isFinite(sp.totalCostUsd) ? { line: sp.line, totalCostUsd: sp.totalCostUsd } : null;
16689
16689
  })(),
16690
+ healthTriage: (() => {
16691
+ const raw2 = obj.healthTriage;
16692
+ if (typeof raw2 !== "object" || raw2 === null) return null;
16693
+ const h = raw2;
16694
+ return typeof h.summaryLine === "string" && h.summaryLine !== "" ? {
16695
+ summaryLine: h.summaryLine,
16696
+ incomplete: h.incomplete === true,
16697
+ goalUrl: typeof h.goalUrl === "string" ? h.goalUrl : null
16698
+ } : null;
16699
+ })(),
16700
+ ...Array.isArray(obj.sections) ? { sections: normalizeTodaySections(obj.sections) } : {},
16701
+ ...Array.isArray(obj.degradedSections) ? {
16702
+ degradedSections: obj.degradedSections.filter(
16703
+ (k) => typeof k === "string"
16704
+ )
16705
+ } : {},
16690
16706
  urgency: typeof obj.urgency === "number" ? obj.urgency : null,
16691
16707
  generatedAt: typeof obj.generatedAt === "string" ? obj.generatedAt : (/* @__PURE__ */ new Date()).toISOString()
16692
16708
  };
16693
16709
  }
16710
+ function asNullableString(value) {
16711
+ return typeof value === "string" && value !== "" ? value : null;
16712
+ }
16713
+ function normalizeTodaySections(raw) {
16714
+ return raw.flatMap((section) => {
16715
+ if (typeof section !== "object" || section === null) return [];
16716
+ const s = section;
16717
+ if (typeof s.key !== "string" || typeof s.title !== "string") return [];
16718
+ const rows = asArray2(s.rows).flatMap((row) => {
16719
+ if (typeof row !== "object" || row === null) return [];
16720
+ const r = row;
16721
+ if (typeof r.id !== "string" || typeof r.title !== "string") return [];
16722
+ return [
16723
+ {
16724
+ id: r.id,
16725
+ title: r.title,
16726
+ meta: asNullableString(r.meta),
16727
+ href: asNullableString(r.href),
16728
+ tone: typeof r.tone === "string" ? r.tone : "normal",
16729
+ at: asNullableString(r.at)
16730
+ }
16731
+ ];
16732
+ });
16733
+ return rows.length > 0 ? [{ key: s.key, title: s.title, rows }] : [];
16734
+ });
16735
+ }
16694
16736
  function asArray2(value) {
16695
16737
  return Array.isArray(value) ? value : [];
16696
16738
  }
@@ -18081,7 +18123,7 @@ function renderStatus2(payload, plain, apiUrl) {
18081
18123
  lines.push(c.badge(` ${payload.workspace} `));
18082
18124
  lines.push("");
18083
18125
  }
18084
- const hasAny = payload.needsYou.length > 0 || payload.topGoal !== null || payload.integrations.length > 0 || payload.agents.length > 0 || payload.warRoom !== null && payload.warRoom.priorityCount > 0;
18126
+ const hasAny = payload.needsYou.length > 0 || payload.topGoal !== null || payload.integrations.length > 0 || payload.agents.length > 0 || Boolean(payload.healthTriage) || payload.warRoom !== null && payload.warRoom.priorityCount > 0;
18085
18127
  if (!hasAny) {
18086
18128
  lines.push(
18087
18129
  `${c.green("\u2713")} You're all clear \u2014 nothing needs you right now.`
@@ -18131,6 +18173,14 @@ function renderStatus2(payload, plain, apiUrl) {
18131
18173
  lines.push(` ${c.dim("\u2192")} ${c.cyan("gad todo list")}`);
18132
18174
  lines.push("");
18133
18175
  }
18176
+ if (payload.healthTriage) {
18177
+ const h = payload.healthTriage;
18178
+ lines.push(c.bold("Platform health"));
18179
+ lines.push(` ${h.incomplete ? `${c.yellow("!")} ` : ""}${h.summaryLine}`);
18180
+ const url = glanceItemUrl(h.goalUrl, apiUrl);
18181
+ if (url) lines.push(` ${c.dim("\u2192")} ${link("Open the Goal", url)}`);
18182
+ lines.push("");
18183
+ }
18134
18184
  if (payload.integrations.length > 0) {
18135
18185
  lines.push(c.bold("Stale integrations"));
18136
18186
  for (const integration of payload.integrations) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@great-arrow/cli",
3
- "version": "0.1.41",
3
+ "version": "0.1.43",
4
4
  "description": "GreatArrow.ai CLI tool",
5
5
  "type": "module",
6
6
  "bin": {
@@ -17,7 +17,7 @@
17
17
  "typecheck": "tsc --noEmit"
18
18
  },
19
19
  "dependencies": {
20
- "@napi-rs/keyring": "2.0.0",
20
+ "@napi-rs/keyring": "2.1.0",
21
21
  "commander": "^15.0.0",
22
22
  "update-notifier": "^7.3.1",
23
23
  "nanoid": "^3.3.18"