@alpaca-editor/core 1.0.4187 → 1.0.4190

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 (102) hide show
  1. package/dist/agents-view/AgentCard.js +1 -1
  2. package/dist/agents-view/AgentCard.js.map +1 -1
  3. package/dist/agents-view/AgentsView.js +7 -5
  4. package/dist/agents-view/AgentsView.js.map +1 -1
  5. package/dist/components/ui/PlaceholderInput.d.ts +41 -0
  6. package/dist/components/ui/PlaceholderInput.js +160 -0
  7. package/dist/components/ui/PlaceholderInput.js.map +1 -0
  8. package/dist/components/ui/PlaceholderInputTypes.d.ts +41 -0
  9. package/dist/components/ui/PlaceholderInputTypes.js +48 -0
  10. package/dist/components/ui/PlaceholderInputTypes.js.map +1 -0
  11. package/dist/components/ui/PlaceholderItemSelector.d.ts +7 -0
  12. package/dist/components/ui/PlaceholderItemSelector.js +154 -0
  13. package/dist/components/ui/PlaceholderItemSelector.js.map +1 -0
  14. package/dist/config/config.js +7 -14
  15. package/dist/config/config.js.map +1 -1
  16. package/dist/editor/ItemInfo.js +3 -3
  17. package/dist/editor/ItemInfo.js.map +1 -1
  18. package/dist/editor/QuickItemSwitcher.js +1 -1
  19. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  20. package/dist/editor/ai/AgentTerminal.d.ts +7 -1
  21. package/dist/editor/ai/AgentTerminal.js +256 -382
  22. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  23. package/dist/editor/ai/Agents.js +198 -84
  24. package/dist/editor/ai/Agents.js.map +1 -1
  25. package/dist/editor/ai/AiResponseMessage.d.ts +3 -1
  26. package/dist/editor/ai/AiResponseMessage.js +63 -12
  27. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  28. package/dist/editor/ai/ToolCallDisplay.d.ts +2 -1
  29. package/dist/editor/ai/ToolCallDisplay.js +13 -5
  30. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  31. package/dist/editor/client/EditorShell.js +6 -5
  32. package/dist/editor/client/EditorShell.js.map +1 -1
  33. package/dist/editor/client/hooks/useSocketMessageHandler.js +6 -4
  34. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  35. package/dist/editor/commands/componentCommands.js +2 -0
  36. package/dist/editor/commands/componentCommands.js.map +1 -1
  37. package/dist/editor/control-center/About.js +1 -1
  38. package/dist/editor/control-center/About.js.map +1 -1
  39. package/dist/editor/control-center/AllAgentsPanel.js +1 -1
  40. package/dist/editor/field-types/MultiLineText.js +1 -1
  41. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  42. package/dist/editor/services/aiService.d.ts +1 -0
  43. package/dist/editor/services/aiService.js.map +1 -1
  44. package/dist/editor/sidebar/Validation.js +1 -1
  45. package/dist/editor/sidebar/Validation.js.map +1 -1
  46. package/dist/index.d.ts +3 -0
  47. package/dist/index.js +4 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/page-wizard/PageWizard.js +3 -3
  50. package/dist/page-wizard/PageWizard.js.map +1 -1
  51. package/dist/page-wizard/WizardSteps.js +1 -1
  52. package/dist/page-wizard/WizardSteps.js.map +1 -1
  53. package/dist/revision.d.ts +2 -2
  54. package/dist/revision.js +2 -2
  55. package/dist/splash-screen/ModernSplashScreen.d.ts +8 -0
  56. package/dist/splash-screen/ModernSplashScreen.js +36 -0
  57. package/dist/splash-screen/ModernSplashScreen.js.map +1 -0
  58. package/dist/splash-screen/OpenPage.js +10 -6
  59. package/dist/splash-screen/OpenPage.js.map +1 -1
  60. package/dist/splash-screen/ParheliaAssistantChat.d.ts +8 -0
  61. package/dist/splash-screen/ParheliaAssistantChat.js +155 -0
  62. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -0
  63. package/dist/splash-screen/RecentAgents.d.ts +7 -0
  64. package/dist/splash-screen/RecentAgents.js +76 -0
  65. package/dist/splash-screen/RecentAgents.js.map +1 -0
  66. package/dist/splash-screen/RecentPages.js +2 -2
  67. package/dist/splash-screen/RecentPages.js.map +1 -1
  68. package/dist/splash-screen/SplashScreen.js +1 -1
  69. package/dist/splash-screen/SplashScreen.js.map +1 -1
  70. package/dist/styles.css +241 -12
  71. package/package.json +1 -1
  72. package/src/agents-view/AgentCard.tsx +1 -6
  73. package/src/agents-view/AgentsView.tsx +18 -30
  74. package/src/components/ui/PlaceholderInput.tsx +290 -0
  75. package/src/components/ui/PlaceholderInputTypes.tsx +97 -0
  76. package/src/components/ui/PlaceholderItemSelector.tsx +253 -0
  77. package/src/config/config.tsx +8 -17
  78. package/src/editor/ItemInfo.tsx +3 -2
  79. package/src/editor/QuickItemSwitcher.tsx +1 -1
  80. package/src/editor/ai/AgentTerminal.tsx +544 -649
  81. package/src/editor/ai/Agents.tsx +464 -250
  82. package/src/editor/ai/AiResponseMessage.tsx +154 -29
  83. package/src/editor/ai/ToolCallDisplay.tsx +18 -4
  84. package/src/editor/client/EditorShell.tsx +9 -6
  85. package/src/editor/client/hooks/useSocketMessageHandler.ts +6 -7
  86. package/src/editor/commands/componentCommands.tsx +1 -0
  87. package/src/editor/control-center/About.tsx +2 -2
  88. package/src/editor/control-center/AllAgentsPanel.tsx +1 -1
  89. package/src/editor/field-types/MultiLineText.tsx +1 -1
  90. package/src/editor/services/aiService.ts +2 -0
  91. package/src/editor/sidebar/Validation.tsx +1 -1
  92. package/src/index.ts +5 -0
  93. package/src/page-wizard/PageWizard.tsx +3 -3
  94. package/src/page-wizard/WizardSteps.tsx +1 -1
  95. package/src/revision.ts +2 -2
  96. package/src/splash-screen/ModernSplashScreen.tsx +158 -0
  97. package/src/splash-screen/OpenPage.tsx +12 -4
  98. package/src/splash-screen/ParheliaAssistantChat.tsx +273 -0
  99. package/src/splash-screen/RecentAgents.tsx +151 -0
  100. package/src/splash-screen/RecentPages.tsx +58 -61
  101. package/src/splash-screen/SplashScreen.tsx +1 -1
  102. package/styles.css +20 -0
