neoagent 2.4.1-beta.22 → 2.4.1-beta.23

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 (62) hide show
  1. package/extensions/chrome-browser/icons/logo.svg +11 -2
  2. package/flutter_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  3. package/flutter_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  4. package/flutter_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  5. package/flutter_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  6. package/flutter_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  7. package/flutter_app/assets/branding/app_icon_1024.png +0 -0
  8. package/flutter_app/assets/branding/app_icon_128.png +0 -0
  9. package/flutter_app/assets/branding/app_icon_192.png +0 -0
  10. package/flutter_app/assets/branding/app_icon_256.png +0 -0
  11. package/flutter_app/assets/branding/app_icon_32.png +0 -0
  12. package/flutter_app/assets/branding/app_icon_512.png +0 -0
  13. package/flutter_app/assets/branding/app_icon_64.png +0 -0
  14. package/flutter_app/assets/branding/app_icon_light_1024.png +0 -0
  15. package/flutter_app/assets/branding/app_icon_light_128.png +0 -0
  16. package/flutter_app/assets/branding/app_icon_light_192.png +0 -0
  17. package/flutter_app/assets/branding/app_icon_light_256.png +0 -0
  18. package/flutter_app/assets/branding/app_icon_light_32.png +0 -0
  19. package/flutter_app/assets/branding/app_icon_light_512.png +0 -0
  20. package/flutter_app/assets/branding/app_icon_light_64.png +0 -0
  21. package/flutter_app/linux/runner/resources/app_icon.png +0 -0
  22. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png +0 -0
  23. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png +0 -0
  24. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png +0 -0
  25. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png +0 -0
  26. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png +0 -0
  27. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png +0 -0
  28. package/flutter_app/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png +0 -0
  29. package/flutter_app/tool/generate_desktop_branding.py +103 -14
  30. package/flutter_app/web/favicon.png +0 -0
  31. package/flutter_app/web/favicon.svg +11 -2
  32. package/flutter_app/web/favicon_light.svg +11 -2
  33. package/flutter_app/web/icons/Icon-192-light.png +0 -0
  34. package/flutter_app/web/icons/Icon-192.png +0 -0
  35. package/flutter_app/web/icons/Icon-512-light.png +0 -0
  36. package/flutter_app/web/icons/Icon-512.png +0 -0
  37. package/flutter_app/web/icons/Icon-maskable-192-light.png +0 -0
  38. package/flutter_app/web/icons/Icon-maskable-192.png +0 -0
  39. package/flutter_app/web/icons/Icon-maskable-512-light.png +0 -0
  40. package/flutter_app/web/icons/Icon-maskable-512.png +0 -0
  41. package/flutter_app/windows/runner/main.cpp +7 -1
  42. package/flutter_app/windows/runner/resources/app_icon.ico +0 -0
  43. package/package.json +1 -1
  44. package/server/public/.last_build_id +1 -1
  45. package/server/public/assets/assets/branding/app_icon_256.png +0 -0
  46. package/server/public/assets/assets/branding/app_icon_512.png +0 -0
  47. package/server/public/assets/assets/branding/app_icon_light_256.png +0 -0
  48. package/server/public/assets/assets/branding/app_icon_light_512.png +0 -0
  49. package/server/public/assets/web/icons/Icon-192.png +0 -0
  50. package/server/public/favicon.png +0 -0
  51. package/server/public/favicon.svg +11 -2
  52. package/server/public/favicon_light.svg +11 -2
  53. package/server/public/flutter_bootstrap.js +1 -1
  54. package/server/public/icons/Icon-192-light.png +0 -0
  55. package/server/public/icons/Icon-192.png +0 -0
  56. package/server/public/icons/Icon-512-light.png +0 -0
  57. package/server/public/icons/Icon-512.png +0 -0
  58. package/server/public/icons/Icon-maskable-192-light.png +0 -0
  59. package/server/public/icons/Icon-maskable-192.png +0 -0
  60. package/server/public/icons/Icon-maskable-512-light.png +0 -0
  61. package/server/public/icons/Icon-maskable-512.png +0 -0
  62. package/server/public/main.dart.js +4 -4
