agentful 0.4.0 → 0.4.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/dist/index.cjs +24 -31
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -3044,7 +3044,7 @@ var VERSION, brand, useColor, wrap, paint, tuiDesign, sym, ui;
3044
3044
  var init_branding = __esm({
3045
3045
  "src/branding.ts"() {
3046
3046
  "use strict";
3047
- VERSION = "0.4.0" ? "0.4.0" : null.version;
3047
+ VERSION = "0.4.1" ? "0.4.1" : null.version;
3048
3048
  brand = {
3049
3049
  name: "agentful",
3050
3050
  // the command users type
@@ -3549,26 +3549,11 @@ const plugin = {
3549
3549
  const t = () => api.theme.current
3550
3550
 
3551
3551
  // \u2500\u2500 band pieces \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
3552
- // The engine closes its prompt with a heavy line (an upper-half block, not
3553
- // a box-drawing rune), so the band's own top line has to match it or the
3554
- // two read as unrelated. Sidebar dividers stay thin: they repeat four
3555
- // times and must not compete with the input.
3556
- const HEAVY = {
3557
- topLeft: '\u2580', topRight: '\u2580', bottomLeft: '\u2580', bottomRight: '\u2580',
3558
- horizontal: '\u2580', vertical: '\u2580',
3559
- topT: '\u2580', bottomT: '\u2580', leftT: '\u2580', rightT: '\u2580', cross: '\u2580',
3560
- }
3561
-
3562
- function Rule(props) {
3563
- return (
3564
- <box
3565
- height={1}
3566
- flexShrink={0}
3567
- border={['top']}
3568
- borderColor={props.heavy ? t().border : t().borderSubtle}
3569
- customBorderChars={props.heavy ? HEAVY : undefined}
3570
- />
3571
- )
3552
+ // Sidebar dividers only. The prompt has no rule of its own: the engine
3553
+ // already draws one under it, and a second line above it made the input
3554
+ // look boxed in.
3555
+ function Rule() {
3556
+ return <box height={1} flexShrink={0} border={['top']} borderColor={t().borderSubtle} />
3572
3557
  }
3573
3558
 
3574
3559
  function Row(props) {
@@ -3698,22 +3683,30 @@ const plugin = {
3698
3683
  }
3699
3684
 
3700
3685
  /**
3701
- * The band: our hairline on top, the marker in the gutter, and the
3702
- * engine's own input between them. The rule sits INSIDE the right column
3703
- * so it starts exactly where the engine draws its own rule under the
3704
- * input \u2014 the two lines of the band must share a left edge. The marker is
3705
- * pushed down by two rows for the same reason: one for the rule, one for
3706
- * the padding the engine's prompt adds above its first line.
3686
+ * Marker plus the engine's own input, with the engine's chrome taken off.
3687
+ *
3688
+ * The engine wraps its input in a box with border ["left"] \u2014 the
3689
+ * agent-coloured rail. There is no prop, config key or theme token that
3690
+ * hides it (checked against v1.18.18 and against main), so we clip it
3691
+ * instead: the wrapper hides its overflow and the prompt hangs one column
3692
+ * to the left, which puts the rail outside the visible area. Everything
3693
+ * else keeps working because it is only a shift.
3694
+ *
3695
+ * \u26A0\uFE0F One column is the limit. The status line under the input (our hint
3696
+ * on the left) sits OUTSIDE that padded box and carries a margin of just
3697
+ * 1, so a wider clip eats the start of the working directory \u2014
3698
+ * "/Users/\u2026" came out as "sers/\u2026" at -3. The two columns left between
3699
+ * the marker and the text are the engine's own padding; taking those
3700
+ * would cost the status line.
3707
3701
  */
3708
3702
  function Band(props) {
3709
3703
  return (
3710
3704
  <box flexDirection="row" width="100%">
3711
- <box flexShrink={0} paddingTop={2} paddingRight={1}>
3705
+ <box flexShrink={0} paddingTop={1}>
3712
3706
  <text fg={t().primary}>{MARK}</text>
3713
3707
  </box>
3714
- <box flexGrow={1} flexDirection="column">
3715
- <Rule heavy />
3716
- {props.children}
3708
+ <box flexGrow={1} overflow="hidden">
3709
+ <box marginLeft={-1} width="100%">{props.children}</box>
3717
3710
  </box>
3718
3711
  </box>
3719
3712
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentful",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Agentful in your terminal — local development with push-to-cloud previews",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://agentful.dev",