package/dist/styles.css CHANGED
@@ -71,12 +71,16 @@
71
71
  --color-indigo-800: oklch(39.8% 0.195 277.366);
72
72
  --color-indigo-950: oklch(25.7% 0.09 281.288);
73
73
  --color-violet-600: oklch(54.1% 0.281 293.009);
74
+ --color-purple-50: oklch(97.7% 0.014 308.299);
74
75
  --color-purple-100: oklch(94.6% 0.033 307.174);
75
76
  --color-purple-200: oklch(90.2% 0.063 306.703);
76
77
  --color-purple-400: oklch(71.4% 0.203 305.504);
77
78
  --color-purple-500: oklch(62.7% 0.265 303.9);
78
79
  --color-purple-600: oklch(55.8% 0.288 302.321);
79
80
  --color-purple-800: oklch(43.8% 0.218 303.724);
81
+ --color-pink-50: oklch(97.1% 0.014 343.198);
82
+ --color-pink-100: oklch(94.8% 0.028 342.258);
83
+ --color-pink-500: oklch(65.6% 0.241 354.308);
80
84
  --color-pink-600: oklch(59.2% 0.249 0.584);
81
85
  --color-rose-600: oklch(58.6% 0.253 17.585);
82
86
  --color-rose-700: oklch(51.4% 0.222 16.935);
@@ -103,7 +107,9 @@
103
107
  --container-md: 28rem;
104
108
  --container-lg: 32rem;
105
109
  --container-xl: 36rem;
110
+ --container-3xl: 48rem;
106
111
  --container-4xl: 56rem;
112
+ --container-5xl: 64rem;
107
113
  --container-6xl: 72rem;
108
114
  --text-xs: 0.75rem;
109
115
  --text-xs--line-height: calc(1 / 0.75);
@@ -117,6 +123,8 @@
117
123
  --text-xl--line-height: calc(1.75 / 1.25);
118
124
  --text-2xl: 1.5rem;
119
125
  --text-2xl--line-height: calc(2 / 1.5);
