rssany 0.1.1 → 0.1.2

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 (130) hide show
  1. package/.env.example +1 -1
  2. package/README.md +5 -1
  3. package/app/plugins/builtin/rss.rssany.js +107 -24
  4. package/app/plugins/site.rssany.js +1 -1
  5. package/dist/index.js +986 -266
  6. package/dist/index.js.map +1 -1
  7. package/{config.examples.json → init/config.json} +7 -1
  8. package/init/sources.json +353 -0
  9. package/package.json +4 -6
  10. package/statics/401.html +1 -1
  11. package/statics/README.md +1 -1
  12. package/webui/build/200.html +16 -18
  13. package/webui/build/_app/immutable/assets/0.C6Q_nuW9.css +1 -0
  14. package/webui/build/_app/immutable/assets/10.Dj8_pmut.css +1 -0
  15. package/webui/build/_app/immutable/assets/11.qYZMiTb0.css +1 -0
  16. package/webui/build/_app/immutable/assets/12.Ct59LCqW.css +1 -0
  17. package/webui/build/_app/immutable/assets/13.BhO9zvFi.css +1 -0
  18. package/webui/build/_app/immutable/assets/14.CujIhjQK.css +1 -0
  19. package/webui/build/_app/immutable/assets/15.nNGjXhCQ.css +1 -0
  20. package/webui/build/_app/immutable/assets/16.PP9XLDf7.css +1 -0
  21. package/webui/build/_app/immutable/assets/4.9wPHhVwv.css +1 -0
  22. package/webui/build/_app/immutable/assets/6.DSJfjJwx.css +1 -0
  23. package/webui/build/_app/immutable/assets/7.CrNxmd8B.css +1 -0
  24. package/webui/build/_app/immutable/assets/8.Ba5_jYIY.css +1 -0
  25. package/webui/build/_app/immutable/assets/{9.BZheTlzZ.css → 9.m-LCx_kl.css} +1 -1
  26. package/webui/build/_app/immutable/assets/BackToParentRoute.DGk-X5ow.css +1 -0
  27. package/webui/build/_app/immutable/assets/SourcesList.yTBBi3_m.css +1 -0
  28. package/webui/build/_app/immutable/assets/homeFeedPanelStore.BopJZtHu.css +1 -0
  29. package/webui/build/_app/immutable/chunks/{V2-VOe88.js → B-OsL1Ct.js} +1 -1
  30. package/webui/build/_app/immutable/chunks/B2Q1a1-H.js +2 -0
  31. package/webui/build/_app/immutable/chunks/BK3WtZwv.js +1 -0
  32. package/webui/build/_app/immutable/chunks/BQqoDzLx.js +1 -0
  33. package/webui/build/_app/immutable/chunks/BXCWEhUd.js +1 -0
  34. package/webui/build/_app/immutable/chunks/BbWUOQ_m.js +1 -0
  35. package/webui/build/_app/immutable/chunks/Bp63qm3L.js +1 -0
  36. package/webui/build/_app/immutable/chunks/CVzlFH44.js +1 -0
  37. package/webui/build/_app/immutable/chunks/CWNeClHp.js +6 -0
  38. package/webui/build/_app/immutable/chunks/Cihqbfi5.js +1 -0
  39. package/webui/build/_app/immutable/chunks/CkUAV0m0.js +41 -0
  40. package/webui/build/_app/immutable/chunks/CtijX1u3.js +31 -0
  41. package/webui/build/_app/immutable/chunks/D5GvRCv7.js +1 -0
  42. package/webui/build/_app/immutable/chunks/DEDI7Ecm.js +1 -0
  43. package/webui/build/_app/immutable/chunks/DFuhmi31.js +1 -0
  44. package/webui/build/_app/immutable/chunks/DMWEh-Ek.js +2 -0
  45. package/webui/build/_app/immutable/chunks/{CZDFXKiF.js → DcAshVxe.js} +1 -1
  46. package/webui/build/_app/immutable/chunks/DjNLq3TF.js +1 -0
  47. package/webui/build/_app/immutable/chunks/Dt2CddFe.js +1 -0
  48. package/webui/build/_app/immutable/chunks/Dw782Tjs.js +1 -0
  49. package/webui/build/_app/immutable/chunks/EIZIMsXK.js +1 -0
  50. package/webui/build/_app/immutable/chunks/Xy_fhzQq.js +1 -0
  51. package/webui/build/_app/immutable/chunks/lk5LaiqA.js +1 -0
  52. package/webui/build/_app/immutable/chunks/mW5RwvnK.js +13 -0
  53. package/webui/build/_app/immutable/chunks/{CtHRh_pJ.js → tB7QMF3U.js} +1 -1
  54. package/webui/build/_app/immutable/chunks/xtNWTdbD.js +1 -0
  55. package/webui/build/_app/immutable/entry/app.DdgnooOk.js +2 -0
  56. package/webui/build/_app/immutable/entry/start.DhJaJZhR.js +1 -0
  57. package/webui/build/_app/immutable/nodes/0.BE05Cuc4.js +11 -0
  58. package/webui/build/_app/immutable/nodes/1.5DFDaT4c.js +1 -0
  59. package/webui/build/_app/immutable/nodes/10.OVK4i9XE.js +1 -0
  60. package/webui/build/_app/immutable/nodes/11.Dhn_rO4A.js +1 -0
  61. package/webui/build/_app/immutable/nodes/12.Cg8AeCSH.js +1 -0
  62. package/webui/build/_app/immutable/nodes/13.nT3SOzEB.js +1 -0
  63. package/webui/build/_app/immutable/nodes/14.B_KpJLxn.js +1 -0
  64. package/webui/build/_app/immutable/nodes/15.RaWaA-0I.js +1 -0
  65. package/webui/build/_app/immutable/nodes/{12.CMcby_lY.js → 16.DSUgqolV.js} +15 -15
  66. package/webui/build/_app/immutable/nodes/2.BYWOpaxy.js +1 -0
  67. package/webui/build/_app/immutable/nodes/3.wQvGs9w-.js +1 -0
  68. package/webui/build/_app/immutable/nodes/4.DTSxpKm7.js +2 -0
  69. package/webui/build/_app/immutable/nodes/5.CCtn90c0.js +1 -0
  70. package/webui/build/_app/immutable/nodes/6.C2_mjW1u.js +1 -0
  71. package/webui/build/_app/immutable/nodes/7.Dwz6W7A1.js +1 -0
  72. package/webui/build/_app/immutable/nodes/8.DzkEw6rx.js +1 -0
  73. package/webui/build/_app/immutable/nodes/9.DtlXEwe1.js +1 -0
  74. package/webui/build/_app/version.json +1 -1
  75. package/sources.example.json +0 -562
  76. package/webui/build/_app/immutable/assets/0.BUAXpTm6.css +0 -1
  77. package/webui/build/_app/immutable/assets/10.I1OuCLrU.css +0 -1
  78. package/webui/build/_app/immutable/assets/11.CrO9xaki.css +0 -1
  79. package/webui/build/_app/immutable/assets/12.BEi6fInA.css +0 -1
  80. package/webui/build/_app/immutable/assets/14.Ctlgn1LZ.css +0 -1
  81. package/webui/build/_app/immutable/assets/2.eJ80XOGm.css +0 -1
  82. package/webui/build/_app/immutable/assets/4.B8-jYAVj.css +0 -1
  83. package/webui/build/_app/immutable/assets/6.Drn-0DON.css +0 -1
  84. package/webui/build/_app/immutable/assets/7.ms2diq_q.css +0 -1
  85. package/webui/build/_app/immutable/assets/8.DKymkjjs.css +0 -1
  86. package/webui/build/_app/immutable/assets/SourcesList.BhtYlRsQ.css +0 -1
  87. package/webui/build/_app/immutable/chunks/BUngiKFg.js +0 -1
  88. package/webui/build/_app/immutable/chunks/Bt0fzibd.js +0 -1
  89. package/webui/build/_app/immutable/chunks/BxHqDcpw.js +0 -1
  90. package/webui/build/_app/immutable/chunks/ByQRbEUX.js +0 -1
  91. package/webui/build/_app/immutable/chunks/C12mHcUp.js +0 -6
  92. package/webui/build/_app/immutable/chunks/C1kQ4pHy.js +0 -1
  93. package/webui/build/_app/immutable/chunks/C74gbb4Q.js +0 -1
  94. package/webui/build/_app/immutable/chunks/CAtemnMo.js +0 -1
  95. package/webui/build/_app/immutable/chunks/CVjCNJia.js +0 -1
  96. package/webui/build/_app/immutable/chunks/CjQQ9_Q2.js +0 -2
  97. package/webui/build/_app/immutable/chunks/D-6mYMI1.js +0 -1
  98. package/webui/build/_app/immutable/chunks/D1Gs8-g3.js +0 -1
  99. package/webui/build/_app/immutable/chunks/D9dRVKgL.js +0 -1
  100. package/webui/build/_app/immutable/chunks/DCEY1XiC.js +0 -1
  101. package/webui/build/_app/immutable/chunks/DI-t-G_K.js +0 -2
  102. package/webui/build/_app/immutable/chunks/DTUxjyWL.js +0 -1
  103. package/webui/build/_app/immutable/chunks/DWJZOHke.js +0 -1
  104. package/webui/build/_app/immutable/chunks/Dgs6d7X5.js +0 -1
  105. package/webui/build/_app/immutable/chunks/DjpPK99f.js +0 -71
  106. package/webui/build/_app/immutable/chunks/DjzVVxpy.js +0 -1
  107. package/webui/build/_app/immutable/chunks/DvtNA-3X.js +0 -1
  108. package/webui/build/_app/immutable/chunks/LQVMBmDN.js +0 -1
  109. package/webui/build/_app/immutable/chunks/Qw0Qgx6J.js +0 -1
  110. package/webui/build/_app/immutable/chunks/bohabpgg.js +0 -1
  111. package/webui/build/_app/immutable/chunks/c-YfbAB_.js +0 -8
  112. package/webui/build/_app/immutable/chunks/tpTQfoNn.js +0 -1
  113. package/webui/build/_app/immutable/entry/app.Cra5Zsz4.js +0 -2
  114. package/webui/build/_app/immutable/entry/start.ToY0Qh0_.js +0 -1
  115. package/webui/build/_app/immutable/nodes/0.D2-xzG_8.js +0 -11
  116. package/webui/build/_app/immutable/nodes/1.CFixzRR6.js +0 -1
  117. package/webui/build/_app/immutable/nodes/10.ayxWydPr.js +0 -1
  118. package/webui/build/_app/immutable/nodes/11.B0JS3E2j.js +0 -1
  119. package/webui/build/_app/immutable/nodes/13.DRpZV72T.js +0 -1
  120. package/webui/build/_app/immutable/nodes/14.DVeJW6bd.js +0 -1
  121. package/webui/build/_app/immutable/nodes/2.DIZ4IPNm.js +0 -1
  122. package/webui/build/_app/immutable/nodes/3.BFSNf0FK.js +0 -1
  123. package/webui/build/_app/immutable/nodes/4.BSsIjejE.js +0 -2
  124. package/webui/build/_app/immutable/nodes/5.COxRT9Oe.js +0 -1
  125. package/webui/build/_app/immutable/nodes/6.CBgQ4YzB.js +0 -1
  126. package/webui/build/_app/immutable/nodes/7.BbzWOL0V.js +0 -6
  127. package/webui/build/_app/immutable/nodes/8.C8120200.js +0 -1
  128. package/webui/build/_app/immutable/nodes/9.BH_BGQQ4.js +0 -1
  129. /package/webui/build/_app/immutable/nodes/{15.BtYZF6FM.js → 17.BtYZF6FM.js} +0 -0
  130. /package/webui/build/_app/immutable/nodes/{16.Ba_qJjp6.js → 18.Ba_qJjp6.js} +0 -0
