dev3000 0.0.67 → 0.0.69

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 (196) hide show
  1. package/README.md +56 -7
  2. package/dist/cdp-monitor.d.ts.map +1 -1
  3. package/dist/cdp-monitor.js +4 -6
  4. package/dist/cdp-monitor.js.map +1 -1
  5. package/dist/cli.d.ts +1 -1
  6. package/dist/cli.js +2 -2
  7. package/dist/cli.js.map +1 -1
  8. package/dist/dev-environment.d.ts.map +1 -1
  9. package/dist/dev-environment.js +130 -15
  10. package/dist/dev-environment.js.map +1 -1
  11. package/mcp-server/.next/BUILD_ID +1 -1
  12. package/mcp-server/.next/app-build-manifest.json +2 -2
  13. package/mcp-server/.next/build-manifest.json +2 -2
  14. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  15. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -1
  16. package/mcp-server/.next/next-server.js.nft.json +1 -1
  17. package/mcp-server/.next/package.json +1 -3
  18. package/mcp-server/.next/postcss.js +6 -0
  19. package/mcp-server/.next/postcss.js.map +5 -0
  20. package/mcp-server/.next/prerender-manifest.json +10 -10
  21. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
  22. package/mcp-server/.next/server/app/_global-error.html +2 -2
  23. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  24. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
  25. package/mcp-server/.next/server/app/_not-found.html +1 -1
  26. package/mcp-server/.next/server/app/_not-found.rsc +1 -1
  27. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -1
  28. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -1
  29. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -1
  30. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -1
  31. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  32. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -1
  33. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -1
  34. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -1
  35. package/mcp-server/.next/server/app/index.html +1 -1
  36. package/mcp-server/.next/server/app/index.rsc +2 -2
  37. package/mcp-server/.next/server/app/logs/page/app-build-manifest.json +1 -1
  38. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
  39. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  40. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  41. package/mcp-server/.next/server/app/page/app-build-manifest.json +1 -1
  42. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  43. package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
  44. package/mcp-server/.next/server/chunks/[root-of-the-server]__a58600d8._.js +1 -1
  45. package/mcp-server/.next/server/chunks/[root-of-the-server]__a58600d8._.js.map +1 -1
  46. package/mcp-server/.next/server/chunks/ssr/_188bfe33._.js +1 -1
  47. package/mcp-server/.next/server/chunks/ssr/_188bfe33._.js.map +1 -1
  48. package/mcp-server/.next/server/chunks/ssr/_f03e80a8._.js +1 -1
  49. package/mcp-server/.next/server/chunks/ssr/_f03e80a8._.js.map +1 -1
  50. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  51. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  52. package/mcp-server/.next/static/chunks/40b55f6f752f90a1.js +1 -0
  53. package/mcp-server/.next/webpack-loaders.js +6 -0
  54. package/mcp-server/.next/webpack-loaders.js.map +5 -0
  55. package/mcp-server/app/api/screenshots/[filename]/route.ts +15 -9
  56. package/mcp-server/package.json +21 -21
  57. package/mcp-server/start-production.js +60 -0
  58. package/package.json +23 -9
  59. package/mcp-server/.next/cache/.previewinfo +0 -1
  60. package/mcp-server/.next/cache/.rscinfo +0 -1
  61. package/mcp-server/.next/cache/.tsbuildinfo +0 -1
  62. package/mcp-server/.next/cache/next-devtools-config.json +0 -1
  63. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000005.sst +0 -0
  64. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000006.sst +0 -0
  65. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000007.sst +0 -0
  66. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000008.sst +0 -0
  67. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000009.meta +0 -0
  68. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000010.meta +0 -0
  69. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000011.meta +0 -0
  70. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000013.meta +0 -0
  71. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000014.sst +0 -0
  72. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000016.sst +0 -0
  73. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000017.meta +0 -0
  74. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000018.meta +0 -0
  75. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000021.sst +0 -0
  76. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000022.sst +0 -0
  77. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000023.meta +0 -0
  78. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000025.meta +0 -0
  79. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000027.sst +0 -0
  80. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000028.sst +0 -0
  81. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000029.sst +0 -0
  82. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000030.sst +0 -0
  83. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000031.meta +0 -0
  84. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000032.meta +0 -0
  85. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000034.meta +0 -0
  86. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000035.meta +0 -0
  87. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000037.sst +0 -0
  88. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000038.sst +0 -0
  89. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000039.sst +0 -0
  90. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000040.sst +0 -0
  91. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000041.meta +0 -0
  92. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000042.meta +0 -0
  93. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000044.meta +0 -0
  94. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000045.meta +0 -0
  95. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000047.sst +0 -0
  96. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000048.sst +0 -0
  97. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000049.sst +0 -0
  98. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000050.sst +0 -0
  99. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000051.meta +0 -0
  100. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000052.meta +0 -0
  101. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000054.meta +0 -0
  102. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000055.meta +0 -0
  103. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000057.sst +0 -0
  104. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000058.sst +0 -0
  105. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000059.sst +0 -0
  106. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000060.sst +0 -0
  107. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000061.meta +0 -0
  108. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000062.meta +0 -0
  109. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000064.meta +0 -0
  110. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000065.meta +0 -0
  111. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000066.sst +0 -0
  112. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000067.meta +0 -0
  113. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000069.sst +0 -0
  114. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000070.sst +0 -0
  115. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000071.sst +0 -0
  116. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000072.sst +0 -0
  117. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000073.sst +0 -0
  118. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000074.meta +0 -0
  119. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000075.meta +0 -0
  120. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000076.meta +0 -0
  121. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000077.meta +0 -0
  122. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000078.meta +0 -0
  123. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000079.sst +0 -0
  124. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000080.sst +0 -0
  125. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000081.sst +0 -0
  126. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000082.sst +0 -0
  127. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000083.sst +0 -0
  128. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000084.meta +0 -0
  129. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000085.meta +0 -0
  130. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000086.meta +0 -0
  131. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000087.meta +0 -0
  132. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000088.meta +0 -0
  133. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000089.sst +0 -0
  134. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000090.sst +0 -0
  135. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000091.sst +0 -0
  136. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000092.sst +0 -0
  137. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000093.sst +0 -0
  138. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000094.meta +0 -0
  139. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000095.meta +0 -0
  140. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000096.meta +0 -0
  141. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000097.meta +0 -0
  142. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000098.meta +0 -0
  143. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000099.sst +0 -0
  144. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000100.sst +0 -0
  145. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000101.sst +0 -0
  146. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000102.meta +0 -0
  147. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000103.meta +0 -0
  148. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000104.meta +0 -0
  149. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000105.sst +0 -0
  150. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000106.sst +0 -0
  151. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000107.sst +0 -0
  152. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000108.meta +0 -0
  153. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000109.meta +0 -0
  154. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/00000110.meta +0 -0
  155. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/CURRENT +0 -0
  156. package/mcp-server/.next/cache/turbopack/v15.5.1-canary.28-7-gede8d1b86/LOG +0 -230
  157. package/mcp-server/.next/cache/webpack/client-development/0.pack.gz +0 -0
  158. package/mcp-server/.next/cache/webpack/client-development/1.pack.gz +0 -0
  159. package/mcp-server/.next/cache/webpack/client-development/2.pack.gz +0 -0
  160. package/mcp-server/.next/cache/webpack/client-development/3.pack.gz +0 -0
  161. package/mcp-server/.next/cache/webpack/client-development/4.pack.gz +0 -0
  162. package/mcp-server/.next/cache/webpack/client-development/index.pack.gz +0 -0
  163. package/mcp-server/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
  164. package/mcp-server/.next/cache/webpack/server-development/0.pack.gz +0 -0
  165. package/mcp-server/.next/cache/webpack/server-development/1.pack.gz +0 -0
  166. package/mcp-server/.next/cache/webpack/server-development/2.pack.gz +0 -0
  167. package/mcp-server/.next/cache/webpack/server-development/3.pack.gz +0 -0
  168. package/mcp-server/.next/cache/webpack/server-development/4.pack.gz +0 -0
  169. package/mcp-server/.next/cache/webpack/server-development/5.pack.gz +0 -0
  170. package/mcp-server/.next/cache/webpack/server-development/index.pack.gz +0 -0
  171. package/mcp-server/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
  172. package/mcp-server/.next/diagnostics/build-diagnostics.json +0 -6
  173. package/mcp-server/.next/diagnostics/framework.json +0 -1
  174. package/mcp-server/.next/server/pages/404.html +0 -1
  175. package/mcp-server/.next/server/pages/500.html +0 -2
  176. package/mcp-server/.next/server/pages/_app/build-manifest.json +0 -9
  177. package/mcp-server/.next/server/pages/_app/client-build-manifest.json +0 -1
  178. package/mcp-server/.next/server/pages/_app/next-font-manifest.json +0 -6
  179. package/mcp-server/.next/server/pages/_app/pages-manifest.json +0 -1
  180. package/mcp-server/.next/server/pages/_app/react-loadable-manifest.json +0 -1
  181. package/mcp-server/.next/server/pages/_document/next-font-manifest.json +0 -6
  182. package/mcp-server/.next/server/pages/_document/pages-manifest.json +0 -1
  183. package/mcp-server/.next/server/pages/_document/react-loadable-manifest.json +0 -1
  184. package/mcp-server/.next/server/pages/_error/build-manifest.json +0 -9
  185. package/mcp-server/.next/server/pages/_error/client-build-manifest.json +0 -1
  186. package/mcp-server/.next/server/pages/_error/next-font-manifest.json +0 -6
  187. package/mcp-server/.next/server/pages/_error/pages-manifest.json +0 -1
  188. package/mcp-server/.next/server/pages/_error/react-loadable-manifest.json +0 -1
  189. package/mcp-server/.next/static/chunks/909033014621484e.js +0 -1
  190. package/mcp-server/.next/trace +0 -1
  191. package/mcp-server/.next/turbopack +0 -0
  192. package/mcp-server/.next/types/routes.d.ts +0 -82
  193. package/mcp-server/.next/types/validator.ts +0 -160
  194. /package/mcp-server/.next/static/{KrGcHKj--hSqNUOXmnA4A → w9YTwJbk93I5HVWh5fdb6}/_buildManifest.js +0 -0
  195. /package/mcp-server/.next/static/{KrGcHKj--hSqNUOXmnA4A → w9YTwJbk93I5HVWh5fdb6}/_clientMiddlewareManifest.json +0 -0
  196. /package/mcp-server/.next/static/{KrGcHKj--hSqNUOXmnA4A → w9YTwJbk93I5HVWh5fdb6}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"W4nmmzPW/mq/GioKYUeommfzeXRZgrLwLmV/G89oVts=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"H91jgi33aEJtdABOsiUJpw7LVCqUN1Us+nETzYnTC7M=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "W4nmmzPW/mq/GioKYUeommfzeXRZgrLwLmV/G89oVts="