@@ -1,12 +1,21 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
2
  <defs>
3
3
  <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" stop-color="#95764a"/>
5
- <stop offset="100%" stop-color="#3a8679"/>
4
+ <stop offset="0%" stop-color="#9e8052"/>
5
+ <stop offset="100%" stop-color="#439081"/>
6
6
  </linearGradient>
7
+ <radialGradient id="shine" cx="24%" cy="15%" r="70%">
8
+ <stop offset="0%" stop-color="#fff4d8" stop-opacity="0.24"/>
9
+ <stop offset="100%" stop-color="#fff4d8" stop-opacity="0"/>
10
+ </radialGradient>
7
11
  </defs>
8
12
  <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#bg)" stroke="#ffffff" stroke-opacity="0.16" stroke-width="1"/>
13
+ <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#shine)"/>
14
+ <path d="M2.5 17h27v3.5c0 5-4 9-9 9h-9c-5 0-9-4-9-9Z" fill="#000000" opacity="0.08"/>
9
15
  <rect x="3" y="3" width="26" height="26" rx="8.5" ry="8.5" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="1"/>
16
+ <path d="M16 6.25 26.15 12.3 16 16.3 5.85 12.3Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
17
+ <path d="M16 14.75 25.85 19.45 16 22.25 6.15 19.45Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
18
+ <path d="M16 20.45 24.85 24.75 16 26.85 7.15 24.75Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
10
19
  <path d="M16 5.7 26.8 12.1 16 16.5 5.2 12.1Z" fill="#ffffff"/>
11
20
  <path d="M16 14.2 26.5 19.3 16 22.4 5.5 19.3Z" fill="#ffffff"/>
12
21
  <path d="M16 20 25.4 24.6 16 27 6.6 24.6Z" fill="#ffffff"/>
@@ -2,7 +2,6 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- import math
6
5
  from pathlib import Path
7
6
 
8
7
  from PIL import Image, ImageDraw, ImageFilter
@@ -22,11 +21,11 @@ STATIC_IMG_DIR = ROOT.parent / "static" / "img"
22
21
  LANDING_LOGO_PATH = ROOT.parent / "landing" / "assets" / "logo.svg"
23
22
  EXTENSION_LOGO_PATH = ROOT.parent / "extensions" / "chrome-browser" / "icons" / "logo.svg"
24
23
 
25
- ACCENT = (118, 89, 50)
26
- ACCENT_ALT = (40, 105, 92)
27
- ACCENT_DARK = (149, 118, 74)
28
- ACCENT_ALT_DARK = (58, 134, 121)
29
- SYMBOL_LIGHT = (255, 249, 237, 255)
24
+ ACCENT = (104, 78, 44)
25
+ ACCENT_ALT = (35, 92, 82)
26
+ ACCENT_DARK = (158, 128, 82)
27
+ ACCENT_ALT_DARK = (67, 144, 129)
28
+ SYMBOL_LIGHT = (255, 247, 232, 255)
30
29
  WHITE = (255, 255, 255, 255)
31
30
  TRANSPARENT = (0, 0, 0, 0)
32
31
 
@@ -35,6 +34,18 @@ def lerp(a: float, b: float, t: float) -> float:
35
34
  return a + (b - a) * t
36
35
 
37
36
 