@@ -1,4 +1,5 @@
1
1
  {
2
+ "globalProxy": "",
2
3
  "pipeline": {
3
4
  "steps": [
4
5
  { "id": "tagger", "enabled": false },
@@ -6,6 +7,11 @@
6
7
  ]
7
8
  },
8
9
  "deliver": {
9
- "url": ""
10
+ "url": "",
11
+ "token": ""
12
+ },
13
+ "llm": {
14
+ "baseUrl": "https://api.openai.com/v1",
15
+ "model": "gpt-4o-mini"
10
16
  }
11
17
  }
@@ -0,0 +1,353 @@
1
+ {
2
+ "sources": [
3
+ {
4
+ "ref": "https://www.theinformation.com/",
5
+ "label": "The Information",
6
+ "description": "科技商业深度报道",
7
+ "refresh": "1h",
8
+ "weight": 0.95
9
+ },
10
+ {
11
+ "ref": "https://techcrunch.com/feed/",
12
+ "label": "TechCrunch AI",
13
+ "description": "创业与产品资讯",
14
+ "refresh": "1h",
15
+ "weight": 0.95
16
+ },
17
+ {
18
+ "ref": "https://www.technologyreview.com/feed/",
19
+ "label": "MIT Technology Review",
20
+ "description": "MIT 科技评论",
21
+ "refresh": "1h",
22
+ "weight": 0.94
23
+ },
24
+ {
25
+ "ref": "https://venturebeat.com/category/ai/feed/",
26
+ "label": "VentureBeat AI频道",
27
+ "description": "VentureBeat AI频道",
28
+ "refresh": "1h",
29
+ "weight": 0.82
30
+ },
31
+ {
32
+ "ref": "https://rss.slashdot.org/Slashdot/slashdotDevelopers",
33
+ "label": "Slashdot开发者频道",
34
+ "description": "科技新闻聚合",
35
+ "refresh": "1h",
36
+ "weight": 0.62
37
+ },
38
+ {
39
+ "ref": "https://news.ycombinator.com/rss",
40
+ "label": "HN newest",
41
+ "description": "Hacker News 最新",
42
+ "refresh": "6h",
43
+ "weight": 0.92
44
+ },
45
+ {
46
+ "ref": "https://x.com/elonmusk",
47
+ "label": "elonmusk",
48
+ "description": "Elon Musk 推文",
49
+ "refresh": "1h",
50
+ "weight": 0.88
51
+ },
52
+ {
53
+ "ref": "https://x.com/AIatMeta",
54
+ "label": "Meta AI",
55
+ "description": "Meta AI 官方",
56
+ "refresh": "1h",
57
+ "weight": 0.88
58
+ },
59
+ {
60
+ "ref": "https://x.com/OpenAI",
61
+ "label": "OpenAI",
62
+ "description": "OpenAI 官方推特",
63
+ "refresh": "1h",
64
+ "weight": 0.94
65
+ },
66
+ {
67
+ "ref": "https://x.com/GoogleAI",
68
+ "label": "Google",
69
+ "description": "Google AI 官方",
70
+ "refresh": "1h",
71
+ "weight": 0.9
72
+ },
73
+ {
74
+ "ref": "https://x.com/Microsoft",
75
+ "label": "Microsoft",
76
+ "description": "微软官方",
77
+ "refresh": "1h",
78
+ "weight": 0.84
79
+ },
80
+ {
81
+ "ref": "https://x.com/NVIDIA",
82
+ "label": "NVIDIA",
83
+ "description": "英伟达官方",
84
+ "refresh": "1h",
85
+ "weight": 0.9
86
+ },
87
+ {
88
+ "ref": "https://x.com/NVIDIARobotics",
89
+ "label": "NVIDIA Robotics",
90
+ "description": "NVIDIA 机器人",
91
+ "refresh": "1h",
92
+ "weight": 0.8
93
+ },
94
+ {
95
+ "ref": "https://x.com/xai",
96
+ "label": "xAI",
97
+ "description": "xAI 官方",
98
+ "refresh": "1h",
99
+ "weight": 0.88
100
+ },
101
+ {
102
+ "ref": "https://x.com/Figure_robot",
103
+ "label": "Figure AI",
104
+ "description": "Figure 人形机器人",
105
+ "refresh": "1h",
106
+ "weight": 0.78
107
+ },
108
+ {
109
+ "ref": "https://rss.arxiv.org/rss/cs.CL",
110
+ "label": "arxiv cs.CL (NLP/LLM)",
111
+ "description": "NLP/大模型论文",
112
+ "refresh": "1day",
113
+ "weight": 0.96
114
+ },
115
+ {
116
+ "ref": "https://rss.arxiv.org/rss/cs.LG",
117
+ "label": "arxiv cs.LG (Machine Learning)",
118
+ "description": "机器学习论文",
119
+ "refresh": "1day",
120
+ "weight": 0.93
121
+ },
122
+ {
123
+ "ref": "https://x.com/turingcom",
124
+ "label": "Turing",
125
+ "description": "Turing 数据标注",
126
+ "refresh": "1h",
127
+ "weight": 0.52
128
+ },
129
+ {
130
+ "ref": "https://x.com/scale_ai",
131
+ "label": "Scale AI 博客",
132
+ "description": "Scale AI 数据标注",
133
+ "refresh": "1h",
134
+ "weight": 0.72
135
+ },
136
+ {
137
+ "ref": "https://x.com/labelbox",
138
+ "label": "Labelbox",
139
+ "description": "Labelbox 数据标注平台",
140
+ "refresh": "1h",
141
+ "weight": 0.54
142
+ },
143
+ {
144
+ "ref": "https://www.kognic.com/articles",
145
+ "label": "Kognic",
146
+ "description": "自动驾驶数据标注",
147
+ "refresh": "1h",
148
+ "weight": 0.56
149
+ },
150
+ {
151
+ "ref": "https://x.com/geoffreyhinton",
152
+ "label": "Geoffrey Hinton",
153
+ "description": "图灵奖得主,深度学习教父",
154
+ "refresh": "1h",
155
+ "weight": 0.9
156
+ },
157
+ {
158
+ "ref": "https://x.com/AndrewYNg",
159
+ "label": "Andrew Ng",
160
+ "description": "Coursera 创始人,AI 教育",
161
+ "refresh": "1h",
162
+ "weight": 0.9
163
+ },
164
+ {
165
+ "ref": "https://x.com/drfeifei",
166
+ "label": "李飞飞",
167
+ "description": "斯坦福 AI 实验室主任",
168
+ "refresh": "6h",
169
+ "proxy": "http://192.168.34.247:30002",
170
+ "weight": 0.95
171
+ },
172
+ {
173
+ "ref": "https://x.com/percyliang",
174
+ "label": "Percy Liang",
175
+ "description": "斯坦福 CRFM 主任",
176
+ "refresh": "1h",
177
+ "weight": 0.86
178
+ },
179
+ {
180
+ "ref": "https://x.com/ilyasut",
181
+ "label": "Ilya Sutskever",
182
+ "description": "OpenAI 联合创始人",
183
+ "refresh": "1h",
184
+ "weight": 0.9
185
+ },
186
+ {
187
+ "ref": "https://www.moonshot.ai/",
188
+ "label": "Moonshot",
189
+ "description": "月之暗面",
190
+ "refresh": "1day",
191
+ "weight": 0.85
192
+ },
193
+ {
194
+ "ref": "https://www.microsoft.com/en-us/research/blog/",
195
+ "label": "Microsoft Research",
196
+ "description": "微软研究院博客",
197
+ "refresh": "1day",
198
+ "weight": 0.88
199
+ },
200
+ {
201
+ "ref": "https://www.csail.mit.edu/research",
202
+ "label": "MIT CSAIL",
203
+ "description": "MIT 计算机与 AI 实验室",
204
+ "refresh": "1day",
205
+ "weight": 0.84
206
+ },
207
+ {
208
+ "ref": "https://www.anthropic.com/research",
209
+ "label": "Anthropic Research",
210
+ "description": "Anthropic 研究论文",
211
+ "refresh": "1day",
212
+ "weight": 0.95
213
+ },
214
+ {
215
+ "ref": "https://trendshift.io/github-trending-repositories?trending-range=1",
216
+ "label": "Trendshift热门仓库",
217
+ "description": "AI 趋势追踪",
218
+ "refresh": "1h",
219
+ "weight": 0.74
220
+ },
221
+ {
222
+ "ref": "https://tech.meituan.com/feed/",
223
+ "label": "美团技术",
224
+ "description": "美团技术博客",
225
+ "refresh": "1day",
226
+ "weight": 0.68
227
+ },
228
+ {
229
+ "ref": "https://research.google/",
230
+ "label": "Google Research",
231
+ "description": "Google 研究院",
232
+ "refresh": "1day",
233
+ "weight": 0.9
234
+ },
235
+ {
236
+ "ref": "https://research.google/resources/datasets/",
237
+ "label": "Google Datasets",
238
+ "description": "Google 公开数据集",
239
+ "refresh": "1day",
240
+ "weight": 0.76
241
+ },
242
+ {
243
+ "ref": "https://paperswithcode.co/",
244
+ "label": "Papers with Code",
245
+ "description": "论文与代码检索",
246
+ "refresh": "1day",
247
+ "weight": 0.88
248
+ },
249
+ {
250
+ "ref": "https://opendrivelab.com/EmbodiedAI",
251
+ "label": "OpenDriveLab Embodied",
252
+ "description": "具身智能与自动驾驶",
253
+ "refresh": "1day",
254
+ "weight": 0.8
255
+ },
256
+ {
257
+ "ref": "https://opendatalab.org.cn",
258
+ "label": "OpenDataLab",
259
+ "description": "开放数据平台",
260
+ "refresh": "1day",
261
+ "weight": 0.74
262
+ },
263
+ {
264
+ "ref": "https://mlcommons.org/research/",
265
+ "label": "MLCommons",
266
+ "description": "MLCommons 基准与研究",
267
+ "refresh": "1day",
268
+ "weight": 0.76
269
+ },
270
+ {
271
+ "ref": "https://mila.quebec/en",
272
+ "label": "Mila Quebec",
273
+ "description": "蒙特利尔 AI 研究所",
274
+ "refresh": "1day",
275
+ "weight": 0.82
276
+ },
277
+ {
278
+ "ref": "https://lmsys.org/projects/",
279
+ "label": "LMSys",
280
+ "description": "大模型排行榜",
281
+ "refresh": "1day",
282
+ "weight": 0.85
283
+ },
284
+ {
285
+ "ref": "https://huggingface.co/blog",
286
+ "label": "Hugging Face Blog",
287
+ "description": "Hugging Face 官方博客",
288
+ "refresh": "1day",
289
+ "weight": 0.9
290
+ },
291
+ {
292
+ "ref": "https://flageval.baai.ac.cn/#/news",
293
+ "label": "FlagEval",
294
+ "description": "智源大模型评测",
295
+ "refresh": "1day",
296
+ "weight": 0.7
297
+ },
298
+ {
299
+ "ref": "https://deepmind.google/blog/rss.xml",
300
+ "label": "DeepMind Research",
301
+ "description": "DeepMind 官方RSS",
302
+ "refresh": "1day",
303
+ "weight": 0.95
304
+ },
305
+ {
306
+ "ref": "https://dataverse.harvard.edu",
307
+ "label": "Harvard Dataverse",
308
+ "description": "哈佛学术数据集",
309
+ "refresh": "1day",
310
+ "weight": 0.68
311
+ },
312
+ {
313
+ "ref": "https://bair.berkeley.edu/blog/feed.xml",
314
+ "label": "Berkeley BAIR",
315
+ "description": "伯克利 AI 研究院",
316
+ "refresh": "1day",
317
+ "weight": 0.88
318
+ },
319
+ {
320
+ "ref": "https://ai.meta.com/results/?content_types%5B0%5D=publication",
321
+ "label": "Meta AI Publications",
322
+ "description": "Meta AI 论文",
323
+ "refresh": "1day",
324
+ "weight": 0.88
325
+ },
326
+ {
327
+ "ref": "https://rss.arxiv.org/rss/cs.AI",
328
+ "label": "arXiv cs.AI",
329
+ "description": "arXiv cs.AI",
330
+ "refresh": "1day",
331
+ "weight": 0.95
332
+ },
333
+ {
334
+ "ref": "https://openai.com/news/rss.xml",
335
+ "label": "OpenAI 博客",
336
+ "description": "OpenAI 官方博客",
337
+ "refresh": "1day",
338
+ "weight": 0.97
339
+ },
340
+ {
341
+ "ref": "https://www.reddit.com/r/LocalLLaMA.rss",
342
+ "label": "Reddit 开源大模型板块",
343
+ "refresh": "1day",
344
+ "weight": 0.82
345
+ },
346
+ {
347
+ "ref": "https://datahub.com/feed",
348
+ "label": "Datahub",
349
+ "refresh": "1day",
350
+ "weight": 0.94
351
+ }
352
+ ]
353
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rssany",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Universal RSS/Atom/JSON Feed pipeline — fetches, extracts, parses and converts any web content into consumable feeds with plugin support",
5
5
  "author": "Joo",
6
6
  "type": "module",
@@ -20,8 +20,7 @@
20
20
  "webui/build",
21
21
  ".env.example",
22
22
  "README.md",
23
- "sources.example.json",
24
- "config.examples.json",
23
+ "init",
25
24
  "scripts/reset.mjs"
26
25
  ],