126
+ --text-3xl: 1.875rem;
127
+ --text-3xl--line-height: calc(2.25 / 1.875);
120
128
  --text-4xl: 2.25rem;
121
129
  --text-4xl--line-height: calc(2.5 / 2.25);
122
130
  --font-weight-extralight: 200;
@@ -283,9 +291,6 @@
283
291
  .right-2 {
284
292
  right: calc(var(--spacing) * 2);
285
293
  }
286
- .right-3 {
287
- right: calc(var(--spacing) * 3);
288
- }
289
294
  .right-4 {
290
295
  right: calc(var(--spacing) * 4);
291
296
  }
@@ -322,9 +327,6 @@
322
327
  .left-2 {
323
328
  left: calc(var(--spacing) * 2);
324
329
  }
325
- .left-3 {
326
- left: calc(var(--spacing) * 3);
327
- }
328
330
  .left-\[-1000px\] {
329
331
  left: -1000px;
330
332
  }
@@ -418,6 +420,9 @@
418
420
  .my-2 {
419
421
  margin-block: calc(var(--spacing) * 2);
420
422
  }
423
+ .my-3 {
424
+ margin-block: calc(var(--spacing) * 3);
425
+ }
421
426
  .my-4 {
422
427
  margin-block: calc(var(--spacing) * 4);
423
428
  }
@@ -439,6 +444,9 @@
439
444
  .mt-6 {
440
445
  margin-top: calc(var(--spacing) * 6);
441
446
  }
447
+ .mt-8 {
448
+ margin-top: calc(var(--spacing) * 8);
449
+ }
442
450
  .mt-\[-3px\] {
443
451
  margin-top: -3px;
444
452
  }
@@ -493,6 +501,9 @@
493
501
  .mb-6 {
494
502
  margin-bottom: calc(var(--spacing) * 6);
495
503
  }
504
+ .mb-8 {
505
+ margin-bottom: calc(var(--spacing) * 8);
506
+ }
496
507
  .mb-\[-3px\] {
497
508
  margin-bottom: -3px;
498
509
  }
@@ -729,6 +740,9 @@
729
740
  .h-\[160px\] {
730
741
  height: 160px;
731
742
  }
743
+ .h-\[450px\] {
744
+ height: 450px;
745
+ }
732
746
  .h-\[600px\] {
733
747
  height: 600px;
734
748
  }
@@ -747,6 +761,9 @@
747
761
  .h-px {
748
762
  height: 1px;
749
763
  }
764
+ .h-screen {
765
+ height: 100vh;
766
+ }
750
767
  .max-h-\(--radix-dropdown-menu-content-available-height\) {
751
768
  max-height: var(--radix-dropdown-menu-content-available-height);
752
769
  }
@@ -972,6 +989,9 @@
972
989
  .w-\[400px\] {
973
990
  width: 400px;
974
991
  }
992
+ .w-\[700px\] {
993
+ width: 700px;
994
+ }
975
995
  .w-auto {
976
996
  width: auto;
977
997
  }
@@ -981,9 +1001,15 @@
981
1001
  .w-full {
982
1002
  width: 100%;
983
1003
  }
1004
+ .max-w-3xl {
1005
+ max-width: var(--container-3xl);
1006
+ }
984
1007
  .max-w-4xl {
985
1008
  max-width: var(--container-4xl);
986
1009
  }
1010
+ .max-w-5xl {
1011
+ max-width: var(--container-5xl);
1012
+ }
987
1013
  .max-w-6xl {
988
1014
  max-width: var(--container-6xl);
989
1015
  }
@@ -1005,9 +1031,15 @@
1005
1031
  .max-w-\[90vw\] {
1006
1032
  max-width: 90vw;
1007
1033
  }
1034
+ .max-w-\[200px\] {
1035
+ max-width: 200px;
1036
+ }
1008
1037
  .max-w-\[240px\] {
1009
1038
  max-width: 240px;
1010
1039
  }
1040
+ .max-w-\[300px\] {
1041
+ max-width: 300px;
1042
+ }
1011
1043
  .max-w-\[320px\] {
1012
1044
  max-width: 320px;
1013
1045
  }
@@ -1062,12 +1094,18 @@
1062
1094
  .min-w-\[16px\] {
1063
1095
  min-width: 16px;
1064
1096
  }