37
+ def mix_channel(value: int, target: int, amount: float) -> int:
38
+ return max(0, min(255, round(lerp(value, target, amount))))
39
+
40
+
41
+ def mix_color(color: tuple[int, int, int], target: int, amount: float) -> tuple[int, int, int]:
42
+ return (
43
+ mix_channel(color[0], target, amount),
44
+ mix_channel(color[1], target, amount),
45
+ mix_channel(color[2], target, amount),
46
+ )
47
+
48
+
38
49
  def gradient_background(
39
50
  size: int,
40
51
  start: tuple[int, int, int],
@@ -46,11 +57,21 @@ def gradient_background(
46
57
  for x in range(size):
47
58
  tx = x / max(size - 1, 1)
48
59
  ty = y / max(size - 1, 1)
49
- t = (tx + ty) / 2
50
- px[x, y] = (
60
+ diagonal = (tx * 0.58) + (ty * 0.42)
61
+ glow = max(0.0, 1.0 - (((tx - 0.25) ** 2 + (ty - 0.18) ** 2) ** 0.5) / 0.58)
62
+ shade = max(0.0, 1.0 - (((tx - 0.86) ** 2 + (ty - 0.94) ** 2) ** 0.5) / 0.72)
63
+ t = min(1.0, max(0.0, diagonal + glow * 0.12 - shade * 0.08))
64
+ base = (
51
65
  int(lerp(start[0], end[0], t)),
52
66
  int(lerp(start[1], end[1], t)),
53
67
  int(lerp(start[2], end[2], t)),
68
+ )
69
+ lit = mix_color(base, 255, glow * 0.14)
70
+ final = mix_color(lit, 0, shade * 0.16)
71
+ px[x, y] = (
72
+ final[0],
73
+ final[1],
74
+ final[2],
54
75
  255,
55
76
  )
56
77
  return img
@@ -83,14 +104,13 @@ def make_app_icon(size: int, *, light: bool = False) -> Image.Image:
83
104
 
84
105
  shadow = Image.new("RGBA", (size, size), TRANSPARENT)
85
106
  shadow_draw = ImageDraw.Draw(shadow)
86
- offset_y = size * 0.02
87
- corner = round(size * 0.34)
107
+ corner = round(size * 0.3)
88
108
  shadow_draw.rounded_rectangle(
89
- (size * 0.07, size * 0.07 + offset_y, size * 0.93, size * 0.93 + offset_y),
109
+ (size * 0.075, size * 0.09, size * 0.925, size * 0.94),
90
110
  radius=corner,
91
- fill=(0, 0, 0, 72),
111
+ fill=(0, 0, 0, 64 if light else 86),
92
112
  )
93
- shadow = shadow.filter(ImageFilter.GaussianBlur(radius=max(2, size * 0.04)))
113
+ shadow = shadow.filter(ImageFilter.GaussianBlur(radius=max(2, size * 0.035)))
94
114
  canvas.alpha_composite(shadow)
95
115
 
96
116
  base_mask = Image.new("L", (size, size), 0)
@@ -103,20 +123,77 @@ def make_app_icon(size: int, *, light: bool = False) -> Image.Image:
103
123
  clipped.paste(base, mask=base_mask)
104
124
  canvas.alpha_composite(clipped)
105
125
 
126
+ shine = Image.new("RGBA", (size, size), TRANSPARENT)
127
+ shine_draw = ImageDraw.Draw(shine)
128
+ shine_draw.ellipse(
129
+ (size * -0.12, size * -0.18, size * 0.78, size * 0.58),
130
+ fill=(255, 255, 255, 30 if light else 42),
131
+ )
132
+ shine.putalpha(Image.composite(shine.getchannel("A"), Image.new("L", (size, size), 0), base_mask))
133
+ canvas.alpha_composite(shine)
134
+
135
+ lower_glaze = Image.new("RGBA", (size, size), TRANSPARENT)
136
+ lower_draw = ImageDraw.Draw(lower_glaze)
137
+ lower_draw.rounded_rectangle(
138
+ base_rect,
139
+ radius=corner,
140
+ fill=(0, 0, 0, 18 if light else 12),
141
+ )
142
+ lower_mask = Image.new("L", (size, size), 0)
143
+ lower_mask_draw = ImageDraw.Draw(lower_mask)
144
+ lower_mask_draw.rectangle((0, size * 0.55, size, size), fill=255)
145
+ lower_glaze.putalpha(Image.composite(lower_glaze.getchannel("A"), Image.new("L", (size, size), 0), lower_mask))
146
+ canvas.alpha_composite(lower_glaze)
147
+
106
148
  ring = Image.new("RGBA", (size, size), TRANSPARENT)
107
149
  ring_draw = ImageDraw.Draw(ring)
108
150
  ring_draw.rounded_rectangle(
109
151
  base_rect,
110
152
  radius=corner,
111
- outline=(255, 255, 255, 36),
153
+ outline=(255, 255, 255, 58 if light else 48),
112
154
  width=max(1, round(size * 0.012)),
113
155
  )
156
+ inset = size * 0.018
157
+ ring_draw.rounded_rectangle(
158
+ (
159
+ base_rect[0] + inset,
160
+ base_rect[1] + inset,
161
+ base_rect[2] - inset,
162
+ base_rect[3] - inset,
163
+ ),
164
+ radius=max(1, corner - round(inset)),
165
+ outline=(0, 0, 0, 26 if light else 20),
166
+ width=max(1, round(size * 0.006)),
167
+ )
114
168
  canvas.alpha_composite(ring)
115
169
 
170
+ glyph_shadow = Image.new("RGBA", (size, size), TRANSPARENT)
171
+ shadow_draw = ImageDraw.Draw(glyph_shadow)
172
+ draw_logo(shadow_draw, size, (0, 0, 0, 76 if light else 58))
173
+ glyph_shadow = glyph_shadow.transform(
174
+ glyph_shadow.size,
175
+ Image.Transform.AFFINE,
176
+ (1, 0, 0, 0, 1, size * 0.018),
177
+ resample=Image.Resampling.BICUBIC,
178
+ )
179
+ glyph_shadow = glyph_shadow.filter(ImageFilter.GaussianBlur(radius=max(1, size * 0.006)))
180
+ canvas.alpha_composite(glyph_shadow)
181
+
116
182
  glyph = Image.new("RGBA", (size, size), TRANSPARENT)
117
183
  draw = ImageDraw.Draw(glyph)
118
184
  draw_logo(draw, size, symbol)
119
185
  canvas.alpha_composite(glyph)
186
+
187
+ glyph_highlight = Image.new("RGBA", (size, size), TRANSPARENT)
188
+ highlight_draw = ImageDraw.Draw(glyph_highlight)
189
+ draw_logo(highlight_draw, size, (255, 255, 255, 26 if light else 34))
190
+ glyph_highlight = glyph_highlight.transform(
191
+ glyph_highlight.size,
192
+ Image.Transform.AFFINE,
193
+ (1, 0, 0, 0, 1, -size * 0.012),
194
+ resample=Image.Resampling.BICUBIC,
195
+ )
196
+ canvas.alpha_composite(glyph_highlight)
120
197
  return canvas
121
198
 
122
199
 
@@ -156,15 +233,27 @@ def write_favicon_svg(path: Path, *, light: bool = False) -> None:
156
233
  symbol = "#fff9ed" if light else "#ffffff"
157
234
  stroke = "#000000" if light else "#ffffff"
158
235
  stroke_opacity = "0.24" if light else "0.16"
236
+ glow = "#ffffff" if light else "#fff4d8"
237
+ top_opacity = "0.20" if light else "0.24"
238
+ shade_opacity = "0.12" if light else "0.08"
159
239
  svg = f"""<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
160
240
  <defs>
161
241
  <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
162
242
  <stop offset="0%" stop-color="#{start[0]:02x}{start[1]:02x}{start[2]:02x}"/>
163
243
  <stop offset="100%" stop-color="#{end[0]:02x}{end[1]:02x}{end[2]:02x}"/>
164
244
  </linearGradient>
245
+ <radialGradient id="shine" cx="24%" cy="15%" r="70%">
246
+ <stop offset="0%" stop-color="{glow}" stop-opacity="{top_opacity}"/>
247
+ <stop offset="100%" stop-color="{glow}" stop-opacity="0"/>
248
+ </radialGradient>
165
249
  </defs>
166
250
  <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#bg)" stroke="{stroke}" stroke-opacity="{stroke_opacity}" stroke-width="1"/>
251
+ <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#shine)"/>
252
+ <path d="M2.5 17h27v3.5c0 5-4 9-9 9h-9c-5 0-9-4-9-9Z" fill="#000000" opacity="{shade_opacity}"/>
167
253
  <rect x="3" y="3" width="26" height="26" rx="8.5" ry="8.5" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="1"/>
254
+ <path d="M16 6.25 26.15 12.3 16 16.3 5.85 12.3Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
255
+ <path d="M16 14.75 25.85 19.45 16 22.25 6.15 19.45Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
256
+ <path d="M16 20.45 24.85 24.75 16 26.85 7.15 24.75Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
168
257
  <path d="M16 5.7 26.8 12.1 16 16.5 5.2 12.1Z" fill="{symbol}"/>
169
258
  <path d="M16 14.2 26.5 19.3 16 22.4 5.5 19.3Z" fill="{symbol}"/>
170
259
  <path d="M16 20 25.4 24.6 16 27 6.6 24.6Z" fill="{symbol}"/>
Binary file
@@ -1,12 +1,21 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
2
  <defs>
3
3
  <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" stop-color="#95764a"/>
5
- <stop offset="100%" stop-color="#3a8679"/>
4
+ <stop offset="0%" stop-color="#9e8052"/>
5
+ <stop offset="100%" stop-color="#439081"/>
6
6
  </linearGradient>
7
+ <radialGradient id="shine" cx="24%" cy="15%" r="70%">
8
+ <stop offset="0%" stop-color="#fff4d8" stop-opacity="0.24"/>
9
+ <stop offset="100%" stop-color="#fff4d8" stop-opacity="0"/>
10
+ </radialGradient>
7
11
  </defs>
8
12
  <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#bg)" stroke="#ffffff" stroke-opacity="0.16" stroke-width="1"/>
13
+ <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#shine)"/>
14
+ <path d="M2.5 17h27v3.5c0 5-4 9-9 9h-9c-5 0-9-4-9-9Z" fill="#000000" opacity="0.08"/>
9
15
  <rect x="3" y="3" width="26" height="26" rx="8.5" ry="8.5" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="1"/>
16
+ <path d="M16 6.25 26.15 12.3 16 16.3 5.85 12.3Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
17
+ <path d="M16 14.75 25.85 19.45 16 22.25 6.15 19.45Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
18
+ <path d="M16 20.45 24.85 24.75 16 26.85 7.15 24.75Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
10
19
  <path d="M16 5.7 26.8 12.1 16 16.5 5.2 12.1Z" fill="#ffffff"/>
11
20
  <path d="M16 14.2 26.5 19.3 16 22.4 5.5 19.3Z" fill="#ffffff"/>
12
21
  <path d="M16 20 25.4 24.6 16 27 6.6 24.6Z" fill="#ffffff"/>
@@ -1,12 +1,21 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
2
  <defs>
3
3
  <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" stop-color="#765932"/>
5
- <stop offset="100%" stop-color="#28695c"/>
4
+ <stop offset="0%" stop-color="#684e2c"/>
5
+ <stop offset="100%" stop-color="#235c52"/>
6
6
  </linearGradient>
7
+ <radialGradient id="shine" cx="24%" cy="15%" r="70%">
8
+ <stop offset="0%" stop-color="#ffffff" stop-opacity="0.20"/>
9
+ <stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
10
+ </radialGradient>
7
11
  </defs>
8
12
  <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#bg)" stroke="#000000" stroke-opacity="0.24" stroke-width="1"/>
13
+ <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#shine)"/>
14
+ <path d="M2.5 17h27v3.5c0 5-4 9-9 9h-9c-5 0-9-4-9-9Z" fill="#000000" opacity="0.12"/>
9
15
  <rect x="3" y="3" width="26" height="26" rx="8.5" ry="8.5" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="1"/>
16
+ <path d="M16 6.25 26.15 12.3 16 16.3 5.85 12.3Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
17
+ <path d="M16 14.75 25.85 19.45 16 22.25 6.15 19.45Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
18
+ <path d="M16 20.45 24.85 24.75 16 26.85 7.15 24.75Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
10
19
  <path d="M16 5.7 26.8 12.1 16 16.5 5.2 12.1Z" fill="#fff9ed"/>
11
20
  <path d="M16 14.2 26.5 19.3 16 22.4 5.5 19.3Z" fill="#fff9ed"/>
12
21
  <path d="M16 20 25.4 24.6 16 27 6.6 24.6Z" fill="#fff9ed"/>
Binary file
Binary file
@@ -28,10 +28,16 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
28
28
  Win32Window::Point origin(10, 10);
29
29
  Win32Window::Size size(1280, 720);
30
30
  if (!window.Create(L"NeoAgent", origin, size)) {
31
+ ::MessageBoxW(nullptr,
32
+ L"NeoAgent failed to start. The Flutter engine could not be "
33
+ L"initialized. Ensure the application was installed correctly "
34
+ L"and all required files are present.",
35
+ L"NeoAgent — Startup Error",
36
+ MB_OK | MB_ICONERROR);
31
37
  ::CoUninitialize();
32
38
  return EXIT_FAILURE;
33
39
  }
34
- window.SetQuitOnClose(false);
40
+ window.SetQuitOnClose(true);
35
41
 
36
42
  ::MSG msg;
37
43
  while (true) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neoagent",
3
- "version": "2.4.1-beta.22",
3
+ "version": "2.4.1-beta.23",
4
4
  "description": "Proactive personal AI agent with no limits",
5
5
  "license": "AGPL-3.0-only",
6
6
  "main": "server/index.js",
@@ -1 +1 @@
1
- fba7f11f026fd312d6f63282ecee7a80
1
+ 2285030b457380c855d32a3568048ed7
Binary file
@@ -1,12 +1,21 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
2
  <defs>
3
3
  <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" stop-color="#95764a"/>
5
- <stop offset="100%" stop-color="#3a8679"/>
4
+ <stop offset="0%" stop-color="#9e8052"/>
5
+ <stop offset="100%" stop-color="#439081"/>
6
6
  </linearGradient>
7
+ <radialGradient id="shine" cx="24%" cy="15%" r="70%">
8
+ <stop offset="0%" stop-color="#fff4d8" stop-opacity="0.24"/>
9
+ <stop offset="100%" stop-color="#fff4d8" stop-opacity="0"/>
10
+ </radialGradient>
7
11
  </defs>
8
12
  <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#bg)" stroke="#ffffff" stroke-opacity="0.16" stroke-width="1"/>
13
+ <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#shine)"/>
14
+ <path d="M2.5 17h27v3.5c0 5-4 9-9 9h-9c-5 0-9-4-9-9Z" fill="#000000" opacity="0.08"/>
9
15
  <rect x="3" y="3" width="26" height="26" rx="8.5" ry="8.5" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="1"/>
16
+ <path d="M16 6.25 26.15 12.3 16 16.3 5.85 12.3Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
17
+ <path d="M16 14.75 25.85 19.45 16 22.25 6.15 19.45Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
18
+ <path d="M16 20.45 24.85 24.75 16 26.85 7.15 24.75Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
10
19
  <path d="M16 5.7 26.8 12.1 16 16.5 5.2 12.1Z" fill="#ffffff"/>
11
20
  <path d="M16 14.2 26.5 19.3 16 22.4 5.5 19.3Z" fill="#ffffff"/>
12
21
  <path d="M16 20 25.4 24.6 16 27 6.6 24.6Z" fill="#ffffff"/>
@@ -1,12 +1,21 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
2
2
  <defs>
3
3
  <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" stop-color="#765932"/>
5
- <stop offset="100%" stop-color="#28695c"/>
4
+ <stop offset="0%" stop-color="#684e2c"/>
5
+ <stop offset="100%" stop-color="#235c52"/>
6
6
  </linearGradient>
7
+ <radialGradient id="shine" cx="24%" cy="15%" r="70%">
8
+ <stop offset="0%" stop-color="#ffffff" stop-opacity="0.20"/>
9
+ <stop offset="100%" stop-color="#ffffff" stop-opacity="0"/>
10
+ </radialGradient>
7
11
  </defs>
8
12
  <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#bg)" stroke="#000000" stroke-opacity="0.24" stroke-width="1"/>
13
+ <rect x="2.5" y="2.5" width="27" height="27" rx="9" ry="9" fill="url(#shine)"/>
14
+ <path d="M2.5 17h27v3.5c0 5-4 9-9 9h-9c-5 0-9-4-9-9Z" fill="#000000" opacity="0.12"/>
9
15
  <rect x="3" y="3" width="26" height="26" rx="8.5" ry="8.5" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="1"/>
16
+ <path d="M16 6.25 26.15 12.3 16 16.3 5.85 12.3Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
17
+ <path d="M16 14.75 25.85 19.45 16 22.25 6.15 19.45Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
18
+ <path d="M16 20.45 24.85 24.75 16 26.85 7.15 24.75Z" fill="#000000" opacity="0.20" transform="translate(0 0.65)"/>
10
19
  <path d="M16 5.7 26.8 12.1 16 16.5 5.2 12.1Z" fill="#fff9ed"/>
11
20
  <path d="M16 14.2 26.5 19.3 16 22.4 5.5 19.3Z" fill="#fff9ed"/>
12
21
  <path d="M16 20 25.4 24.6 16 27 6.6 24.6Z" fill="#fff9ed"/>
@@ -37,6 +37,6 @@ _flutter.buildConfig = {"engineRevision":"4c525dac5ebe5971c5708ef73558ed8edcf4a3
37
37
 
38
38
  _flutter.loader.load({
39
39
  serviceWorkerSettings: {
40
- serviceWorkerVersion: "1418440308" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
40
+ serviceWorkerVersion: "4078228684" /* Flutter's service worker is deprecated and will be removed in a future Flutter release. */
41
41
  }
42
42
  });
Binary file
Binary file
@@ -132757,7 +132757,7 @@ r===$&&A.b()
132757
132757
  o.push(A.jJ(p,A.j7(!1,new A.a3(B.uk,A.e1(new A.cJ(B.ho,new A.a7e(r,p),p),p,p),p),!1,B.H,!0),p,p,0,0,0,p))}r=!1
132758
132758
  if(!s.ay)if(!s.ch){r=s.e
132759
132759
  r===$&&A.b()
132760
- r=B.b.t("mpmi455n-190ed57").length!==0&&r.b}if(r){r=s.d
132760
+ r=B.b.t("mppvjj3c-da55ad8").length!==0&&r.b}if(r){r=s.d
132761
132761
  r===$&&A.b()
132762
132762
  r=r.ad&&!r.Z?84:0
132763
132763
  q=s.e
@@ -138212,7 +138212,7 @@ $S:0}
138212
138212
  A.ZH.prototype={}
138213
138213
  A.Sw.prototype={
138214
138214
  nc(a){var s=this
138215
- if(B.b.t("mpmi455n-190ed57").length===0||s.a!=null)return
138215
+ if(B.b.t("mppvjj3c-da55ad8").length===0||s.a!=null)return
138216
138216
  s.AH()
138217
138217
  s.a=A.qf(B.R3,new A.b9B(s))},
138218
138218
  AH(){var s=0,r=A.l(t.H),q,p=2,o=[],n=this,m,l,k,j,i,h,g,f
@@ -138230,7 +138230,7 @@ if(!t.f.b(k)){s=1
138230
138230
  break}i=J.U(k,"buildId")
138231
138231
  h=i==null?null:B.b.t(J.p(i))
138232
138232
  j=h==null?"":h
138233
- if(J.bj(j)===0||J.d(j,"mpmi455n-190ed57")){s=1
138233
+ if(J.bj(j)===0||J.d(j,"mppvjj3c-da55ad8")){s=1
138234
138234
  break}n.b=!0
138235
138235
  n.F()
138236
138236
  p=2
@@ -138247,7 +138247,7 @@ case 2:return A.i(o.at(-1),r)}})
138247
138247
  return A.k($async$AH,r)},
138248
138248
  vs(){var s=0,r=A.l(t.H),q,p=2,o=[],n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1
138249
138249
  var $async$vs=A.h(function(a2,a3){if(a2===1){o.push(a3)
138250
- s=p}for(;;)switch(s){case 0:if(B.b.t("mpmi455n-190ed57").length===0||n.c){s=1
138250
+ s=p}for(;;)switch(s){case 0:if(B.b.t("mppvjj3c-da55ad8").length===0||n.c){s=1
138251
138251
  break}n.c=!0
138252
138252
  n.F()
138253
138253
  p=4