@metaphi-ai/hum 0.2.53 → 0.2.55

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/cli.mjs +43 -8
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -89511,7 +89511,7 @@ var init_install = __esm({
89511
89511
  "src/install.js"() {
89512
89512
  init_define_HUM_CORE_SUBS();
89513
89513
  win = process.platform === "win32";
89514
- MINE = true ? "0.2.53" : "";
89514
+ MINE = true ? "0.2.55" : "";
89515
89515
  npmFix = (version = "") => `npm i -g @metaphi-ai/hum@${version || "latest"} --foreground-scripts`;
89516
89516
  NPM_FIX = npmFix("latest");
89517
89517
  humHome = (env3 = process.env) => env3.HUM_HOME || path.join(os3.homedir(), ".hum");
@@ -89866,10 +89866,10 @@ function clientEnv() {
89866
89866
  platform: process.platform,
89867
89867
  arch: process.arch,
89868
89868
  terminal: process.env.TERM_PROGRAM || (process.env.WT_SESSION ? "Windows Terminal" : process.env.TERM || ""),
89869
- tui: true ? "0.2.53" : ""
89869
+ tui: true ? "0.2.55" : ""
89870
89870
  };
89871
89871
  }
89872
- function startFailure(failures, { npm = /^(node|bun)(\.exe)?$/i.test(String(process.execPath).split(/[\\/]/).pop()), platform: platform2 = process.platform, version = true ? "0.2.53" : "" } = {}) {
89872
+ function startFailure(failures, { npm = /^(node|bun)(\.exe)?$/i.test(String(process.execPath).split(/[\\/]/).pop()), platform: platform2 = process.platform, version = true ? "0.2.55" : "" } = {}) {
89873
89873
  const refused = failures.find((f) => f.error && f.error.code !== "ENOENT");
89874
89874
  const fix = npm ? npmFix(version) : updateCommand({ kind: "native" }, platform2);
89875
89875
  if (!refused) {
@@ -91384,7 +91384,7 @@ var after = (ms, fn) => {
91384
91384
 
91385
91385
  // src/app.jsx
91386
91386
  var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
91387
- var MINE2 = true ? "0.2.53" : "";
91387
+ var MINE2 = true ? "0.2.55" : "";
91388
91388
  var fmtDur = (s) => s < 60 ? `${Math.max(1, Math.round(s))}s` : `${Math.floor(s / 60)}m ${Math.round(s % 60)}s`;
91389
91389
  var plural = (n, w) => `${n} ${w}${n === 1 ? "" : "s"}`;
91390
91390
  var shortSession = (name) => (name || "").replace(/\.jsonl$/, "");
@@ -91574,6 +91574,37 @@ function ToolList({ about, tools, indent = 4 }) {
91574
91574
  ] }) }, t.name);
91575
91575
  }) });
91576
91576
  }
91577
+ var serverAbout = (s) => {
91578
+ const info = s.server || {};
91579
+ const version = info.version ? /^v\d/.test(info.version) ? info.version : `v${info.version}` : "";
91580
+ return {
91581
+ title: info.title || s.name,
91582
+ name: info.title && info.title !== s.name ? s.name : "",
91583
+ version,
91584
+ website: info.website || "",
91585
+ subtitle: info.description || ""
91586
+ };
91587
+ };
91588
+ function ServerDetail({ s }) {
91589
+ const { stdout } = use_stdout_default();
91590
+ const cols = Math.max(40, stdout && stdout.columns || 100);
91591
+ const a = serverAbout(s);
91592
+ const meta = [a.name, a.version, a.website].filter(Boolean).join(" \xB7 ");
91593
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box2, { flexDirection: "column", children: [
91594
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box2, { flexDirection: "column", paddingLeft: 1, width: cols, children: [
91595
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text2, { wrap: "truncate-end", children: [
91596
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text2, { bold: true, color: ACCENT, children: a.title }),
91597
+ meta ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text2, { dimColor: true, children: ` \xB7 ${meta}` }) : null
91598
+ ] }),
91599
+ a.subtitle ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text2, { wrap: "wrap", children: a.subtitle }) : null,
91600
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text2, { wrap: "truncate-end", children: [
91601
+ serverMark(s),
91602
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text2, { dimColor: true, children: `${serverLine(s)} \xB7 ${s.at}` })
91603
+ ] })
91604
+ ] }),
91605
+ s.about?.length || s.tools?.length ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Box2, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ToolList, { about: s.about, tools: s.tools, indent: 3 }) }) : null
91606
+ ] });
91607
+ }
91577
91608
  var serverLine = (s) => s.state === "connected" ? `connected \xB7 ${s.tools.length} tool${s.tools.length === 1 ? "" : "s"}${s.signed_in ? " \xB7 signed in" : ""}` : s.state;