1097
+ .min-w-\[80px\] {
1098
+ min-width: 80px;
1099
+ }
1065
1100
  .min-w-\[90px\] {
1066
1101
  min-width: 90px;
1067
1102
  }
1068
1103
  .min-w-\[120px\] {
1069
1104
  min-width: 120px;
1070
1105
  }
1106
+ .min-w-\[150px\] {
1107
+ min-width: 150px;
1108
+ }
1071
1109
  .min-w-\[450px\] {
1072
1110
  min-width: 450px;
1073
1111
  }
@@ -1816,6 +1854,12 @@
1816
1854
  .bg-blue-50 {
1817
1855
  background-color: var(--color-blue-50);
1818
1856
  }
1857
+ .bg-blue-50\/50 {
1858
+ background-color: color-mix(in srgb, oklch(97% 0.014 254.604) 50%, transparent);
1859
+ @supports (color: color-mix(in lab, red, red)) {
1860
+ background-color: color-mix(in oklab, var(--color-blue-50) 50%, transparent);
1861
+ }
1862
+ }
1819
1863
  .bg-blue-100 {
1820
1864
  background-color: var(--color-blue-100);
1821
1865
  }
@@ -2091,6 +2135,25 @@
2091
2135
  --tw-gradient-from: var(--color-gray-50);
2092
2136
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2093
2137
  }
2138
+ .from-purple-50\/30 {
2139
+ --tw-gradient-from: color-mix(in srgb, oklch(97.7% 0.014 308.299) 30%, transparent);
2140
+ @supports (color: color-mix(in lab, red, red)) {
2141
+ --tw-gradient-from: color-mix(in oklab, var(--color-purple-50) 30%, transparent);
2142
+ }
2143
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2144
+ }
2145
+ .from-purple-100 {
2146
+ --tw-gradient-from: var(--color-purple-100);
2147
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2148
+ }
2149
+ .via-pink-50\/20 {
2150
+ --tw-gradient-via: color-mix(in srgb, oklch(97.1% 0.014 343.198) 20%, transparent);
2151
+ @supports (color: color-mix(in lab, red, red)) {
2152
+ --tw-gradient-via: color-mix(in oklab, var(--color-pink-50) 20%, transparent);
2153
+ }
2154
+ --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
2155
+ --tw-gradient-stops: var(--tw-gradient-via-stops);
2156
+ }
2094
2157
  .to-amber-50\/30 {
2095
2158
  --tw-gradient-to: color-mix(in srgb, oklch(98.7% 0.022 95.277) 30%, transparent);
2096
2159
  @supports (color: color-mix(in lab, red, red)) {
@@ -2098,6 +2161,13 @@
2098
2161
  }
2099
2162
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2100
2163
  }
2164
+ .to-blue-50\/30 {
2165
+ --tw-gradient-to: color-mix(in srgb, oklch(97% 0.014 254.604) 30%, transparent);
2166
+ @supports (color: color-mix(in lab, red, red)) {
2167
+ --tw-gradient-to: color-mix(in oklab, var(--color-blue-50) 30%, transparent);
2168
+ }
2169
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2170
+ }
2101
2171
  .to-gray-50\/30 {
2102
2172
  --tw-gradient-to: color-mix(in srgb, oklch(98.5% 0.002 247.839) 30%, transparent);
2103
2173
  @supports (color: color-mix(in lab, red, red)) {
@@ -2105,6 +2175,10 @@
2105
2175
  }
2106
2176
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2107
2177
  }
2178
+ .to-pink-100 {
2179
+ --tw-gradient-to: var(--color-pink-100);
2180
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2181
+ }
2108
2182
  .to-purple-500 {
2109
2183
  --tw-gradient-to: var(--color-purple-500);
2110
2184
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -2283,9 +2357,6 @@
2283
2357
  .pr-8 {
2284
2358
  padding-right: calc(var(--spacing) * 8);
2285
2359
  }
2286
- .pr-10 {
2287
- padding-right: calc(var(--spacing) * 10);
2288
- }
2289
2360
  .pb-1 {
2290
2361
  padding-bottom: calc(var(--spacing) * 1);
2291
2362
  }
@@ -2313,12 +2384,12 @@
2313
2384
  .pl-8 {
2314
2385
  padding-left: calc(var(--spacing) * 8);
2315
2386
  }
2316
- .pl-10 {
2317
- padding-left: calc(var(--spacing) * 10);
2318
- }
2319
2387
  .text-center {
2320
2388
  text-align: center;
2321
2389
  }
2390
+ .text-end {
2391
+ text-align: end;
2392
+ }
2322
2393
  .text-left {
2323
2394
  text-align: left;
2324
2395
  }
@@ -2332,6 +2403,10 @@
2332
2403
  font-size: var(--text-2xl);
2333
2404
  line-height: var(--tw-leading, var(--text-2xl--line-height));
2334
2405
  }
