@tangle-network/agent-app 0.45.50 → 0.45.51
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/assistant/index.js +1 -1
- package/dist/{chunk-7HY4LX7O.js → chunk-CXPWUCXC.js} +380 -277
- package/dist/chunk-CXPWUCXC.js.map +1 -0
- package/dist/theme/tokens.css +45 -1
- package/dist/web-react/index.d.ts +14 -1
- package/dist/web-react/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-7HY4LX7O.js.map +0 -1
package/dist/theme/tokens.css
CHANGED
|
@@ -522,7 +522,8 @@
|
|
|
522
522
|
|
|
523
523
|
/* The waiting label. `background-clip: text` over a moving gradient, so the
|
|
524
524
|
shimmer runs THROUGH the glyphs rather than behind them. Marked essential:
|
|
525
|
-
it is the only signal that work is still in flight.
|
|
525
|
+
it is the only signal that work is still in flight. Its reduced-motion
|
|
526
|
+
answer is at the bottom of this file, with the floor it opts out of. */
|
|
526
527
|
.agent-shimmer {
|
|
527
528
|
background: linear-gradient(
|
|
528
529
|
90deg,
|
|
@@ -583,6 +584,13 @@
|
|
|
583
584
|
* out by declaring `data-motion="essential"`; the exclusion covers that element
|
|
584
585
|
* and its subtree, and `:where()` keeps the selector at zero specificity so a
|
|
585
586
|
* consumer's own `!important` can still win.
|
|
587
|
+
*
|
|
588
|
+
* `essential` is an exemption from the BLANKET rule, not a licence to keep
|
|
589
|
+
* running. It exists because collapsing a meaning-carrying animation to a 1ms
|
|
590
|
+
* flash destroys the meaning, so the element gets to answer for itself — and it
|
|
591
|
+
* then OWES that answer. An element with no end condition owes it most, which
|
|
592
|
+
* is why `.agent-shimmer` states its own below: the sweep stops, and what it
|
|
593
|
+
* was saying is re-stated as a static difference the reader can still see.
|
|
586
594
|
*/
|
|
587
595
|
@media (prefers-reduced-motion: reduce) {
|
|
588
596
|
:root {
|
|
@@ -603,6 +611,42 @@
|
|
|
603
611
|
transition-duration: 1ms !important;
|
|
604
612
|
}
|
|
605
613
|
|
|
614
|
+
/* The waiting label's own answer. It is `data-motion="essential"` because the
|
|
615
|
+
sweep is the ONLY thing separating an agent that is working from one that
|
|
616
|
+
is stuck, so the floor above must not collapse it — but an INFINITE
|
|
617
|
+
animation is exactly what someone asking for reduced motion is asking to be
|
|
618
|
+
rid of, and running it anyway because the element declared itself essential
|
|
619
|
+
is the override this file calls a defect.
|
|
620
|
+
|
|
621
|
+
So the meaning is carried without the motion. The sweep stops and the
|
|
622
|
+
gradient comes off (it exists only to be moved), which puts the glyphs back
|
|
623
|
+
under `color` instead of leaving them transparent windows onto it.
|
|
624
|
+
|
|
625
|
+
The DOTTED RULE is the discriminator, and it is the only one. Measured in
|
|
626
|
+
Chromium under `prefers-reduced-motion: reduce`, light and dark: the live
|
|
627
|
+
label computes `text-decoration: underline dotted` where a settled label
|
|
628
|
+
beside it computes `none`, and the two resolve to the SAME color and the
|
|
629
|
+
same weight. That is by construction — `color: inherit` hands the label
|
|
630
|
+
whatever its context already uses, and the settled label shares that
|
|
631
|
+
context. In `mission-activity`'s lane both tool names read rgb(12,12,21)
|
|
632
|
+
light / rgb(236,236,241) dark; in the chat trace toggle "Thinking · 12s"
|
|
633
|
+
and "Thought for 12s" both read rgb(96,96,99) light / rgb(158,158,160)
|
|
634
|
+
dark, because that button is `text-muted-foreground`. So the reader tells
|
|
635
|
+
in-flight from done by the rule under the word, from a still frame — not by
|
|
636
|
+
tone and not by weight.
|
|
637
|
+
|
|
638
|
+
Not `content: '…'` or any other generated text: this element's text is read
|
|
639
|
+
by a screen reader, and adding pseudo-content changes what is announced. */
|
|
640
|
+
.agent-shimmer {
|
|
641
|
+
animation: none;
|
|
642
|
+
background: none;
|
|
643
|
+
background-clip: border-box;
|
|
644
|
+
-webkit-background-clip: border-box;
|
|
645
|
+
color: inherit;
|
|
646
|
+
text-decoration: underline dotted currentColor;
|
|
647
|
+
text-underline-offset: 3px;
|
|
648
|
+
}
|
|
649
|
+
|
|
606
650
|
html {
|
|
607
651
|
scroll-behavior: auto !important;
|
|
608
652
|
}
|
|
@@ -527,7 +527,14 @@ interface QuestionOptionListProps {
|
|
|
527
527
|
}
|
|
528
528
|
/** The radio/checkbox option rows for a select field. Renders a fragment of
|
|
529
529
|
* option `<label>` rows so a card keeps its own wrapping layout and appends
|
|
530
|
-
* its own write-in input.
|
|
530
|
+
* its own write-in input.
|
|
531
|
+
*
|
|
532
|
+
* The rows arrive as a SEQUENCE (`.agent-arrive` + `--stagger-index`), which
|
|
533
|
+
* is the difference between reading a list and being shown one: the eye is
|
|
534
|
+
* told there are N choices and in what order before it has read any of them.
|
|
535
|
+
* The index is safe to take straight from the map because an option list does
|
|
536
|
+
* not re-sort under a mounted card — a different set of options is a
|
|
537
|
+
* different `key`, and a different ask resets the card wholesale. */
|
|
531
538
|
declare function QuestionOptionList({ groupName, idPrefix, options, multi, selectedValues, disabled, onToggle, answered, }: QuestionOptionListProps): react.JSX.Element;
|
|
532
539
|
interface InteractionQuestionCardProps {
|
|
533
540
|
interaction: ChatInteraction;
|
|
@@ -1050,6 +1057,12 @@ interface MissionActivityLaneProps {
|
|
|
1050
1057
|
/**
|
|
1051
1058
|
* Collapsed sub-rows under a mission step — one row per delegated run —
|
|
1052
1059
|
* expanding to the step's waterfall. Renders nothing for an empty lane.
|
|
1060
|
+
*
|
|
1061
|
+
* A sub-row appears because a delegated run STARTED or FINISHED, which is the
|
|
1062
|
+
* one kind of list change worth choreographing: it arrives, and the group
|
|
1063
|
+
* arrives as a sequence. Keying on `taskId` is what keeps the rest still — the
|
|
1064
|
+
* snapshot re-renders every poll, and a row whose status merely advanced holds
|
|
1065
|
+
* the DOM node it already had.
|
|
1053
1066
|
*/
|
|
1054
1067
|
declare function MissionActivityLane({ activity, startedAt, nowMs }: MissionActivityLaneProps): react.JSX.Element | null;
|
|
1055
1068
|
interface AgentActivityPanelProps {
|
package/dist/web-react/index.js
CHANGED
package/package.json
CHANGED