@dosu/cli 0.66.0 → 0.66.1

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/bin/dosu.js +40 -9
  2. package/package.json +1 -1
package/bin/dosu.js CHANGED
@@ -1083,7 +1083,7 @@ function isNpxInvocation(channel = INSTALL_CHANNEL, env = process.env) {
1083
1083
  function getVersionString() {
1084
1084
  return `v${VERSION}`;
1085
1085
  }
1086
- var VERSION = "0.66.0", INSTALL_CHANNEL = "npm";
1086
+ var VERSION = "0.66.1", INSTALL_CHANNEL = "npm";
1087
1087
 
1088
1088
  // src/debug/logger.ts
1089
1089
  import {
@@ -14289,7 +14289,7 @@ var init_conflicts = __esm(() => {
14289
14289
  });
14290
14290
 
14291
14291
  // src/telemetry/debug-id.ts
14292
- var BUNDLE_DEBUG_ID_PLACEHOLDER = "8627229c-9519-9318-6475-6e2164756e21";
14292
+ var BUNDLE_DEBUG_ID_PLACEHOLDER = "0891ed1f-f060-16b6-6475-6e2164756e21";
14293
14293
 
14294
14294
  // src/telemetry/telemetry.ts
14295
14295
  import { randomUUID as randomUUID2 } from "node:crypto";
@@ -66905,7 +66905,30 @@ function paintLogoRow(row) {
66905
66905
  return hasTruecolor() ? `${fg}${art}\x1B[39m` : fallback(art);
66906
66906
  }).join("");
66907
66907
  }
66908
- function checklistRows(ctx) {
66908
+ function wrapValue(text, room) {
66909
+ const lines = [];
66910
+ let current = "";
66911
+ const append = (piece, sep) => {
66912
+ if (current === "")
66913
+ current = piece;
66914
+ else if (visibleWidth2(current) + sep.length + visibleWidth2(piece) <= room) {
66915
+ current += sep + piece;
66916
+ } else {
66917
+ lines.push(current);
66918
+ current = piece;
66919
+ }
66920
+ };
66921
+ for (const item of text.split(LIST_SEP)) {
66922
+ const pieces = visibleWidth2(item) <= room ? [item] : item.split(" ");
66923
+ pieces.forEach((piece, i) => {
66924
+ append(piece, i === 0 ? LIST_SEP : " ");
66925
+ });
66926
+ }
66927
+ if (current !== "")
66928
+ lines.push(current);
66929
+ return lines.length > 0 ? lines : [text];
66930
+ }
66931
+ function checklistRows(ctx, width) {
66909
66932
  const on = brand(CHECK2);
66910
66933
  const off = import_picocolors40.default.dim(CIRCLE);
66911
66934
  const rows = [["workspace", ctx.directory]];
@@ -66932,7 +66955,7 @@ function checklistRows(ctx) {
66932
66955
  if (missing.has("agents"))
66933
66956
  rows.push(["agents", warnRow]);
66934
66957
  else if (ctx.agents.length > 0)
66935
- rows.push(["agents", `${on} ${ctx.agents.join(` ${DOT3} `)}`]);
66958
+ rows.push(["agents", `${on} ${ctx.agents.join(LIST_SEP)}`]);
66936
66959
  if (missing.has("hooks"))
66937
66960
  rows.push(["hooks", warnRow]);
66938
66961
  if (ctx.studying) {
@@ -66948,12 +66971,18 @@ function checklistRows(ctx) {
66948
66971
  ]);
66949
66972
  }
66950
66973
  const labelWidth = Math.max(...rows.map(([label]) => label.length));
66951
- return rows.map(([label, value]) => `${import_picocolors40.default.dim(label.padEnd(labelWidth))} ${value}`);
66974
+ const valueColumn = LOGO_WIDTH + COLUMN_GAP.length + labelWidth + LABEL_GAP.length;
66975
+ const room = Math.max(1, width - valueColumn);
66976
+ const indent = " ".repeat(labelWidth + LABEL_GAP.length);
66977
+ return rows.flatMap(([label, value]) => wrapValue(value, room).map((line, i) => i === 0 ? `${import_picocolors40.default.dim(label.padEnd(labelWidth))}${LABEL_GAP}${line}` : `${indent}${line}`));
66952
66978
  }
66953
- function renderBanner(ctx) {
66979
+ function bannerWidth(columns = process.stdout.columns ?? 80) {
66980
+ return columns - layoutMargin(columns) - 1;
66981
+ }
66982
+ function renderBanner(ctx, width = bannerWidth()) {
66954
66983
  const logo = LOGO_ROWS.map(paintLogoRow);
66955
66984
  const text = [
66956
- ...checklistRows(ctx),
66985
+ ...checklistRows(ctx, width),
66957
66986
  "",
66958
66987
  `${brandBadge("dosu-cli")} ${import_picocolors40.default.dim(`${ctx.version} ${DOT3} ${ctx.webAppHost}`)}`
66959
66988
  ];
@@ -66968,9 +66997,10 @@ function renderBanner(ctx) {
66968
66997
  return ["", ...combined, ""].join(`
66969
66998
  `);
66970
66999
  }
66971
- var import_picocolors40, CHECK2 = "✔", CIRCLE = "○", DOT3 = "·", LOGO_ROWS, LOGO_MARK, LOGO_WIDTH, LOGO_TONES, COLUMN_GAP = " ";
67000
+ var import_picocolors40, CHECK2 = "✔", CIRCLE = "○", DOT3 = "·", LOGO_ROWS, LOGO_MARK, LOGO_WIDTH, LOGO_TONES, COLUMN_GAP = " ", LABEL_GAP = " ", LIST_SEP;
66972
67001
  var init_banner = __esm(() => {
66973
67002
  init_styles();
67003
+ init_layout();
66974
67004
  import_picocolors40 = __toESM(require_picocolors(), 1);
66975
67005
  LOGO_ROWS = [
66976
67006
  [["sage", "▄▄▄▄▄▄"]],
@@ -66985,6 +67015,7 @@ var init_banner = __esm(() => {
66985
67015
  sage: { fg: "\x1B[38;2;180;187;145m", fallback: import_picocolors40.default.green },
66986
67016
  moss: { fg: "\x1B[38;2;119;133;97m", fallback: (art) => import_picocolors40.default.dim(import_picocolors40.default.green(art)) }
66987
67017
  };
67018
+ LIST_SEP = ` ${DOT3} `;
66988
67019
  });
66989
67020
 
66990
67021
  // src/tui/pages-view.ts
@@ -68881,4 +68912,4 @@ main().catch((err) => {
68881
68912
  process.exit(1);
68882
68913
  });
68883
68914
 
68884
- //# debugId=8627229c-9519-9318-6475-6e2164756e21
68915
+ //# debugId=0891ed1f-f060-16b6-6475-6e2164756e21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dosu/cli",
3
- "version": "0.66.0",
3
+ "version": "0.66.1",
4
4
  "type": "module",
5
5
  "description": "Dosu CLI - Set up Dosu MCP for AI tools and work with Dosu Libraries, docs, and reviews",
6
6
  "license": "MIT",