2406
+ .text-3xl {
2407
+ font-size: var(--text-3xl);
2408
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
2409
+ }
2335
2410
  .text-4xl {
2336
2411
  font-size: var(--text-4xl);
2337
2412
  line-height: var(--tw-leading, var(--text-4xl--line-height));
@@ -2371,6 +2446,9 @@
2371
2446
  .text-\[10px\] {
2372
2447
  font-size: 10px;
2373
2448
  }
2449
+ .text-\[11px\] {
2450
+ font-size: 11px;
2451
+ }
2374
2452
  .text-\[12px\] {
2375
2453
  font-size: 12px;
2376
2454
  }
@@ -2464,6 +2542,9 @@
2464
2542
  .text-blue-300 {
2465
2543
  color: var(--color-blue-300);
2466
2544
  }
2545
+ .text-blue-400 {
2546
+ color: var(--color-blue-400);
2547
+ }
2467
2548
  .text-blue-500 {
2468
2549
  color: var(--color-blue-500);
2469
2550
  }
@@ -2650,6 +2731,9 @@
2650
2731
  .opacity-0 {
2651
2732
  opacity: 0%;
2652
2733
  }
2734
+ .opacity-20 {
2735
+ opacity: 20%;
2736
+ }
2653
2737
  .opacity-40 {
2654
2738
  opacity: 40%;
2655
2739
  }
@@ -2881,6 +2965,22 @@
2881
2965
  }
2882
2966
  }
2883
2967
  }
2968
+ .group-hover\:from-purple-500 {
2969
+ &:is(:where(.group):hover *) {
2970
+ @media (hover: hover) {
2971
+ --tw-gradient-from: var(--color-purple-500);
2972
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2973
+ }
2974
+ }
2975
+ }
2976
+ .group-hover\:to-pink-500 {
2977
+ &:is(:where(.group):hover *) {
2978
+ @media (hover: hover) {
2979
+ --tw-gradient-to: var(--color-pink-500);
2980
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2981
+ }
2982
+ }
2983
+ }
2884
2984
  .group-hover\:text-blue-500 {
2885
2985
  &:is(:where(.group):hover *) {
2886
2986
  @media (hover: hover) {
@@ -2888,6 +2988,13 @@
2888
2988
  }
2889
2989
  }
2890
2990
  }
2991
+ .group-hover\:text-white {
2992
+ &:is(:where(.group):hover *) {
2993
+ @media (hover: hover) {
2994
+ color: var(--color-white);
2995
+ }
2996
+ }
2997
+ }
2891
2998
  .group-hover\:opacity-100 {
2892
2999
  &:is(:where(.group):hover *) {
2893
3000
  @media (hover: hover) {
@@ -2949,6 +3056,11 @@
2949
3056
  color: var(--foreground);
2950
3057
  }
2951
3058
  }
3059
+ .placeholder\:text-blue-400 {
3060
+ &::placeholder {
3061
+ color: var(--color-blue-400);
3062
+ }
3063
+ }
2952
3064
  .placeholder\:text-muted-foreground {
2953
3065
  &::placeholder {
2954
3066
  color: var(--muted-foreground);
@@ -3027,6 +3139,13 @@
3027
3139
  }
3028
3140
  }
3029
3141
  }
3142
+ .hover\:scale-\[1\.02\] {
3143
+ &:hover {
3144
+ @media (hover: hover) {
3145
+ scale: 1.02;
3146
+ }
3147
+ }
3148
+ }
3030
3149
  .hover\:border-blue-300 {
3031
3150
  &:hover {
3032
3151
  @media (hover: hover) {
@@ -3034,6 +3153,13 @@
3034
3153
  }
3035
3154
  }
3036
3155
  }
3156
+ .hover\:border-blue-500 {
3157
+ &:hover {
3158
+ @media (hover: hover) {
3159
+ border-color: var(--color-blue-500);
3160
+ }
3161
+ }
3162
+ }
3037
3163
  .hover\:border-gray-300 {
3038
3164
  &:hover {
3039
3165
  @media (hover: hover) {
@@ -3117,6 +3243,13 @@
3117
3243
  }
3118
3244
  }
3119
3245
  }