4
+ "encryptionKey": "H91jgi33aEJtdABOsiUJpw7LVCqUN1Us+nETzYnTC7M="
5
5
  }
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10188,(e,r,t)=>{"use strict";var o=e.r(86464).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;t.c=function(e){return o.H.useMemoCache(e)}},68837,(e,r,t)=>{"use strict";r.exports=e.r(10188)},8062,(e,r,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return n}});let o=e.r(86464);function n(e,r){let t=(0,o.useRef)(null),n=(0,o.useRef)(null);return(0,o.useCallback)(o=>{if(null===o){let e=t.current;e&&(t.current=null,e());let r=n.current;r&&(n.current=null,r())}else e&&(t.current=l(e,o)),r&&(n.current=l(r,o))},[e,r])}function l(e,r){if("function"!=typeof e)return e.current=r,()=>{e.current=null};{let t=e(r);return"function"==typeof t?t:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),r.exports=t.default)},68860,54768,e=>{"use strict";var r=e.i(10664),t=e.i(68837),o=e.i(86464);let n=e=>{let r=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,r,t)=>t?t.toUpperCase():r.toLowerCase());return r.charAt(0).toUpperCase()+r.slice(1)},l=function(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return r.filter((e,r,t)=>!!e&&""!==e.trim()&&t.indexOf(e)===r).join(" ").trim()};var a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let i=(0,o.forwardRef)((e,r)=>{let{color:t="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:s,className:d="",children:c,iconNode:u,...p}=e;return(0,o.createElement)("svg",{ref:r,...a,width:n,height:n,stroke:t,strokeWidth:s?24*Number(i)/Number(n):i,className:l("lucide",d),...!c&&!(e=>{for(let r in e)if(r.startsWith("aria-")||"role"===r||"title"===r)return!0})(p)&&{"aria-hidden":"true"},...p},[...u.map(e=>{let[r,t]=e;return(0,o.createElement)(r,t)}),...Array.isArray(c)?c:[c]])}),s=(e,r)=>{let t=(0,o.forwardRef)((t,a)=>{let{className:s,...d}=t;return(0,o.createElement)(i,{ref:a,iconNode:r,className:l("lucide-".concat(n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),s),...d})});return t.displayName=n(e),t},d=s("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),c=s("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);function u(e,r){if("function"==typeof e)return e(r);null!=e&&(e.current=r)}var p=function(e){let t=function(e){let r=o.forwardRef((e,r)=>{let{children:t,...n}=e;if(o.isValidElement(t)){var l,a,i;let e,s,d=(s=(e=null==(a=Object.getOwnPropertyDescriptor((l=t).props,"ref"))?void 0:a.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(s=(e=null==(i=Object.getOwnPropertyDescriptor(l,"ref"))?void 0:i.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref,c=function(e,r){let t={...r};for(let o in r){let n=e[o],l=r[o];/^on[A-Z]/.test(o)?n&&l?t[o]=function(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];let o=l(...r);return n(...r),o}:n&&(t[o]=n):"style"===o?t[o]={...n,...l}:"className"===o&&(t[o]=[n,l].filter(Boolean).join(" "))}return{...e,...t}}(n,t.props);return t.type!==o.Fragment&&(c.ref=r?function(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return e=>{let t=!1,o=r.map(r=>{let o=u(r,e);return t||"function"!=typeof o||(t=!0),o});if(t)return()=>{for(let e=0;e<o.length;e++){let t=o[e];"function"==typeof t?t():u(r[e],null)}}}}(r,d):d),o.cloneElement(t,c)}return o.Children.count(t)>1?o.Children.only(null):null});return r.displayName="".concat(e,".SlotClone"),r}(e),n=o.forwardRef((e,n)=>{let{children:l,...a}=e,i=o.Children.toArray(l),s=i.find(f);if(s){let e=s.props.children,l=i.map(r=>r!==s?r:o.Children.count(e)>1?o.Children.only(null):o.isValidElement(e)?e.props.children:null);return(0,r.jsx)(t,{...a,ref:n,children:o.isValidElement(e)?o.cloneElement(e,void 0,l):null})}return(0,r.jsx)(t,{...a,ref:n,children:l})});return n.displayName="".concat(e,".Slot"),n}("Slot"),b=Symbol("radix.slottable");function f(e){return o.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===b}function m(){for(var e,r,t=0,o="",n=arguments.length;t<n;t++)(e=arguments[t])&&(r=function e(r){var t,o,n="";if("string"==typeof r||"number"==typeof r)n+=r;else if("object"==typeof r)if(Array.isArray(r)){var l=r.length;for(t=0;t<l;t++)r[t]&&(o=e(r[t]))&&(n&&(n+=" "),n+=o)}else for(o in r)r[o]&&(n&&(n+=" "),n+=o);return n}(e))&&(o&&(o+=" "),o+=r);return o}let g=e=>"boolean"==typeof e?"".concat(e):0===e?"0":e,h=(e,r)=>{var t;if(0===e.length)return r.classGroupId;let o=e[0],n=r.nextPart.get(o),l=n?h(e.slice(1),n):void 0;if(l)return l;if(0===r.validators.length)return;let a=e.join("-");return null==(t=r.validators.find(e=>{let{validator:r}=e;return r(a)}))?void 0:t.classGroupId},v=/^\[(.+)\]$/,y=(e,r,t,o)=>{e.forEach(e=>{if("string"==typeof e){(""===e?r:x(r,e)).classGroupId=t;return}if("function"==typeof e)return w(e)?void y(e(o),r,t,o):void r.validators.push({validator:e,classGroupId:t});Object.entries(e).forEach(e=>{let[n,l]=e;y(l,x(r,n),t,o)})})},x=(e,r)=>{let t=e;return r.split("-").forEach(e=>{t.nextPart.has(e)||t.nextPart.set(e,{nextPart:new Map,validators:[]}),t=t.nextPart.get(e)}),t},w=e=>e.isThemeGetter,k=(e,r)=>r?e.map(e=>{let[t,o]=e;return[t,o.map(e=>"string"==typeof e?r+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map(e=>{let[t,o]=e;return[r+t,o]})):e)]}):e,z=e=>{if(e.length<=1)return e;let r=[],t=[];return e.forEach(e=>{"["===e[0]?(r.push(...t.sort(),e),t=[]):t.push(e)}),r.push(...t.sort()),r},j=/\s+/;function C(){let e,r,t=0,o="";for(;t<arguments.length;)(e=arguments[t++])&&(r=N(e))&&(o&&(o+=" "),o+=r);return o}let N=e=>{let r;if("string"==typeof e)return e;let t="";for(let o=0;o<e.length;o++)e[o]&&(r=N(e[o]))&&(t&&(t+=" "),t+=r);return t},S=e=>{let r=r=>r[e]||[];return r.isThemeGetter=!0,r},_=/^\[(?:([a-z-]+):)?(.+)\]$/i,E=/^\d+\/\d+$/,O=new Set(["px","full","screen"]),A=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,R=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,M=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,P=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,I=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,T=e=>W(e)||O.has(e)||E.test(e),G=e=>Y(e,"length",Q),W=e=>!!e&&!Number.isNaN(Number(e)),L=e=>Y(e,"number",W),$=e=>!!e&&Number.isInteger(Number(e)),U=e=>e.endsWith("%")&&W(e.slice(0,-1)),D=e=>_.test(e),V=e=>A.test(e),B=new Set(["length","size","percentage"]),q=e=>Y(e,B,X),Z=e=>Y(e,"position",X),H=new Set(["image","url"]),J=e=>Y(e,H,er),K=e=>Y(e,"",ee),F=()=>!0,Y=(e,r,t)=>{let o=_.exec(e);return!!o&&(o[1]?"string"==typeof r?o[1]===r:r.has(o[1]):t(o[2]))},Q=e=>R.test(e)&&!M.test(e),X=()=>!1,ee=e=>P.test(e),er=e=>I.test(e);Symbol.toStringTag;let et=function(e){let r,t,o;for(var n=arguments.length,l=Array(n>1?n-1:0),a=1;a<n;a++)l[a-1]=arguments[a];let i=function(n){let a;return t=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let r=0,t=new Map,o=new Map,n=(n,l)=>{t.set(n,l),++r>e&&(r=0,o=t,t=new Map)};return{get(e){let r=t.get(e);return void 0!==r?r:void 0!==(r=o.get(e))?(n(e,r),r):void 0},set(e,r){t.has(e)?t.set(e,r):n(e,r)}}})((a=l.reduce((e,r)=>r(e),e())).cacheSize),parseClassName:(e=>{let{separator:r,experimentalParseClassName:t}=e,o=1===r.length,n=r[0],l=r.length,a=e=>{let t,a=[],i=0,s=0;for(let d=0;d<e.length;d++){let c=e[d];if(0===i){if(c===n&&(o||e.slice(d,d+l)===r)){a.push(e.slice(s,d)),s=d+l;continue}if("/"===c){t=d;continue}}"["===c?i++:"]"===c&&i--}let d=0===a.length?e:e.substring(s),c=d.startsWith("!"),u=c?d.substring(1):d;return{modifiers:a,hasImportantModifier:c,baseClassName:u,maybePostfixModifierPosition:t&&t>s?t-s:void 0}};return t?e=>t({className:e,parseClassName:a}):a})(a),...(e=>{let r=(e=>{let{theme:r,prefix:t}=e,o={nextPart:new Map,validators:[]};return k(Object.entries(e.classGroups),t).forEach(e=>{let[t,n]=e;y(n,o,t,r)}),o})(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:e=>{let t=e.split("-");return""===t[0]&&1!==t.length&&t.shift(),h(t,r)||(e=>{if(v.test(e)){let r=v.exec(e)[1],t=null==r?void 0:r.substring(0,r.indexOf(":"));if(t)return"arbitrary.."+t}})(e)},getConflictingClassGroupIds:(e,r)=>{let n=t[e]||[];return r&&o[e]?[...n,...o[e]]:n}}})(a)}).cache.get,o=r.cache.set,i=s,s(n)};function s(e){let n=t(e);if(n)return n;let l=((e,r)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:n}=r,l=[],a=e.trim().split(j),i="";for(let e=a.length-1;e>=0;e-=1){let r=a[e],{modifiers:s,hasImportantModifier:d,baseClassName:c,maybePostfixModifierPosition:u}=t(r),p=!!u,b=o(p?c.substring(0,u):c);if(!b){if(!p||!(b=o(c))){i=r+(i.length>0?" "+i:i);continue}p=!1}let f=z(s).join(":"),m=d?f+"!":f,g=m+b;if(l.includes(g))continue;l.push(g);let h=n(b,p);for(let e=0;e<h.length;++e){let r=h[e];l.push(m+r)}i=r+(i.length>0?" "+i:i)}return i})(e,r);return o(e,l),l}return function(){return i(C.apply(null,arguments))}}(()=>{let e=S("colors"),r=S("spacing"),t=S("blur"),o=S("brightness"),n=S("borderColor"),l=S("borderRadius"),a=S("borderSpacing"),i=S("borderWidth"),s=S("contrast"),d=S("grayscale"),c=S("hueRotate"),u=S("invert"),p=S("gap"),b=S("gradientColorStops"),f=S("gradientColorStopPositions"),m=S("inset"),g=S("margin"),h=S("opacity"),v=S("padding"),y=S("saturate"),x=S("scale"),w=S("sepia"),k=S("skew"),z=S("space"),j=S("translate"),C=()=>["auto","contain","none"],N=()=>["auto","hidden","clip","visible","scroll"],_=()=>["auto",D,r],E=()=>[D,r],O=()=>["",T,G],A=()=>["auto",W,D],R=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],M=()=>["solid","dashed","dotted","double","none"],P=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],I=()=>["start","end","center","between","around","evenly","stretch"],B=()=>["","0",D],H=()=>["auto","avoid","all","avoid-page","page","left","right","column"],Y=()=>[W,D];return{cacheSize:500,separator:":",theme:{colors:[F],spacing:[T,G],blur:["none","",V,D],brightness:Y(),borderColor:[e],borderRadius:["none","","full",V,D],borderSpacing:E(),borderWidth:O(),contrast:Y(),grayscale:B(),hueRotate:Y(),invert:B(),gap:E(),gradientColorStops:[e],gradientColorStopPositions:[U,G],inset:_(),margin:_(),opacity:Y(),padding:E(),saturate:Y(),scale:Y(),sepia:B(),skew:Y(),space:E(),translate:E()},classGroups:{aspect:[{aspect:["auto","square","video",D]}],container:["container"],columns:[{columns:[V]}],"break-after":[{"break-after":H()}],"break-before":[{"break-before":H()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...R(),D]}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[m]}],"inset-x":[{"inset-x":[m]}],"inset-y":[{"inset-y":[m]}],start:[{start:[m]}],end:[{end:[m]}],top:[{top:[m]}],right:[{right:[m]}],bottom:[{bottom:[m]}],left:[{left:[m]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",$,D]}],basis:[{basis:_()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",D]}],grow:[{grow:B()}],shrink:[{shrink:B()}],order:[{order:["first","last","none",$,D]}],"grid-cols":[{"grid-cols":[F]}],"col-start-end":[{col:["auto",{span:["full",$,D]},D]}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":[F]}],"row-start-end":[{row:["auto",{span:[$,D]},D]}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",D]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",D]}],gap:[{gap:[p]}],"gap-x":[{"gap-x":[p]}],"gap-y":[{"gap-y":[p]}],"justify-content":[{justify:["normal",...I()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...I(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...I(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[v]}],px:[{px:[v]}],py:[{py:[v]}],ps:[{ps:[v]}],pe:[{pe:[v]}],pt:[{pt:[v]}],pr:[{pr:[v]}],pb:[{pb:[v]}],pl:[{pl:[v]}],m:[{m:[g]}],mx:[{mx:[g]}],my:[{my:[g]}],ms:[{ms:[g]}],me:[{me:[g]}],mt:[{mt:[g]}],mr:[{mr:[g]}],mb:[{mb:[g]}],ml:[{ml:[g]}],"space-x":[{"space-x":[z]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[z]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",D,r]}],"min-w":[{"min-w":[D,r,"min","max","fit"]}],"max-w":[{"max-w":[D,r,"none","full","min","max","fit","prose",{screen:[V]},V]}],h:[{h:[D,r,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[D,r,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[D,r,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[D,r,"auto","min","max","fit"]}],"font-size":[{text:["base",V,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",L]}],"font-family":[{font:[F]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",D]}],"line-clamp":[{"line-clamp":["none",W,L]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",T,D]}],"list-image":[{"list-image":["none",D]}],"list-style-type":[{list:["none","disc","decimal",D]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...M(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",T,G]}],"underline-offset":[{"underline-offset":["auto",T,D]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:E()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",D]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",D]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...R(),Z]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",q]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},J]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[f]}],"gradient-via-pos":[{via:[f]}],"gradient-to-pos":[{to:[f]}],"gradient-from":[{from:[b]}],"gradient-via":[{via:[b]}],"gradient-to":[{to:[b]}],rounded:[{rounded:[l]}],"rounded-s":[{"rounded-s":[l]}],"rounded-e":[{"rounded-e":[l]}],"rounded-t":[{"rounded-t":[l]}],"rounded-r":[{"rounded-r":[l]}],"rounded-b":[{"rounded-b":[l]}],"rounded-l":[{"rounded-l":[l]}],"rounded-ss":[{"rounded-ss":[l]}],"rounded-se":[{"rounded-se":[l]}],"rounded-ee":[{"rounded-ee":[l]}],"rounded-es":[{"rounded-es":[l]}],"rounded-tl":[{"rounded-tl":[l]}],"rounded-tr":[{"rounded-tr":[l]}],"rounded-br":[{"rounded-br":[l]}],"rounded-bl":[{"rounded-bl":[l]}],"border-w":[{border:[i]}],"border-w-x":[{"border-x":[i]}],"border-w-y":[{"border-y":[i]}],"border-w-s":[{"border-s":[i]}],"border-w-e":[{"border-e":[i]}],"border-w-t":[{"border-t":[i]}],"border-w-r":[{"border-r":[i]}],"border-w-b":[{"border-b":[i]}],"border-w-l":[{"border-l":[i]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:[...M(),"hidden"]}],"divide-x":[{"divide-x":[i]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[i]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:M()}],"border-color":[{border:[n]}],"border-color-x":[{"border-x":[n]}],"border-color-y":[{"border-y":[n]}],"border-color-s":[{"border-s":[n]}],"border-color-e":[{"border-e":[n]}],"border-color-t":[{"border-t":[n]}],"border-color-r":[{"border-r":[n]}],"border-color-b":[{"border-b":[n]}],"border-color-l":[{"border-l":[n]}],"divide-color":[{divide:[n]}],"outline-style":[{outline:["",...M()]}],"outline-offset":[{"outline-offset":[T,D]}],"outline-w":[{outline:[T,G]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:O()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[T,G]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",V,K]}],"shadow-color":[{shadow:[F]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":[...P(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":P()}],filter:[{filter:["","none"]}],blur:[{blur:[t]}],brightness:[{brightness:[o]}],contrast:[{contrast:[s]}],"drop-shadow":[{"drop-shadow":["","none",V,D]}],grayscale:[{grayscale:[d]}],"hue-rotate":[{"hue-rotate":[c]}],invert:[{invert:[u]}],saturate:[{saturate:[y]}],sepia:[{sepia:[w]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[t]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[s]}],"backdrop-grayscale":[{"backdrop-grayscale":[d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c]}],"backdrop-invert":[{"backdrop-invert":[u]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[w]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",D]}],duration:[{duration:Y()}],ease:[{ease:["linear","in","out","in-out",D]}],delay:[{delay:Y()}],animate:[{animate:["none","spin","ping","pulse","bounce",D]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[x]}],"scale-x":[{"scale-x":[x]}],"scale-y":[{"scale-y":[x]}],rotate:[{rotate:[$,D]}],"translate-x":[{"translate-x":[j]}],"translate-y":[{"translate-y":[j]}],"skew-x":[{"skew-x":[k]}],"skew-y":[{"skew-y":[k]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",D]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",D]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":E()}],"scroll-mx":[{"scroll-mx":E()}],"scroll-my":[{"scroll-my":E()}],"scroll-ms":[{"scroll-ms":E()}],"scroll-me":[{"scroll-me":E()}],"scroll-mt":[{"scroll-mt":E()}],"scroll-mr":[{"scroll-mr":E()}],"scroll-mb":[{"scroll-mb":E()}],"scroll-ml":[{"scroll-ml":E()}],"scroll-p":[{"scroll-p":E()}],"scroll-px":[{"scroll-px":E()}],"scroll-py":[{"scroll-py":E()}],"scroll-ps":[{"scroll-ps":E()}],"scroll-pe":[{"scroll-pe":E()}],"scroll-pt":[{"scroll-pt":E()}],"scroll-pr":[{"scroll-pr":E()}],"scroll-pb":[{"scroll-pb":E()}],"scroll-pl":[{"scroll-pl":E()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",D]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[T,G,L]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}}),eo=((e,r)=>t=>{var o;if((null==r?void 0:r.variants)==null)return m(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:n,defaultVariants:l}=r,a=Object.keys(n).map(e=>{let r=null==t?void 0:t[e],o=null==l?void 0:l[e];if(null===r)return null;let a=g(r)||g(o);return n[e][a]}),i=t&&Object.entries(t).reduce((e,r)=>{let[t,o]=r;return void 0===o||(e[t]=o),e},{});return m(e,a,null==r||null==(o=r.compoundVariants)?void 0:o.reduce((e,r)=>{let{class:t,className:o,...n}=r;return Object.entries(n).every(e=>{let[r,t]=e;return Array.isArray(t)?t.includes({...l,...i}[r]):({...l,...i})[r]===t})?[...e,t,o]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)})("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function en(e){let o,n,l,a,i,s,d,c=(0,t.c)(14);c[0]!==e?({className:o,variant:i,size:l,asChild:a,...n}=e,c[0]=e,c[1]=o,c[2]=n,c[3]=l,c[4]=a,c[5]=i):(o=c[1],n=c[2],l=c[3],a=c[4],i=c[5]);let u=void 0!==a&&a?p:"button";return c[6]!==o||c[7]!==l||c[8]!==i?(s=function(){for(var e=arguments.length,r=Array(e),t=0;t<e;t++)r[t]=arguments[t];return et(m(r))}(eo({variant:i,size:l,className:o})),c[6]=o,c[7]=l,c[8]=i,c[9]=s):s=c[9],c[10]!==u||c[11]!==n||c[12]!==s?(d=(0,r.jsx)(u,{"data-slot":"button",className:s,...n}),c[10]=u,c[11]=n,c[12]=s,c[13]=d):d=c[13],d}function el(e){let o,n,l,a=(0,t.c)(10),{darkMode:i,setDarkMode:s,className:u}=e;a[0]!==i||a[1]!==s?(o=()=>s(!i),a[0]=i,a[1]=s,a[2]=o):o=a[2];let p=i?"Switch to light mode":"Switch to dark mode";return a[3]!==i?(n=i?(0,r.jsx)(c,{className:"h-5 w-5 transition-all"}):(0,r.jsx)(d,{className:"h-5 w-5 transition-all"}),a[3]=i,a[4]=n):n=a[4],a[5]!==u||a[6]!==o||a[7]!==p||a[8]!==n?(l=(0,r.jsx)(en,{variant:"ghost",size:"icon",onClick:o,className:u,"aria-label":p,children:n}),a[5]=u,a[6]=o,a[7]=p,a[8]=n,a[9]=l):l=a[9],l}function ea(){let e,r,n,l,a,i=(0,t.c)(7),[s,d]=(0,o.useState)(ei);return i[0]!==s?(e=()=>{localStorage.setItem("dev3000-dark-mode",JSON.stringify(s)),s?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")},r=[s],i[0]=s,i[1]=e,i[2]=r):(e=i[1],r=i[2]),(0,o.useEffect)(e,r),i[3]===Symbol.for("react.memo_cache_sentinel")?(n=()=>{let e=window.matchMedia("(prefers-color-scheme: dark)"),r=e=>{null===localStorage.getItem("dev3000-dark-mode")&&d(e.matches)};return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},l=[],i[3]=n,i[4]=l):(n=i[3],l=i[4]),(0,o.useEffect)(n,l),i[5]!==s?(a=[s,d],i[5]=s,i[6]=a):a=i[6],a}function ei(){{let e=localStorage.getItem("dev3000-dark-mode");return null!==e?JSON.parse(e):window.matchMedia("(prefers-color-scheme: dark)").matches}}e.s(["DarkModeToggle",()=>el],68860),e.s(["useDarkMode",()=>ea],54768)}]);
@@ -0,0 +1,6 @@
1
+ var R=require("./build/chunks/[turbopack]_runtime.js")("webpack-loaders.js")
2
+ R.c("build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_5a40237e._.js")
3
+ R.c("build/chunks/[root-of-the-server]__c7ae8543._.js")
4
+ R.m("[turbopack-node]/globals.ts [webpack_loaders] (ecmascript)")
5
+ R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)")
6
+ module.exports=R.m("[turbopack-node]/ipc/evaluate.ts/evaluate.js { INNER => \"[turbopack-node]/transforms/webpack-loaders.ts [webpack_loaders] (ecmascript)\", RUNTIME => \"[turbopack-node]/ipc/evaluate.ts [webpack_loaders] (ecmascript)\" } [webpack_loaders] (ecmascript)").exports
@@ -0,0 +1,5 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sections": []
5
+ }
@@ -13,17 +13,23 @@ export async function GET(_request: NextRequest, { params }: { params: Promise<{
13
13
  }
14
14
 
15
15
  // For global installs, screenshots are saved to temp directory
16
- // Check if running from global install location
17
- const isGlobalInstall = __dirname.includes(".pnpm")
18
-
16
+ // First check if SCREENSHOT_DIR is set (passed by dev3000 for global installs)
19
17
  let screenshotPath: string
20
- if (isGlobalInstall) {
21
- // Global install - check temp directory
22
- const tmpDir = join(require("os").tmpdir(), "dev3000-mcp-deps", "public", "screenshots", filename)
23
- screenshotPath = tmpDir
18
+ if (process.env.SCREENSHOT_DIR) {
19
+ // Use the directory specified by dev3000
20
+ screenshotPath = join(process.env.SCREENSHOT_DIR, filename)
24
21
  } else {
25
- // Local install - use current working directory
26
- screenshotPath = join(process.cwd(), "public", "screenshots", filename)
22
+ // Fallback: Check if running from global install location
23
+ const isGlobalInstall = __dirname.includes(".pnpm")
24
+
25
+ if (isGlobalInstall) {
26
+ // Global install - check temp directory
27
+ const tmpDir = join(require("os").tmpdir(), "dev3000-mcp-deps", "public", "screenshots", filename)
28
+ screenshotPath = tmpDir
29
+ } else {
30
+ // Local install - use current working directory
31
+ screenshotPath = join(process.cwd(), "public", "screenshots", filename)
32
+ }
27
33
  }
28
34
 
29
35
  // Check if file exists
@@ -11,31 +11,31 @@
11
11
  "tools": "tsx tools-cli.ts"
12
12
  },
13
13
  "dependencies": {
14
- "@modelcontextprotocol/sdk": "catalog:",
15
- "@radix-ui/react-slot": "catalog:",
16
- "autoprefixer": "catalog:",
17
- "class-variance-authority": "catalog:",
18
- "clsx": "catalog:",
19
- "commander": "^11.1.0",
20
- "lucide-react": "catalog:",
14
+ "@modelcontextprotocol/sdk": "^1.11.0",
15
+ "@radix-ui/react-slot": "^1.1.1",
16
+ "autoprefixer": "^10.4.20",
17
+ "class-variance-authority": "^0.7.1",
18
+ "clsx": "^2.1.1",
19
+ "commander": "^14.0.1",
20
+ "lucide-react": "^0.544.0",
21
21
  "mcp-handler": "^1.0.2",
22
- "next": "catalog:",
23
- "react": "catalog:",
24
- "react-dom": "catalog:",
25
- "tailwind-merge": "catalog:",
22
+ "next": "15.5.1-canary.30",
23
+ "react": "19.2.0-canary-de5a1b20-20250905",
24
+ "react-dom": "19.2.0-canary-de5a1b20-20250905",
25
+ "tailwind-merge": "^2.5.5",
26
26
  "ws": "^8.18.3",
27
- "zod": "catalog:"
27
+ "zod": "^3.22.4"
28
28
  },
29
29
  "devDependencies": {
30
- "@tailwindcss/postcss": "catalog:",
31
- "@types/node": "catalog:",
32
- "@types/react": "catalog:",
33
- "@types/react-dom": "catalog:",
30
+ "@tailwindcss/postcss": "^4.1.9",
31
+ "@types/node": "^24.5.2",
32
+ "@types/react": "^19.0.0",
33
+ "@types/react-dom": "^19.0.0",
34
34
  "@types/ws": "^8.5.12",
35
- "babel-plugin-react-compiler": "19.1.0-rc.3",
36
- "postcss": "catalog:",
37
- "tailwindcss": "catalog:",
38
- "tw-animate-css": "1.3.3",
39
- "typescript": "catalog:"
35
+ "babel-plugin-react-compiler": "^19.1.0-rc.3",
36
+ "postcss": "^8.5",
37
+ "tailwindcss": "^4.1.9",
38
+ "tw-animate-css": "^1.3.8",
39
+ "typescript": "^5.0.0"
40
40
  }
41
41
  }
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env node
2
+ const path = require("path")
3
+ const { existsSync } = require("fs")
4
+ const { spawn } = require("child_process")
5
+
6
+ // Set up the environment
7
+ process.env.NODE_ENV = "production"
8
+ process.env.PORT = process.env.PORT || "3684"
9
+
10
+ // Change to the MCP server directory
11
+ process.chdir(__dirname)
12
+
13
+ // Check if we're in a global install by looking for Next.js in parent directories
14
+ const findNext = () => {
15
+ let currentDir = __dirname
16
+ const maxLevels = 5 // Prevent infinite loop
17
+ let levels = 0
18
+
19
+ while (levels < maxLevels) {
20
+ const nextBin = path.join(currentDir, "node_modules", ".bin", "next")
21
+ if (existsSync(nextBin)) {
22
+ return nextBin
23
+ }
24
+
25
+ const parentDir = path.dirname(currentDir)
26
+ if (parentDir === currentDir) break // Reached root
27
+ currentDir = parentDir
28
+ levels++
29
+ }
30
+
31
+ return null
32
+ }
33
+
34
+ const nextBin = findNext()
35
+
36
+ if (nextBin) {
37
+ // Use the bundled Next.js
38
+ console.log("Starting MCP server using bundled Next.js...")
39
+ const child = spawn(nextBin, ["start"], {
40
+ stdio: "inherit",
41
+ cwd: __dirname,
42
+ env: {
43
+ ...process.env,
44
+ NODE_ENV: "production"
45
+ }
46
+ })
47
+
48
+ child.on("error", (err) => {
49
+ console.error("Failed to start server:", err)
50
+ process.exit(1)
51
+ })
52
+
53
+ child.on("exit", (code) => {
54
+ process.exit(code || 0)
55
+ })
56
+ } else {
57
+ console.error("Error: Next.js binary not found. The package may not have been built correctly.")
58
+ console.error("Please reinstall dev3000 or report this issue.")
59
+ process.exit(1)
60
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev3000",
3
- "version": "0.0.67",
3
+ "version": "0.0.69",
4
4
  "description": "AI-powered development tools with browser monitoring and MCP server integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,13 +12,22 @@
12
12
  "dist/",
13
13
  "src/tui-interface-impl.tsx",
14
14
  "mcp-server/app/",
15
- "mcp-server/.next/",
15
+ "mcp-server/.next/BUILD_ID",
16
+ "mcp-server/.next/*.json",
17
+ "mcp-server/.next/*.js",
18
+ "mcp-server/.next/*.js.map",
19
+ "mcp-server/.next/server/app/",
20
+ "mcp-server/.next/server/chunks/",
21
+ "mcp-server/.next/server/*.js",
22
+ "mcp-server/.next/server/*.json",
23
+ "mcp-server/.next/static/",
16
24
  "mcp-server/public/",
17
25
  "mcp-server/package.json",
18
26
  "mcp-server/tsconfig.json",
19
27
  "mcp-server/next.config.ts",
20
28
  "mcp-server/next-env.d.ts",
21
29
  "mcp-server/postcss.config.mjs",
30
+ "mcp-server/start-production.js",
22
31
  "README.md"
23
32
  ],
24
33
  "scripts": {
@@ -30,6 +39,9 @@
30
39
  "lint:fix": "biome check --write src mcp-server www scripts",
31
40
  "test": "vitest run",
32
41
  "test-postinstall": "tsx scripts/test-postinstall.ts",
42
+ "test-global-install": "tsx scripts/test-global-install.ts",
43
+ "test-clean-install": "tsx scripts/test-clean-install.ts",
44
+ "test-release": "./scripts/test-release.sh",
33
45
  "prepare": "husky",
34
46
  "release": "./scripts/release.sh",
35
47
  "canary": "./scripts/canary.sh"
@@ -50,25 +62,27 @@
50
62
  "@biomejs/biome": "^2.2.4",
51
63
  "chalk": "^5.3.0",
52
64
  "cli-progress": "^3.12.0",
53
- "commander": "^11.1.0",
65
+ "commander": "^14.0.1",
54
66
  "ink": "^6.3.1",
55
67
  "mcp-handler": "^1.0.2",
56
- "ora": "^8.2.0",
68
+ "next": "15.5.1-canary.30",
69
+ "ora": "^9.0.0",
57
70
  "package-manager-detector": "^1.3.0",
58
- "ws": "^8.18.0",
71
+ "react": "19.2.0-canary-de5a1b20-20250905",
72
+ "react-dom": "19.2.0-canary-de5a1b20-20250905",
73
+ "ws": "^8.18.3",
59
74
  "zod": "^3.22.4"
60
75
  },
61
76
  "devDependencies": {
62
77
  "@types/cli-progress": "^3.11.6",
63
- "@types/node": "^22.8.7",
64
- "@types/react": "^19.1.13",
78
+ "@types/node": "^24.5.2",
79
+ "@types/react": "^19.0.0",
65
80
  "@types/ws": "^8.5.12",
66
81
  "husky": "^9.0.0",
67
82
  "js-yaml": "^4.1.0",
68
- "react": "^19.1.1",
69
83
  "tsx": "^4.20.3",
70
84
  "typescript": "^5.0.0",
71
- "vitest": "^1.0.0"
85
+ "vitest": "^3.2.4"
72
86
  },
73
87
  "engines": {
74
88
  "node": ">=18.0.0"
@@ -1 +0,0 @@
1
- {"previewModeId":"42e67a3e061b595e5c446c05b46bd25a","previewModeSigningKey":"f87719d103c1ca5a79de1ed92936e24c83b2c8eff89994eddf4dd9f92ab4ddfc","previewModeEncryptionKey":"09ac63bfe7fbdbcd6cee2a4e6741c429d2104c3946b85651797745474a90f19d","expireAt":1759759150303}
@@ -1 +0,0 @@
1
- {"encryption.key":"W4nmmzPW/mq/GioKYUeommfzeXRZgrLwLmV/G89oVts=","encryption.expire_at":1759759150284}