91578
91609
  var serverActions = (s) => [
91579
91610
  { do: "tools", label: "show tools" },
@@ -92372,6 +92403,7 @@ ${r.content}`).join("\n\n") };
92372
92403
  append({ kind: "warn", text: `no server named ${want} here` });
92373
92404
  break;
92374
92405
  }
92406
+ if (want) append({ kind: "server", server: servers[at] });
92375
92407
  setPicker({ kind: "mcp", servers, index: at, step: want ? "action" : "server", action: 0 });
92376
92408
  break;
92377
92409
  }
@@ -92811,8 +92843,10 @@ ${r.content}`).join("\n\n") };
92811
92843
  if (key.upArrow) move("index", picker.servers.length, -1);
92812
92844
  else if (key.downArrow || key.tab) move("index", picker.servers.length, 1);
92813
92845
  else if (key.escape) setPicker(null);
92814
- else if (key.return) setPicker((p) => ({ ...p, step: "action", action: 0 }));
92815
- else if (/^[1-9]$/.test(input) && Number(input) <= picker.servers.length) setPicker((p) => ({ ...p, index: Number(input) - 1 }));
92846
+ else if (key.return) {
92847
+ append({ kind: "server", server: s });
92848
+ setPicker((p) => ({ ...p, step: "action", action: 0 }));
92849
+ } else if (/^[1-9]$/.test(input) && Number(input) <= picker.servers.length) setPicker((p) => ({ ...p, index: Number(input) - 1 }));
92816
92850
  return;
92817
92851
  }
92818
92852
  if (key.upArrow) move("action", acts.length, -1);
@@ -93421,6 +93455,7 @@ ${r.content}`).join("\n\n") };
93421
93455
  ] }, src);
93422
93456
  })
93423
93457
  ] }),
93458
+ item.kind === "server" && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ServerDetail, { s: item.server }),
93424
93459
  item.kind === "tools" && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box2, { flexDirection: "column", children: [
93425
93460
  item.own && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box2, { flexDirection: "column", children: [
93426
93461
  /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text2, { children: [
@@ -93589,7 +93624,7 @@ ${r.content}`).join("\n\n") };
93589
93624
  if (picker.step === "action") {
93590
93625
  const acts = serverActions(s);
93591
93626
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Box2, { flexDirection: "column", paddingX: 1, marginTop: 1, children: [
93592
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text2, { color: ACCENT, bold: true, children: [
93627
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text2, { color: ACCENT, bold: true, wrap: "truncate-end", children: [
93593
93628
  s.name,
93594
93629
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text2, { dimColor: true, children: ` \xB7 ${serverLine(s)} \xB7 ${s.at}` })
93595
93630
  ] }),
@@ -93999,7 +94034,7 @@ async function sendPending({
93999
94034
  await init_theme();
94000
94035
  var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
94001
94036
  import { spawnSync as spawnSync6 } from "node:child_process";
94002
- var MINE3 = true ? "0.2.53" : "0.0.0";
94037
+ var MINE3 = true ? "0.2.55" : "0.0.0";
94003
94038
  var layout = installLayout();
94004
94039
  function completeInstall() {
94005
94040
  if (layout.kind !== "npm" || !needsInstall(MINE3)) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaphi-ai/hum",
3
- "version": "0.2.53",
3
+ "version": "0.2.55",
4
4
  "description": "Hum: a self-improving coding agent for your terminal.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",