3246
+ .hover\:bg-blue-100 {
3247
+ &:hover {
3248
+ @media (hover: hover) {
3249
+ background-color: var(--color-blue-100);
3250
+ }
3251
+ }
3252
+ }
3120
3253
  .hover\:bg-blue-200 {
3121
3254
  &:hover {
3122
3255
  @media (hover: hover) {
@@ -3346,6 +3479,16 @@
3346
3479
  }
3347
3480
  }
3348
3481
  }
3482
+ .hover\:bg-white\/50 {
3483
+ &:hover {
3484
+ @media (hover: hover) {
3485
+ background-color: color-mix(in srgb, #fff 50%, transparent);
3486
+ @supports (color: color-mix(in lab, red, red)) {
3487
+ background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
3488
+ }
3489
+ }
3490
+ }
3491
+ }
3349
3492
  .hover\:bg-white\/60 {
3350
3493
  &:hover {
3351
3494
  @media (hover: hover) {
@@ -3531,6 +3674,11 @@
3531
3674
  border-color: var(--color-blue-500);
3532
3675
  }
3533
3676
  }
3677
+ .focus\:border-blue-600 {
3678
+ &:focus {
3679
+ border-color: var(--color-blue-600);
3680
+ }
3681
+ }
3534
3682
  .focus\:bg-\[\#f6eeff\] {
3535
3683
  &:focus {
3536
3684
  background-color: #f6eeff;
@@ -3541,6 +3689,11 @@
3541
3689
  background-color: var(--accent);
3542
3690
  }
3543
3691
  }
3692
+ .focus\:bg-blue-100 {
3693
+ &:focus {
3694
+ background-color: var(--color-blue-100);
3695
+ }
3696
+ }
3544
3697
  .focus\:text-accent-foreground {
3545
3698
  &:focus {
3546
3699
  color: var(--accent-foreground);
@@ -3568,6 +3721,14 @@
3568
3721
  --tw-ring-color: var(--color-blue-500);
3569
3722
  }
3570
3723
  }
3724
+ .focus\:ring-blue-500\/30 {
3725
+ &:focus {
3726
+ --tw-ring-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 30%, transparent);
3727
+ @supports (color: color-mix(in lab, red, red)) {
3728
+ --tw-ring-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
3729
+ }
3730
+ }
3731
+ }
3571
3732
  .focus\:ring-ring {
3572
3733
  &:focus {
3573
3734
  --tw-ring-color: var(--ring);
@@ -3660,6 +3821,11 @@
3660
3821
  }
3661
3822
  }
3662
3823
  }
3824
+ .active\:scale-\[0\.98\] {
3825
+ &:active {
3826
+ scale: 0.98;
3827
+ }
3828
+ }
3663
3829
  .disabled\:pointer-events-none {
3664
3830
  &:disabled {
3665
3831
  pointer-events: none;
@@ -3977,6 +4143,11 @@
3977
4143
  margin-top: calc(var(--spacing) * 6);
3978
4144
  }
3979
4145
  }
4146
+ .md\:mt-12 {
4147
+ @media (width >= 48rem) {
4148
+ margin-top: calc(var(--spacing) * 12);
4149
+ }
4150
+ }
3980
4151
  .md\:mt-18 {
3981
4152
  @media (width >= 48rem) {
3982
4153
  margin-top: calc(var(--spacing) * 18);
@@ -3987,6 +4158,11 @@
3987
4158
  margin-bottom: calc(var(--spacing) * 5);
3988
4159
  }
3989
4160
  }
4161
+ .md\:mb-12 {
4162
+ @media (width >= 48rem) {
4163
+ margin-bottom: calc(var(--spacing) * 12);
4164
+ }
4165
+ }
3990
4166
  .md\:mb-20 {
3991
4167
  @media (width >= 48rem) {
3992
4168
  margin-bottom: calc(var(--spacing) * 20);
@@ -4007,6 +4183,11 @@
4007
4183
  display: table-cell;
4008
4184
  }
4009
4185
  }
