@falling-ts/dsh-force-compact 0.2.0
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/LICENSE +21 -0
- package/README.cn.md +170 -0
- package/README.md +479 -0
- package/cordis.patch.yml +13 -0
- package/index.js +550 -0
- package/package.json +54 -0
- package/src/core/crashnet.js +215 -0
- package/src/core/log.js +346 -0
- package/src/core/pairing.js +188 -0
- package/src/core/policy.js +35 -0
- package/src/core/projected.js +139 -0
- package/src/core/settings.js +475 -0
- package/src/core/ui-signal.js +271 -0
- package/src/engine/backend.js +143 -0
- package/src/engine/builtin.js +1336 -0
- package/src/engine/checkpoint.js +206 -0
- package/src/engine/region.js +579 -0
- package/src/engine/summarizer.js +818 -0
- package/src/hooks/command.js +164 -0
- package/src/hooks/guard.js +706 -0
- package/src/hooks/idle.js +136 -0
- package/src/hooks/wire-rewrite.js +151 -0
- package/web/client.js +807 -0
- package/web/swish.css +188 -0
package/web/swish.css
ADDED
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* falling-ts swish palette — 22 pre-authored scan animations for the
|
|
3
|
+
* force-compact live badge on the chat TurnStatus.
|
|
4
|
+
*
|
|
5
|
+
* Each `.falling-ts-swish-NN` overrides the official `.turnStatus` shimmer
|
|
6
|
+
* with the SAME three-segment sweep skeleton, but inverted in role: the BASE
|
|
7
|
+
* is the LIVE PHASE COLOR (the working random hue, or the pinned red/green)
|
|
8
|
+
* and a WHITE middle band glides across it (left-to-right) — i.e. the text
|
|
9
|
+
* fill IS the defined phase color and the white sweep is the highlight. This
|
|
10
|
+
* mirrors the official `.turnStatus` exactly, except the official base is the
|
|
11
|
+
* brand-blue `--dsw-static-deepseek-500` and its band is the near-white
|
|
12
|
+
* `--dsw-static-deepseek-200`; we swap the base to the live phase hex and pin
|
|
13
|
+
* the band to white (`#ffffff`) so the phase color owns the fill.
|
|
14
|
+
* Retune the sweep band globally by defining `--dsw-fc-swish-band`
|
|
15
|
+
* anywhere higher in the cascade (default white #ffffff).
|
|
16
|
+
* Everything is `!important` so it wins regardless of whether the node also
|
|
17
|
+
* carries the official `.turnStatus` class, a CSS-module hash suffix, or a
|
|
18
|
+
* higher-specificity theme alias. The animation duration/easing/timing-function
|
|
19
|
+
* inherit from the official declaration (we only override `animation-name` and
|
|
20
|
+
* `background-image`), preserving the familiar 1.8s linear infinite feel.
|
|
21
|
+
*
|
|
22
|
+
* Color index ↔ phase mapping (single source of truth lives in
|
|
23
|
+
* `src/core/ui-signal.js` — keep in sync manually if either side grows):
|
|
24
|
+
* 00..19 = WORKING_COLORS[0..19] (random working states)
|
|
25
|
+
* 20 = PINNED_COLORS.compressing (#ff4d4f red)
|
|
26
|
+
* 21 = PINNED_COLORS.done (#52c41a green)
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/* ---------- 00 · working · #4f9cf9 (calm blue) ---------- */
|
|
30
|
+
@keyframes falling-ts-swish-00 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
31
|
+
.falling-ts-swish-00 {
|
|
32
|
+
animation-name: falling-ts-swish-00 !important;
|
|
33
|
+
background-image: linear-gradient(90deg, #4f9cf9 0%, #4f9cf9 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #4f9cf9 60%, #4f9cf9 100%) !important;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ---------- 01 · working · #5b8def (indigo) ---------- */
|
|
37
|
+
@keyframes falling-ts-swish-01 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
38
|
+
.falling-ts-swish-01 {
|
|
39
|
+
animation-name: falling-ts-swish-01 !important;
|
|
40
|
+
background-image: linear-gradient(90deg, #5b8def 0%, #5b8def 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #5b8def 60%, #5b8def 100%) !important;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* ---------- 02 · working · #6a5bff (violet) ---------- */
|
|
44
|
+
@keyframes falling-ts-swish-02 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
45
|
+
.falling-ts-swish-02 {
|
|
46
|
+
animation-name: falling-ts-swish-02 !important;
|
|
47
|
+
background-image: linear-gradient(90deg, #6a5bff 0%, #6a5bff 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #6a5bff 60%, #6a5bff 100%) !important;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* ---------- 03 · working · #8b5cf6 (purple) ---------- */
|
|
51
|
+
@keyframes falling-ts-swish-03 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
52
|
+
.falling-ts-swish-03 {
|
|
53
|
+
animation-name: falling-ts-swish-03 !important;
|
|
54
|
+
background-image: linear-gradient(90deg, #8b5cf6 0%, #8b5cf6 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #8b5cf6 60%, #8b5cf6 100%) !important;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* ---------- 04 · working · #a855f7 (bright violet) ---------- */
|
|
58
|
+
@keyframes falling-ts-swish-04 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
59
|
+
.falling-ts-swish-04 {
|
|
60
|
+
animation-name: falling-ts-swish-04 !important;
|
|
61
|
+
background-image: linear-gradient(90deg, #a855f7 0%, #a855f7 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #a855f7 60%, #a855f7 100%) !important;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* ---------- 05 · working · #c45bf9 (magenta) ---------- */
|
|
65
|
+
@keyframes falling-ts-swish-05 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
66
|
+
.falling-ts-swish-05 {
|
|
67
|
+
animation-name: falling-ts-swish-05 !important;
|
|
68
|
+
background-image: linear-gradient(90deg, #c45bf9 0%, #c45bf9 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #c45bf9 60%, #c45bf9 100%) !important;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* ---------- 06 · working · #db6bd4 (pink-magenta) ---------- */
|
|
72
|
+
@keyframes falling-ts-swish-06 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
73
|
+
.falling-ts-swish-06 {
|
|
74
|
+
animation-name: falling-ts-swish-06 !important;
|
|
75
|
+
background-image: linear-gradient(90deg, #db6bd4 0%, #db6bd4 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #db6bd4 60%, #db6bd4 100%) !important;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* ---------- 07 · working · #e86bb0 (rose pink) ---------- */
|
|
79
|
+
@keyframes falling-ts-swish-07 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
80
|
+
.falling-ts-swish-07 {
|
|
81
|
+
animation-name: falling-ts-swish-07 !important;
|
|
82
|
+
background-image: linear-gradient(90deg, #e86bb0 0%, #e86bb0 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #e86bb0 60%, #e86bb0 100%) !important;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* ---------- 08 · working · #f06b8b (salmon rose) ---------- */
|
|
86
|
+
@keyframes falling-ts-swish-08 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
87
|
+
.falling-ts-swish-08 {
|
|
88
|
+
animation-name: falling-ts-swish-08 !important;
|
|
89
|
+
background-image: linear-gradient(90deg, #f06b8b 0%, #f06b8b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #f06b8b 60%, #f06b8b 100%) !important;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* ---------- 09 · working · #f76b5b (warm coral) ---------- */
|
|
93
|
+
@keyframes falling-ts-swish-09 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
94
|
+
.falling-ts-swish-09 {
|
|
95
|
+
animation-name: falling-ts-swish-09 !important;
|
|
96
|
+
background-image: linear-gradient(90deg, #f76b5b 0%, #f76b5b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #f76b5b 60%, #f76b5b 100%) !important;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/* ---------- 10 · working · #fb8c5b (orange) ---------- */
|
|
100
|
+
@keyframes falling-ts-swish-10 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
101
|
+
.falling-ts-swish-10 {
|
|
102
|
+
animation-name: falling-ts-swish-10 !important;
|
|
103
|
+
background-image: linear-gradient(90deg, #fb8c5b 0%, #fb8c5b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #fb8c5b 60%, #fb8c5b 100%) !important;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/* ---------- 11 · working · #fca95b (amber orange) ---------- */
|
|
107
|
+
@keyframes falling-ts-swish-11 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
108
|
+
.falling-ts-swish-11 {
|
|
109
|
+
animation-name: falling-ts-swish-11 !important;
|
|
110
|
+
background-image: linear-gradient(90deg, #fca95b 0%, #fca95b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #fca95b 60%, #fca95b 100%) !important;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* ---------- 12 · working · #fdc35b (golden yellow) ---------- */
|
|
114
|
+
@keyframes falling-ts-swish-12 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
115
|
+
.falling-ts-swish-12 {
|
|
116
|
+
animation-name: falling-ts-swish-12 !important;
|
|
117
|
+
background-image: linear-gradient(90deg, #fdc35b 0%, #fdc35b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #fdc35b 60%, #fdc35b 100%) !important;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* ---------- 13 · working · #d8e05b (lime chartreuse) ---------- */
|
|
121
|
+
@keyframes falling-ts-swish-13 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
122
|
+
.falling-ts-swish-13 {
|
|
123
|
+
animation-name: falling-ts-swish-13 !important;
|
|
124
|
+
background-image: linear-gradient(90deg, #d8e05b 0%, #d8e05b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #d8e05b 60%, #d8e05b 100%) !important;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/* ---------- 14 · working · #aede5b (spring green-yellow) ---------- */
|
|
128
|
+
@keyframes falling-ts-swish-14 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
129
|
+
.falling-ts-swish-14 {
|
|
130
|
+
animation-name: falling-ts-swish-14 !important;
|
|
131
|
+
background-image: linear-gradient(90deg, #aede5b 0%, #aede5b 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #aede5b 60%, #aede5b 100%) !important;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/* ---------- 15 · working · #7ee083 (fresh green) ---------- */
|
|
135
|
+
@keyframes falling-ts-swish-15 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
136
|
+
.falling-ts-swish-15 {
|
|
137
|
+
animation-name: falling-ts-swish-15 !important;
|
|
138
|
+
background-image: linear-gradient(90deg, #7ee083 0%, #7ee083 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #7ee083 60%, #7ee083 100%) !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/* ---------- 16 · working · #5be0a0 (mint teal-green) ---------- */
|
|
142
|
+
@keyframes falling-ts-swish-16 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
143
|
+
.falling-ts-swish-16 {
|
|
144
|
+
animation-name: falling-ts-swish-16 !important;
|
|
145
|
+
background-image: linear-gradient(90deg, #5be0a0 0%, #5be0a0 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #5be0a0 60%, #5be0a0 100%) !important;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* ---------- 17 · working · #5becd8 (cyan teal) ---------- */
|
|
149
|
+
@keyframes falling-ts-swish-17 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
150
|
+
.falling-ts-swish-17 {
|
|
151
|
+
animation-name: falling-ts-swish-17 !important;
|
|
152
|
+
background-image: linear-gradient(90deg, #5becd8 0%, #5becd8 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #5becd8 60%, #5becd8 100%) !important;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* ---------- 18 · working · #5bcdf9 (sky cyan) ---------- */
|
|
156
|
+
@keyframes falling-ts-swish-18 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
157
|
+
.falling-ts-swish-18 {
|
|
158
|
+
animation-name: falling-ts-swish-18 !important;
|
|
159
|
+
background-image: linear-gradient(90deg, #5bcdf9 0%, #5bcdf9 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #5bcdf9 60%, #5bcdf9 100%) !important;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* ---------- 19 · working · #7ba8f9 (periwinkle blue) ---------- */
|
|
163
|
+
@keyframes falling-ts-swish-19 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
164
|
+
.falling-ts-swish-19 {
|
|
165
|
+
animation-name: falling-ts-swish-19 !important;
|
|
166
|
+
background-image: linear-gradient(90deg, #7ba8f9 0%, #7ba8f9 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #7ba8f9 60%, #7ba8f9 100%) !important;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* ---------- 20 · compressing · #ff4d4f (alert red, pinned) ---------- */
|
|
170
|
+
@keyframes falling-ts-swish-20 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
171
|
+
.falling-ts-swish-20 {
|
|
172
|
+
animation-name: falling-ts-swish-20 !important;
|
|
173
|
+
background-image: linear-gradient(90deg, #ff4d4f 0%, #ff4d4f 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #ff4d4f 60%, #ff4d4f 100%) !important;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/* ---------- 21 · done · #52c41a (success green, pinned) ---------- */
|
|
177
|
+
@keyframes falling-ts-swish-21 { from { background-position: 100% 0; } to { background-position: 0 0; } }
|
|
178
|
+
.falling-ts-swish-21 {
|
|
179
|
+
animation-name: falling-ts-swish-21 !important;
|
|
180
|
+
background-image: linear-gradient(90deg, #52c41a 0%, #52c41a 40%, var(--dsw-fc-swish-band, #ffffff) 50%, #52c41a 60%, #52c41a 100%) !important;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/* No independent clock recolor rule here. The TurnStatus text fill is painted
|
|
184
|
+
* entirely by the gradient above (the official `.turnStatus` keeps the fill
|
|
185
|
+
* transparent via background-clip:text), so the phase color IS the visible
|
|
186
|
+
* text and the white band is the moving sweep. `.turnStatusClock` keeps its
|
|
187
|
+
* own official muted `--dsw-alias-label-caption` color — no override needed.
|
|
188
|
+
*/
|