@tutti-os/agent-gui 0.0.91 → 0.0.92
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/README.md +5 -0
- package/dist/app/renderer/agentactivity.css +38 -13
- package/dist/index.js +551 -116
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -138,6 +138,11 @@ the WebGL empty-home carousel all project the same agent-target avatar
|
|
|
138
138
|
presentation, including the owner badge; renderer-specific DOM and WebGL code
|
|
139
139
|
must not rebuild partial icon-only models.
|
|
140
140
|
|
|
141
|
+
Hosts serving `owner.avatarUrl` from another origin must enable anonymous CORS
|
|
142
|
+
for that asset. The WebGL carousel keeps a local programmatic owner marker when
|
|
143
|
+
the remote image cannot be decoded or uploaded safely, while DOM avatar
|
|
144
|
+
surfaces continue using the same shared presentation.
|
|
145
|
+
|
|
141
146
|
Use `agentsLoading` for directory hydration and `renderAgentsEmpty` for a
|
|
142
147
|
host-specific loaded-empty state. Use `renderAgentUnavailableState` or
|
|
143
148
|
`renderAgentReadinessState` for host-specific availability presentation, and
|
|
@@ -6644,7 +6644,7 @@ button.agent-gui-node__conversation-section-toggle:hover
|
|
|
6644
6644
|
|
|
6645
6645
|
.agent-gui-node__timeline-centered {
|
|
6646
6646
|
display: flex;
|
|
6647
|
-
align-items:
|
|
6647
|
+
align-items: stretch;
|
|
6648
6648
|
justify-content: center;
|
|
6649
6649
|
}
|
|
6650
6650
|
|
|
@@ -8967,7 +8967,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
8967
8967
|
display: flex;
|
|
8968
8968
|
width: 100%;
|
|
8969
8969
|
min-height: 100%;
|
|
8970
|
-
align-items:
|
|
8970
|
+
align-items: flex-start;
|
|
8971
8971
|
justify-content: center;
|
|
8972
8972
|
padding: 24px clamp(32px, 4vw, 48px) 40px;
|
|
8973
8973
|
}
|
|
@@ -8992,9 +8992,38 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
8992
8992
|
slot; keep it centered in the hero column. */
|
|
8993
8993
|
.agent-gui-node__empty-hero-icon-slot:has(
|
|
8994
8994
|
> .agent-gui-node__empty-hero-carousel
|
|
8995
|
-
)
|
|
8995
|
+
),
|
|
8996
|
+
.agent-gui-node__empty-hero-icon-slot[data-carousel-placeholder="true"] {
|
|
8996
8997
|
width: min(400px, 100%);
|
|
8997
|
-
height:
|
|
8998
|
+
height: 112px;
|
|
8999
|
+
}
|
|
9000
|
+
|
|
9001
|
+
.agent-gui-node__empty-hero-carousel-stage {
|
|
9002
|
+
position: relative;
|
|
9003
|
+
width: 100%;
|
|
9004
|
+
min-height: 100%;
|
|
9005
|
+
}
|
|
9006
|
+
|
|
9007
|
+
.agent-gui-node__empty-hero-carousel-layer {
|
|
9008
|
+
position: absolute;
|
|
9009
|
+
z-index: 1;
|
|
9010
|
+
top: 24px;
|
|
9011
|
+
left: 50%;
|
|
9012
|
+
width: min(400px, calc(100% - 64px));
|
|
9013
|
+
transform: translateX(-50%);
|
|
9014
|
+
}
|
|
9015
|
+
|
|
9016
|
+
.agent-gui-node__empty-hero-carousel-placeholder {
|
|
9017
|
+
width: min(400px, 100%);
|
|
9018
|
+
height: 112px;
|
|
9019
|
+
flex: 0 0 auto;
|
|
9020
|
+
}
|
|
9021
|
+
|
|
9022
|
+
/* Keep the overlayed carousel interactive while the ready/gated body below it
|
|
9023
|
+
changes independently. */
|
|
9024
|
+
.agent-gui-node__empty-hero-carousel-layer
|
|
9025
|
+
> .agent-gui-node__empty-hero-carousel {
|
|
9026
|
+
pointer-events: auto;
|
|
8998
9027
|
}
|
|
8999
9028
|
|
|
9000
9029
|
.agent-gui-node__empty-hero-icon-effect {
|
|
@@ -9067,7 +9096,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9067
9096
|
}
|
|
9068
9097
|
|
|
9069
9098
|
/* Empty-hero agent carousel ("All" tab): a three.js ring of same-sized agent
|
|
9070
|
-
|
|
9099
|
+
records (see agentGuiHeroCarouselScene.ts). Records farther around the ring
|
|
9071
9100
|
genuinely shrink and fade with perspective; visuals live on the canvas,
|
|
9072
9101
|
while visually-hidden buttons keep the switcher reachable by keyboard,
|
|
9073
9102
|
screen readers, and DOM tests. */
|
|
@@ -9098,13 +9127,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9098
9127
|
the canvas edges), intersected with a vertical band so tiles sinking
|
|
9099
9128
|
down the wheel melt away instead of being cut by the canvas bottom. */
|
|
9100
9129
|
mask-image:
|
|
9101
|
-
linear-gradient(
|
|
9102
|
-
90deg,
|
|
9103
|
-
transparent 12%,
|
|
9104
|
-
#000 36%,
|
|
9105
|
-
#000 64%,
|
|
9106
|
-
transparent 88%
|
|
9107
|
-
),
|
|
9130
|
+
linear-gradient(90deg, transparent 4%, #000 30%, #000 70%, transparent 96%),
|
|
9108
9131
|
linear-gradient(180deg, #000 0%, #000 70%, transparent 96%);
|
|
9109
9132
|
mask-composite: intersect;
|
|
9110
9133
|
}
|
|
@@ -9150,7 +9173,9 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
|
|
|
9150
9173
|
|
|
9151
9174
|
/* Gate gap is 8px; add 16px so the icon-to-title spacing is 24px. */
|
|
9152
9175
|
.agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-icon-effect,
|
|
9153
|
-
.agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel
|
|
9176
|
+
.agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel,
|
|
9177
|
+
.agent-gui-node__empty-provider-gate
|
|
9178
|
+
> .agent-gui-node__empty-hero-carousel-placeholder {
|
|
9154
9179
|
margin-bottom: 16px;
|
|
9155
9180
|
}
|
|
9156
9181
|
|