@skein-code/cli 0.3.3 → 0.3.4

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/dist/cli.js CHANGED
@@ -220,7 +220,7 @@ function isSqliteBusy(error) {
220
220
  // package.json
221
221
  var package_default = {
222
222
  name: "@skein-code/cli",
223
- version: "0.3.3",
223
+ version: "0.3.4",
224
224
  description: "A context-first, model-agnostic coding agent with an auditable terminal workspace.",
225
225
  type: "module",
226
226
  license: "MIT",
@@ -236,8 +236,8 @@ var package_default = {
236
236
  },
237
237
  skein: {
238
238
  releaseNotes: [
239
- 'Quieter turns: greetings like "hi" no longer dump a context panel',
240
- "Redesigned entry banner into a bordered hero card with aligned metadata"
239
+ 'New woven-coil "S" logo replaces the plain wordmark in the entry banner',
240
+ "Entry banner pairs the logo with the wordmark and an aligned session spec sheet"
241
241
  ]
242
242
  },
243
243
  bin: {
@@ -12683,7 +12683,7 @@ function ThemePreview({ name, width, glyphs }) {
12683
12683
  function Banner({ model, engine, workspace, version, width, glyphs }) {
12684
12684
  const theme = useTheme();
12685
12685
  const rowWidth = safeWidth(width);
12686
- const wordmark = `${glyphs.brand} ${PRODUCT_NAME.toUpperCase().split("").join(" ")}`;
12686
+ const wordmark = PRODUCT_NAME.toLowerCase();
12687
12687
  const innerWidth = Math.max(1, rowWidth - 4);
12688
12688
  const tagline = `v${version} ${glyphs.separator} a terminal coding agent you can see through`;
12689
12689
  const metaRows = [
@@ -12693,6 +12693,21 @@ function Banner({ model, engine, workspace, version, width, glyphs }) {
12693
12693
  ];
12694
12694
  const labelCol = 8;
12695
12695
  const hint = `type a request ${glyphs.separator} /help for commands ${glyphs.separator} @ to attach files`;
12696
+ const useAscii = glyphs.borderStyle === "classic";
12697
+ const fill = useAscii ? "##" : "\u2588\u2588";
12698
+ const gap = " ";
12699
+ const logoPixels = [
12700
+ [0, 1, 1, 1, 1],
12701
+ [1, 0, 0, 0, 0],
12702
+ [0, 1, 1, 1, 0],
12703
+ [0, 0, 0, 0, 1],
12704
+ [1, 1, 1, 1, 0]
12705
+ ];
12706
+ const logoRows = logoPixels.map((cells) => cells.map((on) => on ? fill : gap).join(""));
12707
+ const logoWidth = 10;
12708
+ const logoGutter = 2;
12709
+ const showLogo = innerWidth >= logoWidth + logoGutter + 12;
12710
+ const headWidth = showLogo ? Math.max(1, innerWidth - logoWidth - logoGutter) : innerWidth;
12696
12711
  return /* @__PURE__ */ jsxs(
12697
12712
  Box,
12698
12713
  {
@@ -12703,9 +12718,18 @@ function Banner({ model, engine, workspace, version, width, glyphs }) {
12703
12718
  borderColor: theme.border,
12704
12719
  paddingX: 1,
12705
12720
  children: [
12706
- /* @__PURE__ */ jsx(Text, { bold: true, color: theme.accent, children: truncateDisplay(wordmark, innerWidth) }),
12707
- /* @__PURE__ */ jsx(Text, { color: theme.muted, children: truncateDisplay(tagline, innerWidth) }),
12708
- /* @__PURE__ */ jsx(Box, { marginTop: 1, flexDirection: "column", children: metaRows.map((row) => /* @__PURE__ */ jsxs(Box, { children: [
12721
+ /* @__PURE__ */ jsxs(Box, { flexDirection: "row", children: [
12722
+ showLogo ? /* @__PURE__ */ jsx(Box, { flexDirection: "column", marginRight: logoGutter, children: logoRows.map((line, index) => /* @__PURE__ */ jsx(Text, { color: theme.accent, children: line }, index)) }) : null,
12723
+ /* @__PURE__ */ jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [
12724
+ /* @__PURE__ */ jsx(Text, { bold: true, color: theme.accent, children: truncateDisplay(wordmark, headWidth) }),
12725
+ /* @__PURE__ */ jsx(Text, { color: theme.muted, children: truncateDisplay(tagline, headWidth) }),
12726
+ showLogo ? /* @__PURE__ */ jsx(Box, { marginTop: 1, flexDirection: "column", children: metaRows.map((row) => /* @__PURE__ */ jsxs(Box, { children: [
12727
+ /* @__PURE__ */ jsx(Text, { color: theme.dim, children: padDisplay(row.label, labelCol) }),
12728
+ /* @__PURE__ */ jsx(Text, { color: theme.text, children: truncateDisplay(row.value, Math.max(1, headWidth - labelCol)) })
12729
+ ] }, row.label)) }) : null
12730
+ ] })
12731
+ ] }),
12732
+ showLogo ? null : /* @__PURE__ */ jsx(Box, { marginTop: 1, flexDirection: "column", children: metaRows.map((row) => /* @__PURE__ */ jsxs(Box, { children: [
12709
12733
  /* @__PURE__ */ jsx(Text, { color: theme.dim, children: padDisplay(row.label, labelCol) }),
12710
12734
  /* @__PURE__ */ jsx(Text, { color: theme.text, children: truncateDisplay(row.value, Math.max(1, innerWidth - labelCol)) })
12711
12735
  ] }, row.label)) }),