4186
+ .md\:h-14 {
4187
+ @media (width >= 48rem) {
4188
+ height: calc(var(--spacing) * 14);
4189
+ }
4190
+ }
4010
4191
  .md\:h-64 {
4011
4192
  @media (width >= 48rem) {
4012
4193
  height: calc(var(--spacing) * 64);
@@ -4042,6 +4223,11 @@
4042
4223
  width: calc(var(--spacing) * 8);
4043
4224
  }
4044
4225
  }
4226
+ .md\:w-14 {
4227
+ @media (width >= 48rem) {
4228
+ width: calc(var(--spacing) * 14);
4229
+ }
4230
+ }
4045
4231
  .md\:w-64 {
4046
4232
  @media (width >= 48rem) {
4047
4233
  width: calc(var(--spacing) * 64);
@@ -4087,6 +4273,11 @@
4087
4273
  grid-template-columns: repeat(3, minmax(0, 1fr));
4088
4274
  }
4089
4275
  }
4276
+ .md\:grid-cols-4 {
4277
+ @media (width >= 48rem) {
4278
+ grid-template-columns: repeat(4, minmax(0, 1fr));
4279
+ }
4280
+ }
4090
4281
  .md\:flex-row {
4091
4282
  @media (width >= 48rem) {
4092
4283
  flex-direction: row;
@@ -4102,6 +4293,11 @@
4102
4293
  justify-content: center;
4103
4294
  }
4104
4295
  }
4296
+ .md\:gap-4 {
4297
+ @media (width >= 48rem) {
4298
+ gap: calc(var(--spacing) * 4);
4299
+ }
4300
+ }
4105
4301
  .md\:gap-10 {
4106
4302
  @media (width >= 48rem) {
4107
4303
  gap: calc(var(--spacing) * 10);
@@ -4137,6 +4333,11 @@
4137
4333
  padding-block: calc(var(--spacing) * 2);
4138
4334
  }
4139
4335
  }
4336
+ .md\:py-12 {
4337
+ @media (width >= 48rem) {
4338
+ padding-block: calc(var(--spacing) * 12);
4339
+ }
4340
+ }
4140
4341
  .md\:pt-0 {
4141
4342
  @media (width >= 48rem) {
4142
4343
  padding-top: calc(var(--spacing) * 0);
@@ -4152,6 +4353,18 @@
4152
4353
  padding-left: calc(var(--spacing) * 4);
4153
4354
  }
4154
4355
  }
