@xenosystem/agent-interface-ui 0.1.69 β 0.1.71
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/agent.css +59 -17
- package/package.json +7 -8
package/dist/agent.css
CHANGED
|
@@ -7667,7 +7667,20 @@ a.xeno-source-card:focus-visible {
|
|
|
7667
7667
|
ticker to its glyph and the words vanished (2026-09-18); settled, beside a sources control, the line
|
|
7668
7668
|
hugs its reading so the divider sits right after "1 step" */
|
|
7669
7669
|
.xa-linerow > .xa-line { flex: 1 1 auto; min-width: 0; }
|
|
7670
|
-
.xa-linerow > .xa-line.xa-with-sources { flex:
|
|
7670
|
+
.xa-linerow > .xa-line.xa-with-sources { flex: 0 1 auto; }
|
|
7671
|
+
/* π΄ a DOCKED step beside the sources: `Worked for 4s | Searched the web Β· xeno hub | 1 source`.
|
|
7672
|
+
Its ticker is `flex: 1 1 0` β a zero basis β so inside a line that hugs its content it measured
|
|
7673
|
+
19px and showed the GLYPH ALONE, the 0.1.48 defect again for the one shape it missed (measured
|
|
7674
|
+
2026-09-24: the most common web-search receipt read `Worked for 4s | β» | 1 source`). Sized to its
|
|
7675
|
+
words here, and shrinkable, so a long query still fades at the edge instead of pushing the sources off. */
|
|
7676
|
+
.xa-linerow > .xa-line.xa-with-sources .xa-cur { flex: 0 1 auto; }
|
|
7677
|
+
/* β¦and the words must be IN FLOW to be sized to at all: a live ticker's words are absolutely
|
|
7678
|
+
positioned (so one step can slide over the last), which gives its box no width but the glyph's.
|
|
7679
|
+
Settled there is nothing left to slide over, so the words take their place in the line β the
|
|
7680
|
+
thought-only line does the same β and the box, not a fixed basis, is what shrinks. */
|
|
7681
|
+
.xa-linerow > .xa-line.xa-with-sources .xa-cur .xa-tx { flex: 0 1 auto; }
|
|
7682
|
+
.xa-linerow > .xa-line.xa-with-sources .xa-cur .xa-t:not(.xa-out) { position: static; display: block; overflow: hidden; }
|
|
7683
|
+
.xa-linerow > .xa-line.xa-with-sources .xa-cur .xa-t.xa-out { display: none; }
|
|
7671
7684
|
.xa-linerow > .xa-vr-src { display: block; flex: none; width: 1px; height: 10px; background: rgba(var(--xa-ink), 0.12); animation: xa-rise 280ms var(--xa-ease) both; animation-delay: 160ms; }
|
|
7672
7685
|
.xa-srcline { display: flex; align-items: center; gap: 8px; height: 22px; cursor: pointer; font-size: 11px; color: var(--xa-t4); animation: xa-rise 280ms var(--xa-ease) both; animation-delay: 160ms; }
|
|
7673
7686
|
.xa-srcline:hover { color: var(--xa-t2); }
|
|
@@ -7712,7 +7725,15 @@ a.xeno-source-card:focus-visible {
|
|
|
7712
7725
|
/* collapsed steps: while it works the rail stays folded and the clock line carries the current step β
|
|
7713
7726
|
"Working for 4s | Clicked Message @Lil Bro" β the text fading out on the right when it is long */
|
|
7714
7727
|
.xa-line .xa-vr { display: none; flex: none; width: 1px; height: 10px; background: rgba(var(--xa-ink), 0.12); }
|
|
7715
|
-
.xa-line .xa-cur { display: none; align-items: center; gap: 7px; flex: 1 1 0; min-width: 0; height: 16px; overflow: hidden; font-size: 11.5px; line-height: 16px; color: var(--xa-t4);
|
|
7728
|
+
.xa-line .xa-cur { display: none; align-items: center; gap: 7px; flex: 1 1 0; min-width: 0; height: 16px; overflow: hidden; font-size: 11.5px; line-height: 16px; color: var(--xa-t4); }
|
|
7729
|
+
/* the fade is for words that are CUT OFF, and only those: masking every ticker faded the last 44px of a
|
|
7730
|
+
short line whole β `Searched the web Β· xeno hub` lost its object (the Ticker sets `xa-long` by
|
|
7731
|
+
measuring whether its words overflow) */
|
|
7732
|
+
.xa-line .xa-cur.xa-long { mask-image: linear-gradient(to right, #000 calc(100% - 44px), transparent 100%); -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 44px), transparent 100%); }
|
|
7733
|
+
/* a glyph leaving for a bare word closes its slot as it goes β width and the gap after it β instead of
|
|
7734
|
+
dropping 19px out from under the words in one frame when the old glyph is removed */
|
|
7735
|
+
.xa-line .xa-cur .xa-slot { transition: width 200ms var(--xa-ease), margin-right 200ms var(--xa-ease); }
|
|
7736
|
+
.xa-line .xa-cur .xa-slot.xa-slotout { width: 0; margin-right: -7px; }
|
|
7716
7737
|
.xa-line .xa-cur .xa-mono { font-size: 11px; }
|
|
7717
7738
|
/* the first step slides out from behind the clock β glyph, then its words; every later step replaces the
|
|
7718
7739
|
pair: the glyph rises from below as the old one leaves upward, the words come out from behind the glyph */
|
|
@@ -7781,8 +7802,12 @@ a.xeno-source-card:focus-visible {
|
|
|
7781
7802
|
align-items: center;
|
|
7782
7803
|
}
|
|
7783
7804
|
/* settled: the square is display:none, but an empty first track still takes column-gap.
|
|
7784
|
-
Drop the `dot` column so Worked for sits on the left with no indent. Hang stays on Thought.
|
|
7785
|
-
|
|
7805
|
+
Drop the `dot` column so Worked for sits on the left with no indent. Hang stays on Thought.
|
|
7806
|
+
π΄ Keyed on `xa-squared` β the square GONE β never on `:not(.xa-live)`. The turn stops being live
|
|
7807
|
+
~500ms before the square leaves, and in that window this rule left a displayed square with no
|
|
7808
|
+
track: it fell into an implicit row, the line grew 22 -> 28px, and the square blinked out at the
|
|
7809
|
+
far right (measured 2026-09-24). */
|
|
7810
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thought.xa-squared {
|
|
7786
7811
|
grid-template-columns: auto auto auto auto 1fr;
|
|
7787
7812
|
grid-template-areas:
|
|
7788
7813
|
"read vr cur chev shots"
|
|
@@ -7799,21 +7824,25 @@ a.xeno-source-card:focus-visible {
|
|
|
7799
7824
|
child in its OWN track, which is what produced the second row. The header floats, the trace is
|
|
7800
7825
|
ordinary flow text, and the browser shortens the first line by the float's width for free.
|
|
7801
7826
|
The line stops being a grid here, so the `grid-area` assignments below no longer apply to it. */
|
|
7802
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7827
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared {
|
|
7803
7828
|
display: block;
|
|
7829
|
+
/* the 16px text line CENTRED in the 22px clock row, where the grid had it. A block puts its first
|
|
7830
|
+
line at the top, so without this the thought rose 3px at the fold β the vertical move the eye
|
|
7831
|
+
catches (measured 2026-09-24: y 29 -> 26). The padding is the centring; min-height keeps 22. */
|
|
7832
|
+
padding: 3px 0;
|
|
7804
7833
|
}
|
|
7805
7834
|
/* π΄ The float's HEIGHT decides how many lines are shortened. At the clock row's 22px it
|
|
7806
7835
|
overlapped the trace's second 16px line too, so line 1 also started at x=91.6 instead of
|
|
7807
7836
|
returning to the left margin β measured. Matching the float to the text's own line-height
|
|
7808
7837
|
means exactly ONE line runs in, and every line after it is full width. */
|
|
7809
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7810
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7838
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-cur,
|
|
7839
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-chev {
|
|
7811
7840
|
float: left;
|
|
7812
7841
|
height: 16px;
|
|
7813
7842
|
display: flex;
|
|
7814
7843
|
align-items: center;
|
|
7815
7844
|
}
|
|
7816
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7845
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-chev {
|
|
7817
7846
|
margin-right: 8px; /* the gap the grid's column-gap used to give */
|
|
7818
7847
|
}
|
|
7819
7848
|
/* π΄ The trace must NOT establish a block formatting context. `overflow: hidden` does, and a BFC
|
|
@@ -7821,29 +7850,35 @@ a.xeno-source-card:focus-visible {
|
|
|
7821
7850
|
instead of wrapping under it. The fold's `overflow: hidden` therefore cannot live here; the
|
|
7822
7851
|
0fr/1fr grid on `.xa-hang` is also a BFC, so the FOLD moves out to a wrapper and this element
|
|
7823
7852
|
stays plain flow text. */
|
|
7824
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7853
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-hang {
|
|
7825
7854
|
display: block;
|
|
7826
7855
|
overflow: visible;
|
|
7827
7856
|
grid-template-rows: none;
|
|
7828
7857
|
transition: none;
|
|
7829
7858
|
}
|
|
7830
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7859
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-hang > .xa-hangin {
|
|
7831
7860
|
overflow: visible;
|
|
7832
7861
|
padding: 0;
|
|
7833
7862
|
}
|
|
7834
7863
|
/* folded: the trace is simply not rendered, rather than a zero-height box that would still
|
|
7835
|
-
shorten the first line
|
|
7836
|
-
|
|
7837
|
-
.xa-collapsed .xa-turn.xa-thought-only:not(.xa-
|
|
7864
|
+
shorten the first line β except while CLOSING, when it stays laid out so the line can roll back up
|
|
7865
|
+
over it (the Transcript animates the line's height; the trace cannot animate its own) */
|
|
7866
|
+
.xa-collapsed .xa-turn.xa-thought-only:not(.xa-open) .xa-line.xa-thoughtsolo:not(.xa-closing) > .xa-hang { display: none; }
|
|
7867
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-shots { float: right; }
|
|
7838
7868
|
/* the float must not escape the line into the reply below it */
|
|
7839
|
-
.xa-collapsed .xa-turn.xa-thought-only
|
|
7869
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared::after {
|
|
7840
7870
|
content: '';
|
|
7841
7871
|
display: block;
|
|
7842
7872
|
clear: both;
|
|
7843
7873
|
}
|
|
7844
|
-
|
|
7845
|
-
|
|
7846
|
-
|
|
7874
|
+
/* `Worked for |` leaves with the square: both blur out together (`xa-settle`), and only then are they
|
|
7875
|
+
removed (`xa-squared`) and the thought glides into their place. Removing them the moment the turn
|
|
7876
|
+
stopped β as 0.1.64 did β meant the blur could never render: the words vanished in one frame and
|
|
7877
|
+
the thought jumped 47px left, then sat there half a second before the fold (measured 2026-09-24). */
|
|
7878
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-read,
|
|
7879
|
+
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thoughtsolo.xa-squared > .xa-vr { display: none; }
|
|
7880
|
+
.xa-turn.xa-settle .xa-line.xa-thoughtsolo > .xa-read,
|
|
7881
|
+
.xa-turn.xa-settle .xa-line.xa-thoughtsolo > .xa-vr { animation: xa-dotout 200ms var(--xa-ease-out) both; }
|
|
7847
7882
|
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thought > .xa-dot { grid-area: dot; }
|
|
7848
7883
|
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thought > .xa-read { grid-area: read; }
|
|
7849
7884
|
.xa-collapsed .xa-turn.xa-thought-only .xa-line.xa-thought > .xa-vr { grid-area: vr; }
|
|
@@ -9456,6 +9491,9 @@ img.xa-fav { padding: 1px; background: #fff; }
|
|
|
9456
9491
|
.min-h-full {
|
|
9457
9492
|
min-height: 100%;
|
|
9458
9493
|
}
|
|
9494
|
+
.w-0 {
|
|
9495
|
+
width: 0px;
|
|
9496
|
+
}
|
|
9459
9497
|
.w-1 {
|
|
9460
9498
|
width: 0.25rem;
|
|
9461
9499
|
}
|
|
@@ -12185,6 +12223,10 @@ img.xa-fav { padding: 1px; background: #fff; }
|
|
|
12185
12223
|
--tw-drop-shadow: drop-shadow(0 0 34px rgba(255,255,255,0.16));
|
|
12186
12224
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
12187
12225
|
}
|
|
12226
|
+
.invert {
|
|
12227
|
+
--tw-invert: invert(100%);
|
|
12228
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
12229
|
+
}
|
|
12188
12230
|
.filter {
|
|
12189
12231
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
12190
12232
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xenosystem/agent-interface-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.71",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
"react-markdown": "^10.1.0",
|
|
42
42
|
"remark-gfm": "^4.0.1",
|
|
43
43
|
"zustand": "^5.0.2",
|
|
44
|
-
"@xenosystem/agent-conversation": "0.1.
|
|
45
|
-
"@xenosystem/agent-interface-contract": "0.1.
|
|
46
|
-
"@xenosystem/agent-interface-
|
|
47
|
-
"@xenosystem/agent-interface-
|
|
48
|
-
"@xenosystem/agent-interface-
|
|
44
|
+
"@xenosystem/agent-conversation": "0.1.71",
|
|
45
|
+
"@xenosystem/agent-interface-contract": "0.1.71",
|
|
46
|
+
"@xenosystem/agent-interface-core": "0.1.71",
|
|
47
|
+
"@xenosystem/agent-interface-hub-adapter": "0.1.71",
|
|
48
|
+
"@xenosystem/agent-interface-client": "0.1.71"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"react": "^19.0.0",
|
|
@@ -62,6 +62,5 @@
|
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build:css": "node scripts/build-css.mjs"
|
|
65
|
-
}
|
|
66
|
-
"gitHead": "3388de3feb4e3b64664d7e836c574646c7948e02"
|
|
65
|
+
}
|
|
67
66
|
}
|