27
26
  "engines": {
@@ -29,9 +28,7 @@
29
28
  },
30
29
  "scripts": {
31
30
  "build": "vite build",
32
- "dev": "cross-env NODE_ENV=development NODE_OPTIONS=--no-deprecation tsx app/index.ts",
33
- "dev:api": "cross-env NODE_ENV=development NODE_OPTIONS=--no-deprecation tsx app/index.ts",
34
- "dev:all": "concurrently -k -n api,web -c blue,magenta \"pnpm dev\" \"pnpm webui:watch\"",
31
+ "dev": "tsx app/index.ts",
35
32
  "start": "node dist/index.js",
36
33
  "serve:route": "node scripts/serve-route.mjs",
37
34
  "serve:app": "npx tsx app/index.ts",
@@ -41,6 +38,7 @@
41
38
  "lint:fix": "eslint . --fix",
42
39
  "typecheck": "tsc --noEmit",
43
40
  "reset": "node scripts/reset.mjs",
41
+ "proxy-browser": "tsx scripts/proxy-browser.ts",
44
42
  "webui:install": "cd webui && npm install",
45
43
  "webui:dev": "cd webui && pnpm run dev",
46
44
  "webui:build": "cd webui && npm run build",
package/statics/401.html CHANGED
@@ -24,7 +24,7 @@
24
24
  <p>请点击下方按钮,在<strong>弹出的有头浏览器窗口</strong>中完成该站点的登录,完成后关闭窗口并刷新本页或 RSS 地址即可。</p>
25
25
  <button type="button" class="btn" id="btn-login" data-list-url="{{listUrl}}">打开有头登录页</button>
26
26
  <p class="msg" id="api-msg"></p>
27
- <p class="links"><a href="/">首页</a> · <a href="/admin/plugins">已生效插件</a>(可对需登录站点批量打开登录页)</p>
27
+ <p class="links"><a href="/">首页</a> · <a href="/plugins">已生效插件</a>(可对需登录站点批量打开登录页)</p>
28
28
  <script>
29
29
  (function(){
30
30
  var btn = document.getElementById('btn-login');
package/statics/README.md CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  静态 HTML 页面:home(首页)、401、404。
4
4
 
5
- - **home.html**:首页,含 Try This 示例链接;下方「需登录的站点」从 `/admin/plugins` 拉取,每个站点可点击「打开登录页」调用 `POST /auth/ensure?siteId=...` 批量做登录。
5
+ - **home.html**:首页,含 Try This 示例链接;下方「需登录的站点」从 `/plugins` 拉取,每个站点可点击「打开登录页」调用 `POST /auth/ensure?siteId=...` 批量做登录。
6
6
  - **401.html**:需登录时返回;占位符 `{{listUrl}}` 由 router 注入为失败请求的订阅地址;页内「打开有头登录页」按钮调用 `POST /auth/ensure?url=...` 弹出有头浏览器完成登录。
7
7
  - **404.html**:无匹配站点时返回。
@@ -10,37 +10,35 @@
10
10
  rel="stylesheet"
11
11
  />
12
12
  <link rel="icon" href="/favicon.png" />
13
- <link href="/_app/immutable/entry/start.ToY0Qh0_.js" rel="modulepreload">
14
- <link href="/_app/immutable/chunks/DvtNA-3X.js" rel="modulepreload">
15
- <link href="/_app/immutable/chunks/BUngiKFg.js" rel="modulepreload">
16
- <link href="/_app/immutable/chunks/LQVMBmDN.js" rel="modulepreload">
13
+ <link href="/_app/immutable/entry/start.DhJaJZhR.js" rel="modulepreload">
14
+ <link href="/_app/immutable/chunks/BXCWEhUd.js" rel="modulepreload">
15
+ <link href="/_app/immutable/chunks/BbWUOQ_m.js" rel="modulepreload">
16
+ <link href="/_app/immutable/chunks/D5GvRCv7.js" rel="modulepreload">
17
17
  <link href="/_app/immutable/chunks/BUApaBEI.js" rel="modulepreload">
18
- <link href="/_app/immutable/chunks/C1kQ4pHy.js" rel="modulepreload">
19
- <link href="/_app/immutable/entry/app.Cra5Zsz4.js" rel="modulepreload">
20
- <link href="/_app/immutable/chunks/CjQQ9_Q2.js" rel="modulepreload">
21
- <link href="/_app/immutable/chunks/DWJZOHke.js" rel="modulepreload">
22
- <link href="/_app/immutable/chunks/D1Gs8-g3.js" rel="modulepreload">
23
- <link href="/_app/immutable/chunks/Qw0Qgx6J.js" rel="modulepreload">
24
- <link href="/_app/immutable/chunks/CAtemnMo.js" rel="modulepreload">
25
- <link href="/_app/immutable/chunks/D9dRVKgL.js" rel="modulepreload">
26
- <link href="/_app/immutable/chunks/DTUxjyWL.js" rel="modulepreload">
27
- <link href="/_app/immutable/chunks/BxHqDcpw.js" rel="modulepreload">
28
- <link href="/_app/immutable/chunks/C74gbb4Q.js" rel="modulepreload">
18
+ <link href="/_app/immutable/chunks/Bp63qm3L.js" rel="modulepreload">
19
+ <link href="/_app/immutable/entry/app.DdgnooOk.js" rel="modulepreload">
20
+ <link href="/_app/immutable/chunks/DMWEh-Ek.js" rel="modulepreload">
21
+ <link href="/_app/immutable/chunks/BK3WtZwv.js" rel="modulepreload">
22
+ <link href="/_app/immutable/chunks/Dt2CddFe.js" rel="modulepreload">
23
+ <link href="/_app/immutable/chunks/DFuhmi31.js" rel="modulepreload">
24
+ <link href="/_app/immutable/chunks/Xy_fhzQq.js" rel="modulepreload">
25
+ <link href="/_app/immutable/chunks/xtNWTdbD.js" rel="modulepreload">
26
+ <link href="/_app/immutable/chunks/DjNLq3TF.js" rel="modulepreload">
29
27
 
30
28
  </head>
31
29
  <body>
32
30
  <div id="svelte">
33
31
  <script>
34
32
  {
35
- __sveltekit_xogq1g = {
33
+ __sveltekit_r3ntyw = {
36
34
  base: ""
37
35
  };
38
36
 
39
37
  const element = document.currentScript.parentElement;
40
38
 
41
39
  Promise.all([
42
- import("/_app/immutable/entry/start.ToY0Qh0_.js"),
43
- import("/_app/immutable/entry/app.Cra5Zsz4.js")
40
+ import("/_app/immutable/entry/start.DhJaJZhR.js"),
41
+ import("/_app/immutable/entry/app.DdgnooOk.js")
44
42
  ]).then(([kit, app]) => {
45
43
  kit.start(app, element);
46
44
  });
@@ -0,0 +1 @@
1
+ .toast.svelte-zemmny{position:fixed;top:1rem;left:50%;transform:translate(-50%);background:#111;color:#fff;padding:.625rem 1.25rem;border-radius:8px;font-size:.875rem;z-index:100;white-space:nowrap;pointer-events:none}.toast.error.svelte-zemmny{background:#c0392b}.toast.success.svelte-zemmny{background:#1a7f37}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.flex{display:flex}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--primary:#5e6ad2;--primary-foreground:#fff;--color-primary:var(--primary);--color-primary-hover:#7c85e8;--color-primary-light:#5e6ad22e;--color-primary-foreground:var(--primary-foreground);--background:#f7f7f7;--foreground:#1f1f1f;--color-background:var(--background);--color-foreground:var(--foreground);--color-card:#fff;--color-card-elevated:#fcfcfc;--color-card-foreground:#2e2e2e;--color-muted:#0000000e;--color-muted-foreground:#737373;--color-muted-foreground-strong:#4a4a4a;--color-muted-foreground-soft:#787878;--color-accent:#0000000e;--color-accent-foreground:#2e2e2e;--color-border:#0000001c;--color-border-muted:#00000013;--color-hairline:#00000013;--color-input:#00000024;--color-destructive:#b12525;--color-destructive-foreground:#fff;--color-success:#207945;--color-success-foreground:#fff;--color-scrollbar-thumb:#00000038;--shadow-panel:0 12px 40px #00000014;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--shell-gutter:clamp(.5rem, 1.8vw, 1rem);--layout-max-width:64rem;--content-max:64rem;--topbar-sticky-offset: 3.125rem ;--main-padding-top:1.5rem;--feed-sticky-gap-after:1rem}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{background:var(--color-background);height:100%;min-height:100%;color:var(--color-foreground);flex-direction:column;width:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}#svelte{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.options-menu-trigger{width:2rem;height:2rem;color:var(--color-muted-foreground);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.options-menu-trigger:hover:not(:disabled){color:var(--color-foreground);background:var(--color-muted);border-color:var(--color-border)}.options-menu-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.options-menu-trigger:disabled{opacity:.45;cursor:not-allowed}.options-menu-panel{z-index:100;background:var(--color-card-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:9rem;box-shadow:var(--shadow-panel);padding:.35rem}.options-menu-item{box-sizing:border-box;text-align:left;width:100%;color:var(--color-foreground);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;margin:0;padding:.5rem .65rem;font-family:inherit;font-size:.8125rem;line-height:1.35;transition:background .12s;display:block}.options-menu-item:hover:not(:disabled){background:var(--color-muted)}.options-menu-item:disabled{opacity:.55;cursor:not-allowed}.options-menu-item-danger{color:var(--color-destructive)}.options-menu-item-danger:hover:not(:disabled){background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.options-menu-item-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-destructive) 12%,transparent)}}.page-header .options-menu-trigger{margin-top:.1rem}.admin-feed-header{border-bottom:1px solid var(--color-border-muted);flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.75rem 0;display:flex}.admin-feed-header__left{flex:1;min-width:0}.admin-feed-header__left>h2{color:var(--color-foreground);margin:0 0 .15rem;font-size:.9375rem;font-weight:600}.admin-feed-header__desc{color:var(--color-muted-foreground-soft);margin:0;font-size:.75rem;line-height:1.45}.admin-feed-header__actions{flex-direction:row;flex-shrink:0;align-items:center;gap:.5rem;min-width:0;display:flex}.admin-toolbar-btn{box-sizing:border-box;white-space:nowrap;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;min-height:2rem;padding:.35rem .65rem;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.25;transition:opacity .15s,background .15s;display:inline-flex}.admin-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.admin-toolbar-btn--primary{color:var(--color-primary-foreground);background:var(--color-primary);border:none}.admin-toolbar-btn--primary:hover:not(:disabled){opacity:.9;background:var(--color-primary-hover,var(--color-primary))}.admin-toolbar-btn--secondary{color:var(--color-foreground);background:var(--color-muted);border:1px solid var(--color-border)}.admin-toolbar-btn--secondary:hover:not(:disabled){background:var(--color-accent)}.admin-toolbar-btn--danger{color:var(--color-destructive);background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger{background:color-mix(in srgb,var(--color-destructive) 12%,var(--color-muted))}}.admin-toolbar-btn--danger{border:1px solid var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger{border:1px solid color-mix(in srgb,var(--color-destructive) 35%,transparent)}}.admin-toolbar-btn--danger:hover:not(:disabled){background:var(--color-destructive)}@supports (color:color-mix(in lab,red,red)){.admin-toolbar-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-destructive) 18%,var(--color-muted))}}.admin-toolbar-input{box-sizing:border-box;border:1px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-card-elevated);width:min(100%,18rem);min-width:10rem;height:2rem;min-height:2rem;color:var(--color-foreground);padding:.35rem .6rem;font-family:inherit;font-size:.8125rem}.admin-toolbar-input:focus{border-color:var(--color-primary);outline:none}.admin-toolbar-input::placeholder{color:var(--color-muted-foreground-soft)}@media(max-width:600px){.admin-feed-header{flex-direction:column;align-items:stretch}.admin-feed-header__actions{justify-content:flex-end}.admin-feed-header__actions .admin-toolbar-input{flex:1;width:auto;min-width:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button:not([class]),button[class=""]{font:inherit;cursor:pointer;padding:.35rem .75rem;border:1px solid var(--color-input);border-radius:var(--radius-sm, 6px);background:var(--color-card-elevated);color:var(--color-foreground)}button:not([class]):hover:not(:disabled),button[class=""]:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-border)}button:not([class]):disabled,button[class=""]:disabled{opacity:.45;cursor:not-allowed}.layout-outer.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:column;width:100%;flex:1;min-height:0;overflow:hidden;--home-feed-rail-width: 36rem;--nav-rail-width: 3rem}.layout-app.svelte-12qhfyh{display:flex;flex-direction:row;justify-content:center;align-items:stretch;flex:1;min-height:0;width:100%;overflow:hidden;padding-inline:var(--shell-gutter)}.layout-merged-cluster.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:row;align-items:stretch;flex:0 1 var(--layout-max-width);align-self:stretch;min-width:0;min-height:0;width:min(100%,var(--layout-max-width));max-width:min(100%,var(--layout-max-width));margin-inline:auto;border:1px solid var(--color-border-muted);border-radius:0;overflow:hidden;background:var(--color-card);box-shadow:var(--shadow-panel)}.layout-nav-rail.svelte-12qhfyh{flex:0 0 var(--nav-rail-width);width:var(--nav-rail-width);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;flex-shrink:0;background:transparent;border-right:1px solid var(--color-border-muted);z-index:30}.nav-rail-links.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:.75rem .35rem;flex:1;min-height:0}.nav-rail-cluster.svelte-12qhfyh{display:flex;flex-direction:column;gap:0;width:100%;max-width:2.35rem;border-radius:0;overflow:hidden;background:var(--color-muted)}.nav-rail-link.svelte-12qhfyh{display:flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.4rem .25rem;color:var(--color-muted-foreground-strong);text-decoration:none;border-radius:0;border-bottom:1px solid var(--color-border-muted);transition:color .15s ease,background .15s ease}.nav-rail-link.svelte-12qhfyh:last-child{border-bottom:none}.nav-rail-link.svelte-12qhfyh svg{flex-shrink:0}.nav-rail-link.svelte-12qhfyh:hover:not(.active){color:var(--color-foreground);background:var(--color-muted)}.nav-rail-link.active.svelte-12qhfyh{color:var(--color-primary);background:var(--color-primary-light)}.nav-rail-footer.svelte-12qhfyh{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem .2rem .75rem;border-top:1px solid var(--color-border-muted);background:transparent}.nav-rail-github.svelte-12qhfyh{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;color:var(--color-muted-foreground);border-radius:6px;transition:color .15s ease,background .15s ease}.nav-rail-github.svelte-12qhfyh:hover{color:var(--color-foreground);background:var(--color-muted)}.nav-rail-github-icon.svelte-12qhfyh{width:18px;height:18px;display:block}.nav-rail-brand.svelte-12qhfyh{font-size:.62rem;font-weight:600;line-height:1.15;color:var(--color-muted-foreground-soft);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.06em;max-height:6.5rem;overflow:hidden;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;user-select:none}.shell.svelte-12qhfyh{box-sizing:border-box;width:100%;max-width:min(var(--content-max),100%);margin-left:auto;margin-right:auto;padding-inline:var(--shell-gutter)}.shell-frame.svelte-12qhfyh{box-sizing:border-box;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;max-width:none;border:none;background:transparent}.shell-frame--with-feed-rail.svelte-12qhfyh{border-right:none}.layout-feed-rail.svelte-12qhfyh{box-sizing:border-box;flex:0 0 var(--home-feed-rail-width);width:var(--home-feed-rail-width);display:flex;flex-direction:column;min-height:0;align-self:stretch;border-left:1px solid var(--color-border-muted);background:transparent}.layout-feed-rail--home.svelte-12qhfyh{padding-top:calc(var(--main-padding-top) + .75rem)}.layout-feed-rail.svelte-12qhfyh .source-feed-panel-inline{flex:1 1 auto;min-height:0;width:100%;max-width:none;height:100%}@media(max-width:720px){.layout-app.svelte-12qhfyh{padding-inline:0}.layout-merged-cluster.svelte-12qhfyh{flex-direction:column;width:100%!important;border-radius:0;border-left:none;border-right:none;box-shadow:none}.layout-nav-rail.svelte-12qhfyh{flex:0 0 auto;width:100%;flex-direction:row;align-items:center;justify-content:space-between;border-right:none;border-bottom:1px solid var(--color-border-muted)}.nav-rail-links.svelte-12qhfyh{flex-direction:row;justify-content:center;padding:.4rem .5rem}.nav-rail-cluster.svelte-12qhfyh{flex-direction:row;max-width:none;width:auto}.nav-rail-link.svelte-12qhfyh{min-height:0;min-width:2.65rem;padding:.45rem .5rem;border-bottom:none;border-right:1px solid var(--color-border-muted)}.nav-rail-link.svelte-12qhfyh:last-child{border-right:none}.nav-rail-footer.svelte-12qhfyh{flex-direction:row;border-top:none;padding:.35rem .5rem;gap:.5rem}.nav-rail-brand.svelte-12qhfyh{writing-mode:horizontal-tb;max-height:none;font-size:.65rem;max-width:5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell-frame--with-feed-rail.svelte-12qhfyh{border-right:none}.layout-feed-rail.svelte-12qhfyh{flex:1 1 auto;width:100%;max-width:none;max-height:min(42vh,22rem);min-height:12rem;border-left:none;border-top:1px solid var(--color-border-muted)}.layout-feed-rail--home.svelte-12qhfyh{padding-top:0}}.main.svelte-12qhfyh{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;padding-top:var(--main-padding-top);padding-bottom:1.5rem}.main.main-fill.svelte-12qhfyh{flex:1;min-height:0;overflow:hidden}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1f24zj{margin-top:calc(-1 * var(--main-padding-top));width:100%;max-width:42rem}.feed-col.svelte-1f24zj{padding:0}.body.svelte-1f24zj{overflow:visible;padding:1rem 0}.intro.svelte-1f24zj{color:var(--color-muted-foreground-strong);margin:0 0 1.25rem;line-height:1.5;font-size:.875rem}.intro.svelte-1f24zj code:where(.svelte-1f24zj){font-size:.8125rem}.section-title.svelte-1f24zj{font-size:.8125rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .5rem}.form-section.svelte-1f24zj{margin-bottom:1.25rem}.text-input.svelte-1f24zj{width:100%;box-sizing:border-box;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-card-elevated);color:var(--color-foreground)}.text-input.svelte-1f24zj::placeholder{color:var(--color-muted-foreground-soft)}.hint.svelte-1f24zj{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:.5rem 0 0;line-height:1.45}.btn-row.svelte-1f24zj{display:flex;gap:.75rem}.btn.svelte-1f24zj{padding:.5rem 1rem;font-size:.875rem;border-radius:6px;cursor:pointer;border:none}.btn-primary.svelte-1f24zj{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary.svelte-1f24zj:hover:not(:disabled){background:var(--color-primary-hover)}.btn.svelte-1f24zj:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.feed-wrap.svelte-1f24zj{max-width:100%}}
@@ -0,0 +1 @@
1
+ .admin-sources-back.svelte-8cr5m9{padding-top:.35rem;padding-bottom:.15rem}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1s5glru{margin-top:calc(-1 * var(--main-padding-top));width:100%;max-width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.feed-col.svelte-1s5glru{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:transparent}.feed-toolbar-block.svelte-1s5glru{flex-shrink:0;padding-top:var(--main-padding-top);padding-bottom:var(--feed-sticky-gap-after)}.feed-body-scroll.svelte-1s5glru{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.body.svelte-1s5glru{flex:1;overflow:visible;padding:1rem 0}.section-title.svelte-1s5glru{font-size:.8125rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .5rem}.tags-section.svelte-1s5glru,.suggested-section.svelte-1s5glru{margin-bottom:1.25rem}.empty-hint.svelte-1s5glru{font-size:.8125rem;color:var(--color-muted-foreground-soft);margin:0}.tag-list.svelte-1s5glru{display:flex;flex-wrap:wrap;gap:.5rem}.tag-badge.svelte-1s5glru{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:var(--color-muted);border-radius:var(--radius-sm);font-size:.8125rem}.tag-name.svelte-1s5glru{color:var(--color-foreground);text-decoration:none}.tag-name.svelte-1s5glru:hover{color:var(--color-primary)}.tag-meta.svelte-1s5glru{font-size:.7rem;color:var(--color-muted-foreground-soft)}.tag-remove.svelte-1s5glru,.tag-add.svelte-1s5glru{padding:0 .2rem;font-size:1rem;line-height:1;color:var(--color-muted-foreground-soft);background:none;border:none;cursor:pointer;border-radius:2px}.tag-remove.svelte-1s5glru:hover:not(:disabled),.tag-add.svelte-1s5glru:hover:not(:disabled){color:var(--color-destructive);background:color-mix(in srgb,var(--color-destructive) 16%,transparent)}.tag-add.svelte-1s5glru:hover:not(:disabled){color:var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,transparent)}.tag-badge.suggested.svelte-1s5glru{background:color-mix(in srgb,var(--color-primary) 14%,transparent)}.context-menu.svelte-1s5glru{position:fixed;z-index:100;min-width:180px;padding:.25rem 0;background:var(--color-card-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-panel)}.context-menu-item.svelte-1s5glru{display:block;width:100%;padding:.4rem .75rem;font-size:.8125rem;text-align:left;color:var(--color-foreground);background:none;border:none;cursor:pointer}.context-menu-item.svelte-1s5glru:hover:not(:disabled){background:var(--color-muted)}.context-menu-item.svelte-1s5glru:disabled{opacity:.5;cursor:not-allowed}.state.svelte-1s5glru{text-align:center;padding:4rem;color:var(--color-muted-foreground-soft);font-size:.875rem}@media(max-width:600px){.feed-wrap.svelte-1s5glru{max-width:100%}}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1lsf4ps{--feed-sticky-gap-after: 0;margin-top:calc(-1 * var(--main-padding-top));width:100%;max-width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.feed-col.svelte-1lsf4ps{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:transparent}.feed-toolbar-block.svelte-1lsf4ps{flex-shrink:0;padding-top:var(--main-padding-top);padding-bottom:var(--feed-sticky-gap-after)}.feed-header.svelte-1lsf4ps{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;flex-shrink:0;border-bottom:1px solid var(--color-border-muted)}.header-left.svelte-1lsf4ps{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.header-left.svelte-1lsf4ps .filter-input:where(.svelte-1lsf4ps){flex:1;min-width:7rem;max-width:18rem;width:auto}.header-right.svelte-1lsf4ps{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.filter-input.svelte-1lsf4ps{box-sizing:border-box;padding:.35rem .6rem;font-size:.8125rem;font-family:inherit;border:1px solid var(--color-input);border-radius:var(--radius-sm);outline:none;background:var(--color-card-elevated);color:var(--color-foreground);transition:border-color .15s,background .15s}.filter-input.svelte-1lsf4ps:focus{border-color:var(--color-primary);background:var(--color-card)}.filter-input.svelte-1lsf4ps::placeholder{color:var(--color-muted-foreground-soft)}.filter-input--level.svelte-1lsf4ps{width:auto;min-width:7rem;flex-shrink:0;cursor:pointer;font-variant-numeric:tabular-nums}.log-body-scroll.svelte-1lsf4ps,.log-has-data.svelte-1lsf4ps{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.log-table-scroll.svelte-1lsf4ps{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.log-table-scroll.svelte-1lsf4ps::-webkit-scrollbar{width:4px}.log-table-scroll.svelte-1lsf4ps::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:2px}.btn.svelte-1lsf4ps{display:inline-flex;align-items:center;padding:.4rem .9rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-family:inherit;transition:background .15s}.btn-primary.svelte-1lsf4ps{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary.svelte-1lsf4ps:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary.svelte-1lsf4ps{background:var(--color-muted);color:var(--color-foreground);border:1px solid var(--color-border)}.btn-secondary.svelte-1lsf4ps:hover:not(:disabled){background:var(--color-accent)}.btn.svelte-1lsf4ps:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1lsf4ps{padding:.25rem .5rem;font-size:.75rem}.table-wrap.svelte-1lsf4ps{width:100%}table.svelte-1lsf4ps{width:100%;table-layout:fixed;border-collapse:collapse}thead.svelte-1lsf4ps th:where(.svelte-1lsf4ps){position:sticky;top:0;z-index:3;background:var(--color-card-elevated);font-size:.72rem;font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border)}tbody.svelte-1lsf4ps tr:where(.svelte-1lsf4ps){border-bottom:1px solid var(--color-border-muted)}tbody.svelte-1lsf4ps tr:where(.svelte-1lsf4ps):hover{background:var(--color-muted)}tbody.svelte-1lsf4ps td:where(.svelte-1lsf4ps){padding:.5rem .75rem;font-size:.8125rem;vertical-align:middle}.th-time.svelte-1lsf4ps{width:130px}.th-level.svelte-1lsf4ps{width:68px}.th-cat.svelte-1lsf4ps{width:7rem;max-width:28vw}.th-msg.svelte-1lsf4ps{min-width:0}.th-detail.svelte-1lsf4ps{width:32%}.log-row.svelte-1lsf4ps{cursor:pointer}.log-row.svelte-1lsf4ps:focus{outline:1px dotted var(--color-muted-foreground);outline-offset:-1px}.td-time.svelte-1lsf4ps{color:var(--color-muted-foreground);white-space:nowrap}.td-level.svelte-1lsf4ps{white-space:nowrap}.badge.svelte-1lsf4ps{display:inline-block;padding:.12rem .4rem;border-radius:4px;font-size:.7rem;font-weight:500}.badge.level-error.svelte-1lsf4ps{background:color-mix(in srgb,var(--color-destructive) 18%,transparent);color:var(--color-destructive);border:1px solid color-mix(in srgb,var(--color-destructive) 45%,transparent)}.badge.level-warn.svelte-1lsf4ps{background:#eab30824;color:#fbbf24;border:1px solid rgba(234,179,8,.35)}.badge.level-info.svelte-1lsf4ps{background:var(--color-primary-light);color:var(--color-primary-hover);border:1px solid color-mix(in srgb,var(--color-primary) 40%,transparent)}.badge.level-debug.svelte-1lsf4ps{background:var(--color-muted);color:var(--color-muted-foreground-strong);border:1px solid var(--color-border)}.td-cat.svelte-1lsf4ps{color:var(--color-muted-foreground-strong)}.td-msg.svelte-1lsf4ps{word-break:break-word;max-width:320px}.td-detail.svelte-1lsf4ps{color:var(--color-muted-foreground-soft);font-family:Menlo,Monaco,Consolas,monospace;font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payload-row.svelte-1lsf4ps td:where(.svelte-1lsf4ps){padding:.25rem .75rem .65rem;background:transparent;border-bottom:1px solid var(--color-border-muted);vertical-align:top}.payload-content.svelte-1lsf4ps{margin:0;padding:0;font-family:Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.5;background:transparent;border:none;border-radius:0;overflow-x:auto;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;color:var(--color-muted-foreground-strong)}.log-toolbar.svelte-1lsf4ps{display:flex;align-items:center;justify-content:space-between;padding:.65rem 0 0;flex-shrink:0}.pagination-info.svelte-1lsf4ps{font-size:.8125rem;color:var(--color-muted-foreground)}.pagination-btns.svelte-1lsf4ps{display:flex;gap:.5rem}.state.svelte-1lsf4ps{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem;color:var(--color-muted-foreground-soft);font-size:.875rem}.state.err.svelte-1lsf4ps{flex:1;align-self:stretch;color:var(--color-destructive);background:color-mix(in srgb,var(--color-destructive) 12%,transparent);border-radius:var(--radius-md);padding:1rem;margin:.75rem 0}@media(max-width:720px){.feed-wrap.svelte-1lsf4ps{max-width:100%}.payload-row.svelte-1lsf4ps td:where(.svelte-1lsf4ps){padding-left:.5rem}.payload-row.svelte-1lsf4ps td[colspan="5"]:where(.svelte-1lsf4ps){padding-left:.5rem}}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1nj0iur{--feed-sticky-gap-after: 0;margin-top:calc(-1 * var(--main-padding-top));width:100%;max-width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.feed-col.svelte-1nj0iur{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:transparent}.plugins-toolbar-block.svelte-1nj0iur{flex-shrink:0;padding-top:var(--main-padding-top);padding-bottom:var(--feed-sticky-gap-after)}.feed-header.svelte-1nj0iur{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;flex-shrink:0;border-bottom:1px solid var(--color-border-muted)}.header-left.svelte-1nj0iur{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.header-right.svelte-1nj0iur{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.filter-input.svelte-1nj0iur{flex:1;min-width:7rem;max-width:18rem;width:auto;padding:.35rem .6rem;font-size:.8125rem;border:1px solid var(--color-input);border-radius:var(--radius-sm);outline:none;background:var(--color-card-elevated);color:var(--color-foreground);transition:border-color .15s,background .15s}.filter-input.svelte-1nj0iur:focus{border-color:var(--color-primary);background:var(--color-card)}.filter-input.svelte-1nj0iur::placeholder{color:var(--color-muted-foreground-soft)}.btn-add.svelte-1nj0iur{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;flex-shrink:0;color:var(--color-primary-foreground);background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s,background .15s}.btn-add.svelte-1nj0iur:hover{opacity:.9;background:var(--color-primary-hover, var(--color-primary))}.plugins-body-scroll.svelte-1nj0iur{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.plugins-body-scroll.svelte-1nj0iur::-webkit-scrollbar{width:4px}.plugins-body-scroll.svelte-1nj0iur::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:2px}.link-btn.svelte-1nj0iur{background:none;border:none;padding:0;margin:0;color:var(--color-primary);text-decoration:underline;cursor:pointer;font:inherit;font-size:inherit}.link-btn.svelte-1nj0iur:hover{color:var(--color-primary-hover)}.state.svelte-1nj0iur{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;color:var(--color-muted-foreground);font-size:.875rem}.state.error.svelte-1nj0iur{color:var(--color-destructive)}.plugin-table-wrap.svelte-1nj0iur{width:100%;min-width:min(100%,520px);overflow-x:auto;-webkit-overflow-scrolling:touch}.plugin-table.svelte-1nj0iur{width:100%;table-layout:fixed;border-collapse:collapse}.plugin-table.svelte-1nj0iur thead:where(.svelte-1nj0iur) th:where(.svelte-1nj0iur){position:sticky;top:0;z-index:2;background:var(--color-card-elevated);font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground-soft);text-align:left;padding:.55rem .5rem .6rem 0;border-bottom:1px solid var(--color-border);white-space:nowrap}.th-pattern.svelte-1nj0iur{width:38%}.th-login.svelte-1nj0iur,.th-check.svelte-1nj0iur{width:6.5rem;text-align:right}.plugin-table.svelte-1nj0iur tbody:where(.svelte-1nj0iur) td:where(.svelte-1nj0iur){padding:.55rem .5rem .55rem 0;font-size:.8125rem;vertical-align:middle;border-bottom:1px solid var(--color-border-muted)}.plugin-row.svelte-1nj0iur{cursor:pointer}.plugin-row.svelte-1nj0iur:hover{background:var(--color-muted)}.plugin-row.svelte-1nj0iur:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.plugin-row.svelte-1nj0iur:last-child td:where(.svelte-1nj0iur){border-bottom:none}.name-cell.svelte-1nj0iur{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-width:0}.kind-badge.svelte-1nj0iur{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted-foreground-strong);border:1px solid var(--color-border-muted);border-radius:4px;padding:.1rem .35rem}.plugin-id-text.svelte-1nj0iur{font-size:.875rem;font-weight:500;color:var(--color-foreground)}.plugin-row.svelte-1nj0iur:hover .plugin-id-text:where(.svelte-1nj0iur){color:var(--color-primary)}.pattern-text.svelte-1nj0iur{display:block;font-family:ui-monospace,monospace;font-size:.78rem;color:var(--color-muted-foreground-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-login.svelte-1nj0iur,.td-check.svelte-1nj0iur{text-align:right;white-space:nowrap}.cell-dash.svelte-1nj0iur{color:var(--color-muted-foreground-soft);font-size:.875rem}.cell-btn.svelte-1nj0iur{padding:.3rem .55rem;border-radius:6px;font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s}.cell-btn--primary.svelte-1nj0iur{border:none;background:var(--color-primary);color:var(--color-primary-foreground)}.cell-btn--primary.svelte-1nj0iur:hover{opacity:.92;background:var(--color-primary-hover, var(--color-primary))}.cell-btn--secondary.svelte-1nj0iur{background:var(--color-muted);color:var(--color-foreground);border:1px solid var(--color-border)}.cell-btn--secondary.svelte-1nj0iur:hover{background:var(--color-accent)}@media(max-width:600px){.feed-wrap.svelte-1nj0iur{max-width:100%}.th-pattern.svelte-1nj0iur{width:28%}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:100}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--color-card-elevated);border-radius:10px;width:calc(100% - 2rem);max-width:520px;box-shadow:var(--shadow-panel);border:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;z-index:101}.modal .modal-header.svelte-1nj0iur{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid var(--color-border-muted)}.modal-title{font-size:.9375rem;font-weight:600;margin:0;color:var(--color-foreground)}.modal-close{background:none;border:none;padding:.25rem;font-size:1rem;color:var(--color-muted-foreground);cursor:pointer;line-height:1;border-radius:4px}.modal-close:hover{color:var(--color-foreground);background:var(--color-muted)}.modal-body.svelte-1nj0iur{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.add-hint.svelte-1nj0iur{margin:0;font-size:.75rem;line-height:1.5;color:var(--color-muted-foreground-soft)}.field.svelte-1nj0iur{display:flex;flex-direction:column;gap:.35rem}.field-label.svelte-1nj0iur{font-size:.8125rem;color:var(--color-muted-foreground-strong)}.field-input.svelte-1nj0iur{padding:.5rem .65rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-input);background:var(--color-card);color:var(--color-foreground);font-family:ui-monospace,monospace;font-size:.875rem;width:100%;outline:none}.field-input.svelte-1nj0iur:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 45%,transparent)}.modal-footer.svelte-1nj0iur{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding-top:.25rem;border-top:none}.modal-footer-right.svelte-1nj0iur{display:flex;align-items:center;gap:.5rem}.btn-cancel{padding:.4rem 1rem;font-size:.875rem;color:var(--color-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.btn-cancel:hover:not(:disabled){background:var(--color-accent)}.btn-save.svelte-1nj0iur{padding:.4rem 1.2rem;font-size:.875rem;color:var(--color-primary-foreground);background:var(--color-primary);border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.btn-save.svelte-1nj0iur:hover:not(:disabled){opacity:.85}.btn-save.svelte-1nj0iur:disabled{opacity:.6;cursor:not-allowed}
@@ -0,0 +1 @@
1
+ .redirect-msg.svelte-1b0rhdm{margin:0;padding:1.5rem;font-size:.875rem;color:var(--color-muted-foreground);text-align:center}
@@ -0,0 +1 @@
1
+ .cm-root.svelte-15dfyqh{width:100%;overflow:hidden;background:var(--color-card)}.cm-root.svelte-15dfyqh .cm-editor{height:100%}.cm-root.svelte-15dfyqh .cm-editor.cm-focused{outline:none}.feed-wrap.svelte-1141x2j{margin-top:calc(-1 * var(--main-padding-top));width:100%;max-width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.feed-col.svelte-1141x2j{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:transparent}.feed-toolbar-block.svelte-1141x2j{flex-shrink:0;padding-top:var(--main-padding-top);padding-bottom:var(--feed-sticky-gap-after)}.plugin-detail-toolbar.svelte-1141x2j .back-to-parent{margin:0}.feed-body-scroll.svelte-1141x2j{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.plugin-path.svelte-1141x2j{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.72rem;word-break:break-all}.plugin-editor-area.svelte-1141x2j{flex:1;min-height:0;display:flex;flex-direction:column;padding:1rem 0;box-sizing:border-box}.editor-wrap.svelte-1141x2j{flex:1;min-height:0;display:flex;flex-direction:column}.state.svelte-1141x2j{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;color:var(--color-muted-foreground);font-size:.875rem}.state.err.svelte-1141x2j{color:var(--color-destructive)}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1jef3w8{margin-top:calc(-1 * var(--main-padding-top));width:100%;max-width:100%;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.feed-col.svelte-1jef3w8{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;background:transparent}.settings-toolbar-block.svelte-1jef3w8{flex-shrink:0;padding-top:var(--main-padding-top);padding-bottom:calc(var(--feed-sticky-gap-after) * .95);border-bottom:1px solid var(--color-border-muted)}.feed-header.svelte-1jef3w8{padding:0;flex-shrink:0}.settings-body-scroll.svelte-1jef3w8{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.feed-header.svelte-1jef3w8 h2:where(.svelte-1jef3w8){font-size:.9375rem;font-weight:600;margin:0 0 .2375rem;color:var(--color-foreground)}.sub.svelte-1jef3w8{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:0}.body.svelte-1jef3w8{padding:.95rem 0 1.425rem;box-sizing:border-box}.section-title.svelte-1jef3w8{font-size:.8125rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .475rem}.scheduler-section.svelte-1jef3w8{margin-bottom:1.1875rem}.scheduler-card.svelte-1jef3w8{padding:0;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.scheduler-row.svelte-1jef3w8{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7125rem 1rem;border-bottom:1px solid var(--color-border)}.scheduler-row.svelte-1jef3w8:last-child{border-bottom:none}.scheduler-left.svelte-1jef3w8{flex:1;min-width:0;display:flex;flex-direction:column;gap:.19rem}.scheduler-name.svelte-1jef3w8{font-weight:600;font-size:.875rem;color:var(--color-foreground)}.scheduler-meta.svelte-1jef3w8{font-size:.75rem;color:var(--color-muted-foreground)}.scheduler-slots.svelte-1jef3w8{display:flex;align-items:center;gap:4px;flex-shrink:0}.slot.svelte-1jef3w8{width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:background .2s}.slot.filled.svelte-1jef3w8{background:var(--color-success)}.links-section.svelte-1jef3w8{margin-bottom:1.1875rem}.links-section.svelte-1jef3w8:last-child{margin-bottom:.475rem}.links.svelte-1jef3w8{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.card.svelte-1jef3w8{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.83125rem 1rem;background:var(--color-card);border-bottom:1px solid var(--color-border);text-decoration:none;transition:background .15s}.card.svelte-1jef3w8:last-child{border-bottom:none}.card.svelte-1jef3w8:hover{background:var(--color-muted)}.card-main.svelte-1jef3w8{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1425rem}.card-label.svelte-1jef3w8{font-size:.9rem;font-weight:500;color:var(--color-foreground);line-height:1.33}.card.svelte-1jef3w8:hover .card-label:where(.svelte-1jef3w8){color:var(--color-primary)}.card-desc.svelte-1jef3w8{font-size:.75rem;color:var(--color-muted-foreground-soft);line-height:1.235}.card-arrow.svelte-1jef3w8{font-size:1rem;color:var(--color-muted-foreground);flex-shrink:0}@media(max-width:600px){.feed-wrap.svelte-1jef3w8{max-width:100%}}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1a0dvmg{width:100%;max-width:100%;margin:0;display:flex;flex-direction:column;overflow:visible;min-height:auto}.feed-col.svelte-1a0dvmg{display:flex;flex-direction:column;overflow:visible;min-height:auto;background:transparent}.body.svelte-1a0dvmg{flex:1;overflow:visible;padding:1rem 0}.intro.svelte-1a0dvmg{color:var(--color-muted-foreground-strong);margin:0 0 1.25rem;line-height:1.5;font-size:.875rem}.section-title.svelte-1a0dvmg{font-size:.8125rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .5rem}.form-section.svelte-1a0dvmg{margin-bottom:1.25rem}.text-input.svelte-1a0dvmg{width:100%;box-sizing:border-box;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-input);border-radius:var(--radius-sm);background:var(--color-card-elevated);color:var(--color-foreground)}.text-input.svelte-1a0dvmg::placeholder{color:var(--color-muted-foreground-soft)}.hint.svelte-1a0dvmg{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:.5rem 0 0;line-height:1.45}.btn-row.svelte-1a0dvmg{display:flex;gap:.75rem}.btn.svelte-1a0dvmg{padding:.5rem 1rem;font-size:.875rem;border-radius:6px;cursor:pointer;border:none}.btn-primary.svelte-1a0dvmg{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary.svelte-1a0dvmg:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary.svelte-1a0dvmg{background:var(--color-muted);color:var(--color-foreground);border:1px solid var(--color-border)}.btn-secondary.svelte-1a0dvmg:hover:not(:disabled){background:var(--color-accent)}.btn.svelte-1a0dvmg:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.feed-wrap.svelte-1a0dvmg{max-width:100%}}
@@ -0,0 +1 @@
1
+ .muted.svelte-1w6l7vk{margin:0;padding:1.5rem;font-size:.875rem;color:var(--color-muted-foreground);text-align:center}
@@ -0,0 +1 @@
1
+ .feed-wrap.svelte-1x680s0{width:100%;max-width:100%;margin:0;display:flex;flex-direction:column;overflow:visible;min-height:auto}.feed-col.svelte-1x680s0{display:flex;flex-direction:column;overflow:visible;min-height:auto;background:transparent}.feed-header.svelte-1x680s0{padding:.875rem 0;flex-shrink:0;border-bottom:1px solid var(--color-border-muted)}.feed-header.svelte-1x680s0 h2:where(.svelte-1x680s0){font-size:.9375rem;font-weight:600;margin:0 0 .25rem;color:var(--color-foreground)}.page-desc.svelte-1x680s0{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:0;line-height:1.5}.body.svelte-1x680s0{flex:1;overflow:visible;padding:1rem 0}.url-row.svelte-1x680s0{display:flex;gap:.5rem;margin-bottom:.75rem}.url-row.svelte-1x680s0 input:where(.svelte-1x680s0){flex:1;padding:.65rem 1rem;border:1px solid var(--color-input);border-radius:var(--radius-md);font-size:.9375rem;outline:none;transition:border .15s,box-shadow .15s;min-width:0;background:var(--color-card-elevated);color:var(--color-foreground);font-family:inherit}.url-row.svelte-1x680s0 input:where(.svelte-1x680s0):focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.url-row.svelte-1x680s0 button:where(.svelte-1x680s0){padding:.65rem 1.375rem;background:var(--color-primary);color:var(--color-primary-foreground);border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-family:inherit;white-space:nowrap;transition:background .15s}.url-row.svelte-1x680s0 button:where(.svelte-1x680s0):hover:not(:disabled){background:var(--color-primary-hover)}.url-row.svelte-1x680s0 button:where(.svelte-1x680s0):disabled{opacity:.65;cursor:not-allowed}.result-error.svelte-1x680s0{margin-top:1rem;width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-destructive, #c00) 12%,transparent);color:var(--color-foreground);font-size:.8125rem;white-space:pre-wrap;word-break:break-word}.result-wrap.svelte-1x680s0{margin-top:1rem;width:100%}.result-label.svelte-1x680s0{font-size:.75rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .4rem}.result-json.svelte-1x680s0{margin:0;padding:1rem;max-height:min(70vh,520px);overflow:auto;font-size:.75rem;line-height:1.45;border-radius:var(--radius-md);border:1px solid var(--color-input);background:var(--color-muted);color:var(--color-foreground)}.proxy-row.svelte-1x680s0{margin-bottom:.75rem}.proxy-row.svelte-1x680s0 input:where(.svelte-1x680s0){width:100%;box-sizing:border-box;padding:.55rem 1rem;border:1px solid var(--color-input);border-radius:var(--radius-md);font-size:.8125rem;outline:none;transition:border .15s,box-shadow .15s;background:var(--color-card-elevated);color:var(--color-foreground);font-family:ui-monospace,monospace}.proxy-row.svelte-1x680s0 input:where(.svelte-1x680s0):focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.info-box.svelte-1x680s0{margin-top:2rem;width:100%;background:var(--color-primary-light);border:1px solid color-mix(in srgb,var(--color-primary) 38%,transparent);border-radius:var(--radius-md);padding:.875rem 1.125rem;font-size:.8rem;color:var(--color-muted-foreground-strong);line-height:1.7}.info-box.svelte-1x680s0 p:where(.svelte-1x680s0){margin:0 0 .65rem}.info-box.svelte-1x680s0 p:where(.svelte-1x680s0):last-child{margin-bottom:0}.info-note.svelte-1x680s0{color:var(--color-muted-foreground);font-size:.78rem}.info-box.svelte-1x680s0 code:where(.svelte-1x680s0){background:var(--color-muted);padding:.1rem .35rem;border-radius:3px;font-family:monospace}@media(max-width:600px){.feed-wrap.svelte-1x680s0{max-width:100%}}
@@ -1 +1 @@
1
- .feed-wrap.svelte-jqd85f{width:100%;max-width:100%;margin:0;display:flex;flex-direction:column;overflow:visible;min-height:auto}.feed-col.svelte-jqd85f{display:flex;flex-direction:column;overflow:visible;min-height:auto;background:transparent}.feed-header.svelte-jqd85f{padding:.875rem 0;flex-shrink:0;border-bottom:1px solid var(--color-border-muted)}.feed-header.svelte-jqd85f h2:where(.svelte-jqd85f){font-size:.9375rem;font-weight:600;margin:0 0 .25rem;color:var(--color-foreground)}.page-desc.svelte-jqd85f{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:0}.state.svelte-jqd85f{padding:2rem;text-align:center;color:var(--color-muted-foreground);font-size:.875rem}.body.svelte-jqd85f{flex:1;overflow:visible;padding:1rem 0}.section-title.svelte-jqd85f{font-size:.8125rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .25rem}.hint.svelte-jqd85f{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:0 0 .5rem}.pipeline-section.svelte-jqd85f{margin-bottom:1.5rem}.step-list.svelte-jqd85f{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.step-row.svelte-jqd85f{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-card);border-bottom:1px solid var(--color-border);cursor:grab}.step-row.svelte-jqd85f:last-child{border-bottom:none}.step-row.dragging.svelte-jqd85f{opacity:.5;cursor:grabbing}.drag-handle.svelte-jqd85f{color:var(--color-muted-foreground-soft);font-size:.875rem;cursor:grab;-webkit-user-select:none;user-select:none}.toggle-wrap.svelte-jqd85f{display:flex;align-items:center;cursor:pointer}.toggle-wrap.svelte-jqd85f input:where(.svelte-jqd85f){position:absolute;opacity:0;width:0;height:0}.toggle-slider.svelte-jqd85f{width:36px;height:20px;background:#ffffff24;border-radius:10px;transition:background .2s}.toggle-slider.svelte-jqd85f:after{content:"";display:block;width:16px;height:16px;background:var(--color-card-elevated);border-radius:50%;margin:2px 0 0 2px;transition:transform .2s;box-shadow:0 1px 2px #00000059}.toggle-wrap.svelte-jqd85f input:where(.svelte-jqd85f):checked+.toggle-slider:where(.svelte-jqd85f){background:var(--color-success)}.toggle-wrap.svelte-jqd85f input:where(.svelte-jqd85f):checked+.toggle-slider:where(.svelte-jqd85f):after{transform:translate(16px)}.step-label.svelte-jqd85f{flex:1;font-size:.875rem;min-width:0;color:var(--color-foreground)}.btn-add.svelte-jqd85f{margin-top:.5rem;padding:.35rem .75rem;font-size:.8125rem;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.btn-add.svelte-jqd85f:hover:not(:disabled){background:var(--color-accent)}.save-row.svelte-jqd85f{margin-top:1rem}.btn.svelte-jqd85f{padding:.5rem 1rem;font-size:.875rem;border-radius:var(--radius-sm);cursor:pointer;border:none}.btn-primary.svelte-jqd85f{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary.svelte-jqd85f:hover:not(:disabled){background:var(--color-primary-hover)}.btn.svelte-jqd85f:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.feed-wrap.svelte-jqd85f{max-width:100%}}
1
+ .feed-wrap.svelte-jqd85f{width:100%;max-width:100%;margin:0;display:flex;flex-direction:column;overflow:visible;min-height:auto}.feed-col.svelte-jqd85f{display:flex;flex-direction:column;overflow:visible;min-height:auto;background:transparent}.feed-header.svelte-jqd85f{padding:.875rem 0;flex-shrink:0;border-bottom:1px solid var(--color-border-muted)}.feed-header.svelte-jqd85f h2:where(.svelte-jqd85f){font-size:.9375rem;font-weight:600;margin:0 0 .25rem;color:var(--color-foreground)}.page-desc.svelte-jqd85f{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:0}.state.svelte-jqd85f{padding:2rem;text-align:center;color:var(--color-muted-foreground);font-size:.875rem}.body.svelte-jqd85f{flex:1;overflow:visible;padding:1rem 0}.section-title.svelte-jqd85f{font-size:.8125rem;font-weight:600;color:var(--color-muted-foreground);margin:0 0 .25rem}.hint.svelte-jqd85f{font-size:.75rem;color:var(--color-muted-foreground-soft);margin:0 0 .5rem}.pipeline-section.svelte-jqd85f{margin-bottom:1.5rem}.step-list.svelte-jqd85f{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.step-row.svelte-jqd85f{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-card);border-bottom:1px solid var(--color-border);cursor:grab}.step-row.svelte-jqd85f:last-child{border-bottom:none}.step-row.dragging.svelte-jqd85f{opacity:.5;cursor:grabbing}.drag-handle.svelte-jqd85f{color:var(--color-muted-foreground-soft);font-size:.875rem;cursor:grab;-webkit-user-select:none;user-select:none}.toggle-wrap.svelte-jqd85f{display:flex;align-items:center;cursor:pointer}.toggle-wrap.svelte-jqd85f input:where(.svelte-jqd85f){position:absolute;opacity:0;width:0;height:0}.toggle-slider.svelte-jqd85f{width:36px;height:20px;background:var(--color-input);border-radius:10px;transition:background .2s}.toggle-slider.svelte-jqd85f:after{content:"";display:block;width:16px;height:16px;background:var(--color-card-elevated);border-radius:50%;margin:2px 0 0 2px;transition:transform .2s;box-shadow:0 1px 2px #00000059}.toggle-wrap.svelte-jqd85f input:where(.svelte-jqd85f):checked+.toggle-slider:where(.svelte-jqd85f){background:var(--color-success)}.toggle-wrap.svelte-jqd85f input:where(.svelte-jqd85f):checked+.toggle-slider:where(.svelte-jqd85f):after{transform:translate(16px)}.step-label.svelte-jqd85f{flex:1;font-size:.875rem;min-width:0;color:var(--color-foreground)}.btn-add.svelte-jqd85f{margin-top:.5rem;padding:.35rem .75rem;font-size:.8125rem;color:var(--color-muted-foreground);background:var(--color-muted);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.btn-add.svelte-jqd85f:hover:not(:disabled){background:var(--color-accent)}.save-row.svelte-jqd85f{margin-top:1rem}.btn.svelte-jqd85f{padding:.5rem 1rem;font-size:.875rem;border-radius:var(--radius-sm);cursor:pointer;border:none}.btn-primary.svelte-jqd85f{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary.svelte-jqd85f:hover:not(:disabled){background:var(--color-primary-hover)}.btn.svelte-jqd85f:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.feed-wrap.svelte-jqd85f{max-width:100%}}
@@ -0,0 +1 @@
1
+ .back-to-parent.svelte-1md38m6{margin:0 0 1.125rem;text-decoration:none;width:fit-content}