4356
+ .md\:text-4xl {
4357
+ @media (width >= 48rem) {
4358
+ font-size: var(--text-4xl);
4359
+ line-height: var(--tw-leading, var(--text-4xl--line-height));
4360
+ }
4361
+ }
4362
+ .md\:text-base {
4363
+ @media (width >= 48rem) {
4364
+ font-size: var(--text-base);
4365
+ line-height: var(--tw-leading, var(--text-base--line-height));
4366
+ }
4367
+ }
4155
4368
  .md\:text-lg {
4156
4369
  @media (width >= 48rem) {
4157
4370
  font-size: var(--text-lg);
@@ -5489,6 +5702,22 @@ html, body {
5489
5702
  [data-side="right"].slide-in-from-left-2 {
5490
5703
  animation-name: slide-in-from-left;
5491
5704
  }
5705
+ ::view-transition-old(.slide-fade-in) {
5706
+ animation: 200ms cubic-bezier(0.4, 0, 0.2, 1) both fade-out;
5707
+ }
5708
+ ::view-transition-new(.slide-fade-in) {
5709
+ animation: 400ms cubic-bezier(0.4, 0, 0.2, 1) both slide-fade-in-animation;
5710
+ }
5711
+ @keyframes slide-fade-in-animation {
5712
+ from {
5713
+ opacity: 0;
5714
+ transform: translateY(20px);
5715
+ }
5716
+ to {
5717
+ opacity: 1;
5718
+ transform: translateY(0);
5719
+ }
5720
+ }
5492
5721
  @property --tw-border-spacing-x {
5493
5722
  syntax: "<length>";
5494
5723
  inherits: false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alpaca-editor/core",
3
- "version": "1.0.4187",
3
+ "version": "1.0.4190",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -114,12 +114,7 @@ export function AgentCard({
114
114
  {agent.totalCost !== undefined && agent.totalCost > 0 && (
115
115
  <div className="flex items-center gap-2">
116
116
  <span className="font-medium">Cost:</span>
117
- <span>${agent.totalCost.toFixed(4)}</span>
118
- {agent.totalTokensUsed !== undefined && (
119
- <span className="text-gray-400">
120
- ({agent.totalTokensUsed.toLocaleString()} tokens)
121
- </span>
122
- )}
117
+ <span>${agent.totalCost.toFixed(2)}</span>
123
118
  </div>
124
119
  )}
125
120
  </div>
@@ -8,11 +8,13 @@ import {
8
8
  deleteAgent,
9
9
  } from "../editor/services/agentService";
10
10
  import { cn } from "../lib/utils";
11
- import { RefreshCw, Search, XCircle } from "lucide-react";
11
+ import { RefreshCw } from "lucide-react";
12
12
  import { SimpleIconButton } from "../editor/ui/SimpleIconButton";
13
+ import { FilterInput } from "../components/FilterInput";
13
14
  import { useEditContext } from "../editor/client/editContext";
14
15
  import { AgentCard } from "./AgentCard";
15
16
  import { ProfileAgentsGroup } from "./ProfileAgentsGroup";
17
+ import { Checkbox } from "../components/ui/checkbox";
16
18
 
17
19
  /**
18
20
  * Agents overview view that displays active agents at the top
@@ -208,16 +210,16 @@ export function AgentsView() {
208
210
  };
209
211
 
210
212
  const handleResumeAgent = (agent: Agent) => {
211
- editContext?.switchView("page-editor");
213
+ // Ensure agents panel is visible, but don't switch views
212
214
  editContext?.setShowAgentsPanel?.(true);
213
- // Delay for panel mount, then dispatch event to open existing agent
215
+ // Delay briefly for any UI updates, then dispatch event to open existing agent
214
216
  setTimeout(() => {
215
217
  window.dispatchEvent(
216
218
  new CustomEvent("editor:openAgent", {
217
219
  detail: { agentId: agent.id },
218
220
  }),
219
221
  );
220
- }, 500);
222
+ }, 100);
221
223
  };
222
224
 
223
225
  const handleCloseAgent = async (agentId: string, agentName: string) => {
@@ -315,7 +317,7 @@ export function AgentsView() {
315
317
  <div className="flex-shrink-0 border-b border-gray-200 bg-white p-4">
316
318
  <div className="mb-3 flex items-center justify-between">
317
319
  <div>
318
- <h2 className="text-lg font-semibold text-gray-900">Agents</h2>
320
+ <h2 className="text-md font-semibold text-dark">Agents</h2>
319
321
  <p className="text-xs text-gray-500">
320
322
  {totalActiveCount} active, {totalClosedCount} closed ({totalCount}{" "}
321
323
  total)
@@ -340,38 +342,24 @@ export function AgentsView() {
340
342
  {/* Filter Toggle */}
341
343
  <div className="mb-3">
342
344
  <label className="flex cursor-pointer items-center gap-2 text-sm">
343
- <input
344
- type="checkbox"
345
+ <Checkbox
345
346
  checked={showOnlyMyAgents}
346
- onChange={(e) => setShowOnlyMyAgents(e.target.checked)}
347
- className="h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500"
347
+ onCheckedChange={(checked) =>
348
+ setShowOnlyMyAgents(checked === true)
349
+ }
348
350
  />
349
351
  <span className="text-gray-700">Show only my agents</span>
350
352
  </label>
351
353
  </div>
352
354
 
353
355
  {/* Search */}
354
- <div className="relative">
355
- <Search
356
- className="absolute top-1/2 left-3 size-4 -translate-y-1/2 text-gray-400"
357
- strokeWidth={1}
358
- />
359
- <input
360
- type="text"
361
- placeholder="Search by name or description..."
362
- value={searchTerm}
363
- onChange={(e) => setSearchTerm(e.target.value)}
364
- className="w-full rounded border border-gray-200 py-2 pr-10 pl-10 text-sm focus:border-blue-500 focus:outline-none"
365
- />
366
- {searchTerm && (
367
- <button
368
- onClick={() => setSearchTerm("")}
369
- className="absolute top-1/2 right-3 -translate-y-1/2 text-gray-400 hover:text-gray-600"
370
- >
371
- <XCircle className="size-4" strokeWidth={1} />
372
- </button>
373
- )}
374
- </div>
356
+ <FilterInput
357
+ value={searchTerm}
358
+ onChange={setSearchTerm}
359
+ placeholder="Search by name or description..."
360
+ loading={loading && !initialLoad}
361
+ size="md"
362
+ />
375
363
  </div>
376
364
 
377
365
  {/* Content */}