constella 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (747) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +53 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/diagnostics/build-diagnostics.json +6 -0
  5. package/.next/diagnostics/framework.json +1 -0
  6. package/.next/export-marker.json +6 -0
  7. package/.next/images-manifest.json +68 -0
  8. package/.next/next-minimal-server.js.nft.json +1 -0
  9. package/.next/next-server.js.nft.json +1 -0
  10. package/.next/package.json +1 -0
  11. package/.next/prerender-manifest.json +36 -0
  12. package/.next/react-loadable-manifest.json +14 -0
  13. package/.next/required-server-files.js +343 -0
  14. package/.next/required-server-files.json +343 -0
  15. package/.next/routes-manifest.json +362 -0
  16. package/.next/server/app/(app)/activity/page.js +2 -0
  17. package/.next/server/app/(app)/activity/page.js.nft.json +1 -0
  18. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/(app)/agents/[handle]/page.js +18 -0
  20. package/.next/server/app/(app)/agents/[handle]/page.js.nft.json +1 -0
  21. package/.next/server/app/(app)/agents/[handle]/page_client-reference-manifest.js +1 -0
  22. package/.next/server/app/(app)/code/page.js +2 -0
  23. package/.next/server/app/(app)/code/page.js.nft.json +1 -0
  24. package/.next/server/app/(app)/code/page_client-reference-manifest.js +1 -0
  25. package/.next/server/app/(app)/config/page.js +2 -0
  26. package/.next/server/app/(app)/config/page.js.nft.json +1 -0
  27. package/.next/server/app/(app)/config/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/(app)/costs/page.js +2 -0
  29. package/.next/server/app/(app)/costs/page.js.nft.json +1 -0
  30. package/.next/server/app/(app)/costs/page_client-reference-manifest.js +1 -0
  31. package/.next/server/app/(app)/cron/page.js +2 -0
  32. package/.next/server/app/(app)/cron/page.js.nft.json +1 -0
  33. package/.next/server/app/(app)/cron/page_client-reference-manifest.js +1 -0
  34. package/.next/server/app/(app)/dashboard/page.js +2 -0
  35. package/.next/server/app/(app)/dashboard/page.js.nft.json +1 -0
  36. package/.next/server/app/(app)/dashboard/page_client-reference-manifest.js +1 -0
  37. package/.next/server/app/(app)/docs/[id]/page.js +2 -0
  38. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
  39. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(app)/docs/page.js +2 -0
  41. package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
  42. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(app)/github/page.js +2 -0
  44. package/.next/server/app/(app)/github/page.js.nft.json +1 -0
  45. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
  46. package/.next/server/app/(app)/goals/page.js +2 -0
  47. package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
  48. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
  49. package/.next/server/app/(app)/inbox/page.js +2 -0
  50. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
  51. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
  52. package/.next/server/app/(app)/knowledge/page.js +3 -0
  53. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
  54. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
  55. package/.next/server/app/(app)/models/page.js +2 -0
  56. package/.next/server/app/(app)/models/page.js.nft.json +1 -0
  57. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
  58. package/.next/server/app/(app)/notifications/page.js +2 -0
  59. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
  60. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
  61. package/.next/server/app/(app)/org/page.js +2 -0
  62. package/.next/server/app/(app)/org/page.js.nft.json +1 -0
  63. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/(app)/organizations/page.js +2 -0
  65. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
  66. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/(app)/page.js +3 -0
  68. package/.next/server/app/(app)/page.js.nft.json +1 -0
  69. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
  70. package/.next/server/app/(app)/planner/page.js +2 -0
  71. package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
  72. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
  73. package/.next/server/app/(app)/plugins/page.js +2 -0
  74. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
  75. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
  76. package/.next/server/app/(app)/pm/page.js +2 -0
  77. package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
  78. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
  80. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
  81. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
  82. package/.next/server/app/(app)/profile/page.js +2 -0
  83. package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
  84. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
  85. package/.next/server/app/(app)/pulse/page.js +2 -0
  86. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
  87. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
  88. package/.next/server/app/(app)/reports/[id]/page.js +3 -0
  89. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
  90. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
  91. package/.next/server/app/(app)/reports/page.js +5 -0
  92. package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
  93. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
  94. package/.next/server/app/(app)/routines/page.js +2 -0
  95. package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
  96. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
  97. package/.next/server/app/(app)/search/page.js +2 -0
  98. package/.next/server/app/(app)/search/page.js.nft.json +1 -0
  99. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
  100. package/.next/server/app/(app)/security/page.js +2 -0
  101. package/.next/server/app/(app)/security/page.js.nft.json +1 -0
  102. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
  103. package/.next/server/app/(app)/skills/page.js +18 -0
  104. package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
  105. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
  106. package/.next/server/app/(app)/tasks/page.js +2 -0
  107. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
  108. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
  109. package/.next/server/app/(app)/test-dev/page.js +2 -0
  110. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
  111. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
  112. package/.next/server/app/(app)/update/page.js +2 -0
  113. package/.next/server/app/(app)/update/page.js.nft.json +1 -0
  114. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
  115. package/.next/server/app/(auth)/login/page.js +2 -0
  116. package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
  117. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
  118. package/.next/server/app/(auth)/onboarding/page.js +18 -0
  119. package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
  120. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
  121. package/.next/server/app/_global-error/page.js +32 -0
  122. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  123. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  124. package/.next/server/app/_global-error.html +1 -0
  125. package/.next/server/app/_global-error.meta +16 -0
  126. package/.next/server/app/_global-error.rsc +15 -0
  127. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  128. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  129. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  130. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  131. package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
  132. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  133. package/.next/server/app/_not-found/page.js +2 -0
  134. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  135. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/auth/[...all]/route.js +1 -0
  137. package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
  138. package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/cron/tick/route.js +52 -0
  140. package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
  141. package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/dev-login/route.js +1 -0
  143. package/.next/server/app/api/dev-login/route.js.nft.json +1 -0
  144. package/.next/server/app/api/dev-login/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/locks/acquire/route.js +1 -0
  146. package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
  147. package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/models/progress/route.js +1 -0
  149. package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
  150. package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
  152. package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
  153. package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
  155. package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
  156. package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/passkey/register/options/route.js +1 -0
  158. package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
  159. package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/passkey/register/verify/route.js +1 -0
  161. package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
  162. package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/stream/route.js +4 -0
  164. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  165. package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/sync/file/route.js +2 -0
  167. package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
  168. package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/telegram/poll/route.js +15 -0
  170. package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
  171. package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/upload/route.js +1 -0
  173. package/.next/server/app/api/upload/route.js.nft.json +1 -0
  174. package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
  176. package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
  177. package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app-paths-manifest.json +53 -0
  179. package/.next/server/chunks/1003.js +1 -0
  180. package/.next/server/chunks/127.js +26 -0
  181. package/.next/server/chunks/1388.js +1 -0
  182. package/.next/server/chunks/1408.js +21 -0
  183. package/.next/server/chunks/1572.js +1 -0
  184. package/.next/server/chunks/1591.js +24 -0
  185. package/.next/server/chunks/1619.js +188 -0
  186. package/.next/server/chunks/162.js +1 -0
  187. package/.next/server/chunks/1881.js +1 -0
  188. package/.next/server/chunks/1968.js +1 -0
  189. package/.next/server/chunks/2297.js +348 -0
  190. package/.next/server/chunks/2341.js +1 -0
  191. package/.next/server/chunks/2517.js +1 -0
  192. package/.next/server/chunks/2549.js +1 -0
  193. package/.next/server/chunks/259.js +14 -0
  194. package/.next/server/chunks/2599.js +1 -0
  195. package/.next/server/chunks/260.js +1 -0
  196. package/.next/server/chunks/2867.js +147 -0
  197. package/.next/server/chunks/3018.js +1 -0
  198. package/.next/server/chunks/3050.js +18 -0
  199. package/.next/server/chunks/3085.js +12 -0
  200. package/.next/server/chunks/3131.js +1 -0
  201. package/.next/server/chunks/3242.js +1 -0
  202. package/.next/server/chunks/3266.js +15 -0
  203. package/.next/server/chunks/3524.js +1 -0
  204. package/.next/server/chunks/3527.js +479 -0
  205. package/.next/server/chunks/3533.js +869 -0
  206. package/.next/server/chunks/3550.js +1 -0
  207. package/.next/server/chunks/3609.js +2 -0
  208. package/.next/server/chunks/3667.js +462 -0
  209. package/.next/server/chunks/3760.js +4 -0
  210. package/.next/server/chunks/4679.js +1 -0
  211. package/.next/server/chunks/4804.js +1 -0
  212. package/.next/server/chunks/4832.js +2 -0
  213. package/.next/server/chunks/4853.js +1 -0
  214. package/.next/server/chunks/4979.js +67 -0
  215. package/.next/server/chunks/5060.js +1 -0
  216. package/.next/server/chunks/5278.js +1 -0
  217. package/.next/server/chunks/5614.js +1 -0
  218. package/.next/server/chunks/5818.js +1 -0
  219. package/.next/server/chunks/6479.js +1 -0
  220. package/.next/server/chunks/6658.js +1 -0
  221. package/.next/server/chunks/6706.js +1 -0
  222. package/.next/server/chunks/6719.js +1 -0
  223. package/.next/server/chunks/678.js +1 -0
  224. package/.next/server/chunks/683.js +1 -0
  225. package/.next/server/chunks/6862.js +1 -0
  226. package/.next/server/chunks/6882.js +1 -0
  227. package/.next/server/chunks/7037.js +1 -0
  228. package/.next/server/chunks/7107.js +741 -0
  229. package/.next/server/chunks/73.js +17 -0
  230. package/.next/server/chunks/7327.js +1 -0
  231. package/.next/server/chunks/7514.js +1 -0
  232. package/.next/server/chunks/7622.js +1 -0
  233. package/.next/server/chunks/7778.js +1 -0
  234. package/.next/server/chunks/7912.js +1 -0
  235. package/.next/server/chunks/7949.js +1 -0
  236. package/.next/server/chunks/7971.js +1 -0
  237. package/.next/server/chunks/7989.js +1 -0
  238. package/.next/server/chunks/842.js +22 -0
  239. package/.next/server/chunks/8762.js +15 -0
  240. package/.next/server/chunks/8823.js +77 -0
  241. package/.next/server/chunks/9146.js +4 -0
  242. package/.next/server/chunks/9676.js +1 -0
  243. package/.next/server/chunks/9783.js +22 -0
  244. package/.next/server/chunks/9969.js +3 -0
  245. package/.next/server/functions-config-manifest.json +18 -0
  246. package/.next/server/instrumentation.js +1 -0
  247. package/.next/server/instrumentation.js.nft.json +1 -0
  248. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  249. package/.next/server/middleware-build-manifest.js +1 -0
  250. package/.next/server/middleware-manifest.json +6 -0
  251. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  252. package/.next/server/middleware.js +18 -0
  253. package/.next/server/middleware.js.nft.json +1 -0
  254. package/.next/server/next-font-manifest.js +1 -0
  255. package/.next/server/next-font-manifest.json +1 -0
  256. package/.next/server/pages/500.html +1 -0
  257. package/.next/server/pages-manifest.json +3 -0
  258. package/.next/server/prefetch-hints.json +1 -0
  259. package/.next/server/server-reference-manifest.js +1 -0
  260. package/.next/server/server-reference-manifest.json +1 -0
  261. package/.next/server/webpack-runtime.js +1 -0
  262. package/.next/static/chunks/1858-339516f78a4b00da.js +1 -0
  263. package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
  264. package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
  265. package/.next/static/chunks/3219-ebb3c23be38c838d.js +1 -0
  266. package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
  267. package/.next/static/chunks/5479-0cceab68cd0ca9c7.js +1 -0
  268. package/.next/static/chunks/5701-665b927b06158b76.js +1 -0
  269. package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
  270. package/.next/static/chunks/6575-5c9139720bb0f5bf.js +4 -0
  271. package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
  272. package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
  273. package/.next/static/chunks/8264-1ca011989ee2b231.js +1 -0
  274. package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
  275. package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
  276. package/.next/static/chunks/app/(app)/activity/page-3973534281ecea81.js +1 -0
  277. package/.next/static/chunks/app/(app)/agents/[handle]/page-83662a175c098282.js +1 -0
  278. package/.next/static/chunks/app/(app)/code/page-33979545192cd137.js +1 -0
  279. package/.next/static/chunks/app/(app)/config/page-9933aed1ca8a85c1.js +1 -0
  280. package/.next/static/chunks/app/(app)/costs/page-131c4dc580efcc19.js +1 -0
  281. package/.next/static/chunks/app/(app)/cron/page-53ea1aff998a87ca.js +1 -0
  282. package/.next/static/chunks/app/(app)/dashboard/page-deed83aaa9d0d447.js +1 -0
  283. package/.next/static/chunks/app/(app)/docs/[id]/page-38c993d73c0eab4f.js +1 -0
  284. package/.next/static/chunks/app/(app)/docs/page-bf463b55d0554e86.js +1 -0
  285. package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
  286. package/.next/static/chunks/app/(app)/github/page-62678b4e82dfecb6.js +1 -0
  287. package/.next/static/chunks/app/(app)/goals/page-4adb426fe1c96106.js +1 -0
  288. package/.next/static/chunks/app/(app)/inbox/page-e347dc55ab467310.js +1 -0
  289. package/.next/static/chunks/app/(app)/knowledge/page-65393a045b4349be.js +1 -0
  290. package/.next/static/chunks/app/(app)/layout-7f65675705b011d8.js +1 -0
  291. package/.next/static/chunks/app/(app)/models/page-e01f1dd7e49a2951.js +1 -0
  292. package/.next/static/chunks/app/(app)/notifications/page-56548ac87aef00da.js +1 -0
  293. package/.next/static/chunks/app/(app)/org/page-699e6a6dc0db7d81.js +1 -0
  294. package/.next/static/chunks/app/(app)/organizations/page-36051a380a7e8eb7.js +1 -0
  295. package/.next/static/chunks/app/(app)/page-7d1011a566f81520.js +1 -0
  296. package/.next/static/chunks/app/(app)/planner/page-dab7ced94083373a.js +1 -0
  297. package/.next/static/chunks/app/(app)/plugins/page-5b5a1f53389be42e.js +1 -0
  298. package/.next/static/chunks/app/(app)/pm/page-0de5c08c0b227bb0.js +1 -0
  299. package/.next/static/chunks/app/(app)/prepare-deploy/page-e426038552df8d41.js +1 -0
  300. package/.next/static/chunks/app/(app)/profile/page-608dfcaf8aae0a69.js +1 -0
  301. package/.next/static/chunks/app/(app)/pulse/page-309ccaca91de1faa.js +1 -0
  302. package/.next/static/chunks/app/(app)/reports/[id]/page-53ea1aff998a87ca.js +1 -0
  303. package/.next/static/chunks/app/(app)/reports/page-68cdc6dcfa472d86.js +1 -0
  304. package/.next/static/chunks/app/(app)/routines/page-bcc55550b197a9fa.js +1 -0
  305. package/.next/static/chunks/app/(app)/search/page-5c5f67558d0dbf0d.js +1 -0
  306. package/.next/static/chunks/app/(app)/security/page-a7d41e36aa366b45.js +1 -0
  307. package/.next/static/chunks/app/(app)/skills/page-c5b21e89593b8336.js +1 -0
  308. package/.next/static/chunks/app/(app)/tasks/page-08ae079e3e54d2ce.js +1 -0
  309. package/.next/static/chunks/app/(app)/test-dev/page-633f82dfd9c3ce23.js +1 -0
  310. package/.next/static/chunks/app/(app)/update/page-4be019054351bfac.js +1 -0
  311. package/.next/static/chunks/app/(auth)/login/page-6e85d3377062acae.js +1 -0
  312. package/.next/static/chunks/app/(auth)/onboarding/page-ebb10c175abf3b85.js +1 -0
  313. package/.next/static/chunks/app/_global-error/page-23fe50a6bf589c97.js +1 -0
  314. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
  315. package/.next/static/chunks/app/api/auth/[...all]/route-23fe50a6bf589c97.js +1 -0
  316. package/.next/static/chunks/app/api/cron/tick/route-23fe50a6bf589c97.js +1 -0
  317. package/.next/static/chunks/app/api/dev-login/route-23fe50a6bf589c97.js +1 -0
  318. package/.next/static/chunks/app/api/locks/acquire/route-23fe50a6bf589c97.js +1 -0
  319. package/.next/static/chunks/app/api/models/progress/route-23fe50a6bf589c97.js +1 -0
  320. package/.next/static/chunks/app/api/passkey/authenticate/options/route-23fe50a6bf589c97.js +1 -0
  321. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-23fe50a6bf589c97.js +1 -0
  322. package/.next/static/chunks/app/api/passkey/register/options/route-23fe50a6bf589c97.js +1 -0
  323. package/.next/static/chunks/app/api/passkey/register/verify/route-23fe50a6bf589c97.js +1 -0
  324. package/.next/static/chunks/app/api/stream/route-23fe50a6bf589c97.js +1 -0
  325. package/.next/static/chunks/app/api/sync/file/route-23fe50a6bf589c97.js +1 -0
  326. package/.next/static/chunks/app/api/telegram/poll/route-23fe50a6bf589c97.js +1 -0
  327. package/.next/static/chunks/app/api/upload/route-23fe50a6bf589c97.js +1 -0
  328. package/.next/static/chunks/app/api/v1/[[...path]]/route-23fe50a6bf589c97.js +1 -0
  329. package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
  330. package/.next/static/chunks/app/global-error-b8050d4d886f448c.js +1 -0
  331. package/.next/static/chunks/app/layout-ab9deed1e7e2e9df.js +1 -0
  332. package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
  333. package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
  334. package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
  335. package/.next/static/chunks/next/dist/client/components/builtin/app-error-23fe50a6bf589c97.js +1 -0
  336. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-23fe50a6bf589c97.js +1 -0
  337. package/.next/static/chunks/next/dist/client/components/builtin/not-found-23fe50a6bf589c97.js +1 -0
  338. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-23fe50a6bf589c97.js +1 -0
  339. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  340. package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
  341. package/.next/static/css/0a9b5805594444e3.css +1 -0
  342. package/.next/static/yztMvBwyrWWkSqP6jfXoa/_buildManifest.js +1 -0
  343. package/.next/static/yztMvBwyrWWkSqP6jfXoa/_ssgManifest.js +1 -0
  344. package/.next/trace-build +1 -0
  345. package/.next/types/app/(app)/activity/page.ts +87 -0
  346. package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
  347. package/.next/types/app/(app)/code/page.ts +87 -0
  348. package/.next/types/app/(app)/config/page.ts +87 -0
  349. package/.next/types/app/(app)/costs/page.ts +87 -0
  350. package/.next/types/app/(app)/cron/page.ts +87 -0
  351. package/.next/types/app/(app)/dashboard/page.ts +87 -0
  352. package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
  353. package/.next/types/app/(app)/docs/page.ts +87 -0
  354. package/.next/types/app/(app)/github/page.ts +87 -0
  355. package/.next/types/app/(app)/goals/page.ts +87 -0
  356. package/.next/types/app/(app)/inbox/page.ts +87 -0
  357. package/.next/types/app/(app)/knowledge/page.ts +87 -0
  358. package/.next/types/app/(app)/models/page.ts +87 -0
  359. package/.next/types/app/(app)/notifications/page.ts +87 -0
  360. package/.next/types/app/(app)/org/page.ts +87 -0
  361. package/.next/types/app/(app)/organizations/page.ts +87 -0
  362. package/.next/types/app/(app)/page.ts +87 -0
  363. package/.next/types/app/(app)/planner/page.ts +87 -0
  364. package/.next/types/app/(app)/plugins/page.ts +87 -0
  365. package/.next/types/app/(app)/pm/page.ts +87 -0
  366. package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
  367. package/.next/types/app/(app)/profile/page.ts +87 -0
  368. package/.next/types/app/(app)/pulse/page.ts +87 -0
  369. package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
  370. package/.next/types/app/(app)/reports/page.ts +87 -0
  371. package/.next/types/app/(app)/routines/page.ts +87 -0
  372. package/.next/types/app/(app)/search/page.ts +87 -0
  373. package/.next/types/app/(app)/security/page.ts +87 -0
  374. package/.next/types/app/(app)/skills/page.ts +87 -0
  375. package/.next/types/app/(app)/tasks/page.ts +87 -0
  376. package/.next/types/app/(app)/test-dev/page.ts +87 -0
  377. package/.next/types/app/(app)/update/page.ts +87 -0
  378. package/.next/types/app/(auth)/login/page.ts +87 -0
  379. package/.next/types/app/(auth)/onboarding/page.ts +87 -0
  380. package/.next/types/app/api/auth/[...all]/route.ts +351 -0
  381. package/.next/types/app/api/cron/tick/route.ts +351 -0
  382. package/.next/types/app/api/dev-login/route.ts +351 -0
  383. package/.next/types/app/api/locks/acquire/route.ts +351 -0
  384. package/.next/types/app/api/models/progress/route.ts +351 -0
  385. package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
  386. package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
  387. package/.next/types/app/api/passkey/register/options/route.ts +351 -0
  388. package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
  389. package/.next/types/app/api/stream/route.ts +351 -0
  390. package/.next/types/app/api/sync/file/route.ts +351 -0
  391. package/.next/types/app/api/telegram/poll/route.ts +351 -0
  392. package/.next/types/app/api/upload/route.ts +351 -0
  393. package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
  394. package/.next/types/cache-life.d.ts +145 -0
  395. package/.next/types/link.d.ts +210 -0
  396. package/.next/types/package.json +1 -0
  397. package/.next/types/routes.d.ts +120 -0
  398. package/.next/types/validator.ts +511 -0
  399. package/CHANGELOG.md +312 -0
  400. package/LICENSE +21 -0
  401. package/README.md +382 -0
  402. package/README.pt-BR.md +391 -0
  403. package/bin/constella.mjs +329 -0
  404. package/bin/guard-hook.mjs +44 -0
  405. package/bin/lock-hook.mjs +49 -0
  406. package/bin/worker.mjs +142 -0
  407. package/docs/assets/arch-orbit.svg +56 -0
  408. package/docs/assets/blackhole.svg +37 -0
  409. package/docs/assets/divider-orbit.svg +23 -0
  410. package/docs/assets/hero-constella.svg +72 -0
  411. package/docs/en/AGENTS.md +279 -0
  412. package/docs/en/AI_ARCHITECTURE.md +373 -0
  413. package/docs/en/ARCHITECTURE.md +334 -0
  414. package/docs/en/AUTH_MODE.md +247 -0
  415. package/docs/en/CHAT_COMMANDS.md +305 -0
  416. package/docs/en/CONFIGURATION.md +340 -0
  417. package/docs/en/DEPLOY.md +331 -0
  418. package/docs/en/DM.md +297 -0
  419. package/docs/en/FAQ.md +258 -0
  420. package/docs/en/GITHUB.md +341 -0
  421. package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
  422. package/docs/en/INBOX.md +340 -0
  423. package/docs/en/INSTALLATION.md +329 -0
  424. package/docs/en/KB_AGENT.md +305 -0
  425. package/docs/en/KB_RAG.md +356 -0
  426. package/docs/en/MCP.md +313 -0
  427. package/docs/en/MEMORY_RAG.md +289 -0
  428. package/docs/en/MODELS.md +341 -0
  429. package/docs/en/ONBOARDING.md +327 -0
  430. package/docs/en/PLUGINS.md +290 -0
  431. package/docs/en/PORTABLE_MODE.md +387 -0
  432. package/docs/en/PO_AGENT.md +379 -0
  433. package/docs/en/PREPARE_DEPLOY.md +308 -0
  434. package/docs/en/PROJECT_STACKS.md +258 -0
  435. package/docs/en/PUBLIC_API.md +315 -0
  436. package/docs/en/PUBLISHING.md +343 -0
  437. package/docs/en/README.md +95 -0
  438. package/docs/en/SECURITY.md +280 -0
  439. package/docs/en/SKILLS.md +349 -0
  440. package/docs/en/START_MODE.md +340 -0
  441. package/docs/en/SYNCED_BLOCKS.md +320 -0
  442. package/docs/en/TEAM_ROOM.md +285 -0
  443. package/docs/en/TELEGRAM.md +294 -0
  444. package/docs/en/TEST_DEV.md +321 -0
  445. package/docs/en/TROUBLESHOOTING.md +294 -0
  446. package/docs/en/UPDATE.md +301 -0
  447. package/docs/en/VPS_MODE.md +334 -0
  448. package/docs/en/WORKFLOW.md +321 -0
  449. package/docs/pt/AGENTS.md +279 -0
  450. package/docs/pt/AI_ARCHITECTURE.md +373 -0
  451. package/docs/pt/ARCHITECTURE.md +334 -0
  452. package/docs/pt/AUTH_MODE.md +247 -0
  453. package/docs/pt/CHAT_COMMANDS.md +307 -0
  454. package/docs/pt/CONFIGURATION.md +340 -0
  455. package/docs/pt/DEPLOY.md +331 -0
  456. package/docs/pt/DM.md +297 -0
  457. package/docs/pt/FAQ.md +258 -0
  458. package/docs/pt/GITHUB.md +341 -0
  459. package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
  460. package/docs/pt/INBOX.md +340 -0
  461. package/docs/pt/INSTALLATION.md +329 -0
  462. package/docs/pt/KB_AGENT.md +305 -0
  463. package/docs/pt/KB_RAG.md +356 -0
  464. package/docs/pt/MCP.md +313 -0
  465. package/docs/pt/MEMORY_RAG.md +289 -0
  466. package/docs/pt/MODELS.md +341 -0
  467. package/docs/pt/ONBOARDING.md +327 -0
  468. package/docs/pt/PLUGINS.md +290 -0
  469. package/docs/pt/PORTABLE_MODE.md +387 -0
  470. package/docs/pt/PO_AGENT.md +379 -0
  471. package/docs/pt/PREPARE_DEPLOY.md +308 -0
  472. package/docs/pt/PROJECT_STACKS.md +258 -0
  473. package/docs/pt/PUBLIC_API.md +315 -0
  474. package/docs/pt/PUBLISHING.md +343 -0
  475. package/docs/pt/README.md +95 -0
  476. package/docs/pt/SECURITY.md +280 -0
  477. package/docs/pt/SKILLS.md +349 -0
  478. package/docs/pt/START_MODE.md +340 -0
  479. package/docs/pt/SYNCED_BLOCKS.md +320 -0
  480. package/docs/pt/TEAM_ROOM.md +285 -0
  481. package/docs/pt/TELEGRAM.md +294 -0
  482. package/docs/pt/TEST_DEV.md +321 -0
  483. package/docs/pt/TROUBLESHOOTING.md +294 -0
  484. package/docs/pt/UPDATE.md +301 -0
  485. package/docs/pt/VPS_MODE.md +334 -0
  486. package/docs/pt/WORKFLOW.md +321 -0
  487. package/drizzle/0000_regular_nightshade.sql +644 -0
  488. package/drizzle/0001_mixed_zombie.sql +106 -0
  489. package/drizzle/meta/0000_snapshot.json +4650 -0
  490. package/drizzle/meta/0001_snapshot.json +5418 -0
  491. package/drizzle/meta/_journal.json +20 -0
  492. package/drizzle.config.mjs +16 -0
  493. package/next.config.mjs +18 -0
  494. package/package.json +130 -0
  495. package/scripts/clean-repo.mjs +20 -0
  496. package/scripts/dev-all.mjs +46 -0
  497. package/scripts/i18n-parity.mjs +57 -0
  498. package/scripts/mcp-server.mjs +100 -0
  499. package/scripts/postbuild.mjs +11 -0
  500. package/scripts/publish-public.mjs +116 -0
  501. package/scripts/start-all.mjs +45 -0
  502. package/scripts/trim-next.mjs +23 -0
  503. package/scripts/vps-install.sh +39 -0
  504. package/skills/CONTRIBUTING.md +122 -0
  505. package/skills/COVERAGE.md +129 -0
  506. package/skills/INDEX.json +3443 -0
  507. package/skills/README.md +57 -0
  508. package/skills/design/animation-motion/SKILL.md +60 -0
  509. package/skills/design/color-and-typography/SKILL.md +60 -0
  510. package/skills/design/css-techniques/SKILL.md +58 -0
  511. package/skills/design/design-systems/SKILL.md +60 -0
  512. package/skills/design/gradients/SKILL.md +59 -0
  513. package/skills/design/graphic-design-basics/SKILL.md +55 -0
  514. package/skills/design/microinteractions/SKILL.md +58 -0
  515. package/skills/design/responsive-layout/SKILL.md +59 -0
  516. package/skills/design/ui-ux-principles/SKILL.md +58 -0
  517. package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
  518. package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
  519. package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
  520. package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
  521. package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
  522. package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
  523. package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
  524. package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
  525. package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
  526. package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
  527. package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
  528. package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
  529. package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
  530. package/skills/engineering/frontend/state-management/SKILL.md +69 -0
  531. package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
  532. package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
  533. package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
  534. package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
  535. package/skills/engineering/practices/clean-code/SKILL.md +61 -0
  536. package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
  537. package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
  538. package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
  539. package/skills/engineering/practices/refactoring/SKILL.md +58 -0
  540. package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
  541. package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
  542. package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
  543. package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
  544. package/skills/engineering/security/secrets-management/SKILL.md +58 -0
  545. package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
  546. package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
  547. package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
  548. package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
  549. package/skills/languages/c/SKILL.md +74 -0
  550. package/skills/languages/clojure/SKILL.md +73 -0
  551. package/skills/languages/cpp/SKILL.md +75 -0
  552. package/skills/languages/csharp/SKILL.md +75 -0
  553. package/skills/languages/dart/SKILL.md +82 -0
  554. package/skills/languages/elixir/SKILL.md +74 -0
  555. package/skills/languages/erlang/SKILL.md +76 -0
  556. package/skills/languages/go/SKILL.md +83 -0
  557. package/skills/languages/haskell/SKILL.md +70 -0
  558. package/skills/languages/java/SKILL.md +71 -0
  559. package/skills/languages/javascript/SKILL.md +62 -0
  560. package/skills/languages/kotlin/SKILL.md +68 -0
  561. package/skills/languages/lua/SKILL.md +79 -0
  562. package/skills/languages/objectivec/SKILL.md +83 -0
  563. package/skills/languages/php/SKILL.md +74 -0
  564. package/skills/languages/python/SKILL.md +68 -0
  565. package/skills/languages/r/SKILL.md +70 -0
  566. package/skills/languages/ruby/SKILL.md +67 -0
  567. package/skills/languages/rust/SKILL.md +72 -0
  568. package/skills/languages/scala/SKILL.md +73 -0
  569. package/skills/languages/swift/SKILL.md +73 -0
  570. package/skills/languages/typescript/SKILL.md +69 -0
  571. package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
  572. package/skills/meta/progressive-disclosure/SKILL.md +65 -0
  573. package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
  574. package/skills/process/adr-technical-decisions/SKILL.md +59 -0
  575. package/skills/process/app-planning/SKILL.md +63 -0
  576. package/skills/process/architecture-before-code/SKILL.md +52 -0
  577. package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
  578. package/skills/process/idea-to-product/SKILL.md +50 -0
  579. package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
  580. package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
  581. package/skills/process/problem-framing/SKILL.md +51 -0
  582. package/skills/process/product-discovery/SKILL.md +53 -0
  583. package/skills/process/readme-generation/SKILL.md +90 -0
  584. package/skills/process/requirements-to-specs/SKILL.md +53 -0
  585. package/skills/process/research-official-docs/SKILL.md +58 -0
  586. package/skills/process/review-code-perf-security/SKILL.md +65 -0
  587. package/skills/process/security-by-design/SKILL.md +68 -0
  588. package/skills/process/specs-to-issues/SKILL.md +53 -0
  589. package/skills/process/testing-before-done/SKILL.md +61 -0
  590. package/skills/process/validating-ux-navigation/SKILL.md +63 -0
  591. package/skills/references/ai-attachments-ui/SKILL.md +66 -0
  592. package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
  593. package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
  594. package/skills/references/component-patterns-gallery/SKILL.md +62 -0
  595. package/skills/references/gradient-resources/SKILL.md +66 -0
  596. package/skills/references/react-component-libraries/SKILL.md +61 -0
  597. package/skills/references/saas-landing-patterns/SKILL.md +67 -0
  598. package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
  599. package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
  600. package/skills/references/web-animation-codrops/SKILL.md +68 -0
  601. package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
  602. package/skills/stacks/aiml/keras/SKILL.md +77 -0
  603. package/skills/stacks/aiml/numpy/SKILL.md +69 -0
  604. package/skills/stacks/aiml/pandas/SKILL.md +72 -0
  605. package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
  606. package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
  607. package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
  608. package/skills/stacks/auth/auth0/SKILL.md +63 -0
  609. package/skills/stacks/auth/authjs/SKILL.md +69 -0
  610. package/skills/stacks/auth/clerk/SKILL.md +72 -0
  611. package/skills/stacks/auth/keycloak/SKILL.md +63 -0
  612. package/skills/stacks/auth/lucia/SKILL.md +56 -0
  613. package/skills/stacks/auth/passport/SKILL.md +70 -0
  614. package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
  615. package/skills/stacks/baas/amplify/SKILL.md +71 -0
  616. package/skills/stacks/baas/appwrite/SKILL.md +79 -0
  617. package/skills/stacks/baas/firebase/SKILL.md +73 -0
  618. package/skills/stacks/baas/heroku/SKILL.md +71 -0
  619. package/skills/stacks/backend/actix/SKILL.md +77 -0
  620. package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
  621. package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
  622. package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
  623. package/skills/stacks/backend/django/SKILL.md +62 -0
  624. package/skills/stacks/backend/express/SKILL.md +65 -0
  625. package/skills/stacks/backend/fastapi/SKILL.md +64 -0
  626. package/skills/stacks/backend/fastify/SKILL.md +64 -0
  627. package/skills/stacks/backend/fiber/SKILL.md +68 -0
  628. package/skills/stacks/backend/flask/SKILL.md +71 -0
  629. package/skills/stacks/backend/gin/SKILL.md +68 -0
  630. package/skills/stacks/backend/graphql/SKILL.md +70 -0
  631. package/skills/stacks/backend/hono/SKILL.md +64 -0
  632. package/skills/stacks/backend/koa/SKILL.md +63 -0
  633. package/skills/stacks/backend/laravel/SKILL.md +73 -0
  634. package/skills/stacks/backend/nestjs/SKILL.md +70 -0
  635. package/skills/stacks/backend/nginx/SKILL.md +77 -0
  636. package/skills/stacks/backend/phoenix/SKILL.md +68 -0
  637. package/skills/stacks/backend/rails/SKILL.md +67 -0
  638. package/skills/stacks/backend/spring/SKILL.md +70 -0
  639. package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
  640. package/skills/stacks/backend/symfony/SKILL.md +77 -0
  641. package/skills/stacks/container/containerd/SKILL.md +75 -0
  642. package/skills/stacks/container/docker/SKILL.md +90 -0
  643. package/skills/stacks/container/podman/SKILL.md +93 -0
  644. package/skills/stacks/database/cassandra/SKILL.md +74 -0
  645. package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
  646. package/skills/stacks/database/dynamodb/SKILL.md +62 -0
  647. package/skills/stacks/database/mariadb/SKILL.md +71 -0
  648. package/skills/stacks/database/mongodb/SKILL.md +71 -0
  649. package/skills/stacks/database/mysql/SKILL.md +72 -0
  650. package/skills/stacks/database/neon/SKILL.md +68 -0
  651. package/skills/stacks/database/planetscale/SKILL.md +70 -0
  652. package/skills/stacks/database/postgresql/SKILL.md +81 -0
  653. package/skills/stacks/database/redis/SKILL.md +78 -0
  654. package/skills/stacks/database/sqlite/SKILL.md +70 -0
  655. package/skills/stacks/database/supabase/SKILL.md +79 -0
  656. package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
  657. package/skills/stacks/dataviz/d3/SKILL.md +77 -0
  658. package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
  659. package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
  660. package/skills/stacks/frontend/alpine/SKILL.md +75 -0
  661. package/skills/stacks/frontend/angular/SKILL.md +75 -0
  662. package/skills/stacks/frontend/backbone/SKILL.md +82 -0
  663. package/skills/stacks/frontend/ember/SKILL.md +85 -0
  664. package/skills/stacks/frontend/htmx/SKILL.md +73 -0
  665. package/skills/stacks/frontend/lit/SKILL.md +76 -0
  666. package/skills/stacks/frontend/preact/SKILL.md +74 -0
  667. package/skills/stacks/frontend/qwik/SKILL.md +65 -0
  668. package/skills/stacks/frontend/react/SKILL.md +77 -0
  669. package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
  670. package/skills/stacks/frontend/svelte/SKILL.md +70 -0
  671. package/skills/stacks/frontend/vue/SKILL.md +69 -0
  672. package/skills/stacks/infra/ansible/SKILL.md +76 -0
  673. package/skills/stacks/infra/aws/SKILL.md +66 -0
  674. package/skills/stacks/infra/azure/SKILL.md +72 -0
  675. package/skills/stacks/infra/circleci/SKILL.md +78 -0
  676. package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
  677. package/skills/stacks/infra/fly-io/SKILL.md +63 -0
  678. package/skills/stacks/infra/gcp/SKILL.md +66 -0
  679. package/skills/stacks/infra/jenkins/SKILL.md +73 -0
  680. package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
  681. package/skills/stacks/infra/netlify/SKILL.md +60 -0
  682. package/skills/stacks/infra/railway/SKILL.md +63 -0
  683. package/skills/stacks/infra/tailscale/SKILL.md +65 -0
  684. package/skills/stacks/infra/terraform/SKILL.md +75 -0
  685. package/skills/stacks/infra/vagrant/SKILL.md +70 -0
  686. package/skills/stacks/infra/vercel/SKILL.md +60 -0
  687. package/skills/stacks/meta/astro/SKILL.md +64 -0
  688. package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
  689. package/skills/stacks/meta/eleventy/SKILL.md +69 -0
  690. package/skills/stacks/meta/gatsby/SKILL.md +63 -0
  691. package/skills/stacks/meta/hugo/SKILL.md +73 -0
  692. package/skills/stacks/meta/jekyll/SKILL.md +70 -0
  693. package/skills/stacks/meta/nextjs/SKILL.md +62 -0
  694. package/skills/stacks/meta/nuxt/SKILL.md +66 -0
  695. package/skills/stacks/meta/remix/SKILL.md +67 -0
  696. package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
  697. package/skills/stacks/meta/vite/SKILL.md +63 -0
  698. package/skills/stacks/mobile/android/SKILL.md +77 -0
  699. package/skills/stacks/mobile/flutter/SKILL.md +77 -0
  700. package/skills/stacks/mobile/ionic/SKILL.md +72 -0
  701. package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
  702. package/skills/stacks/mobile/react-native/SKILL.md +75 -0
  703. package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
  704. package/skills/stacks/orm/diesel/SKILL.md +72 -0
  705. package/skills/stacks/orm/django-orm/SKILL.md +58 -0
  706. package/skills/stacks/orm/drizzle/SKILL.md +67 -0
  707. package/skills/stacks/orm/gorm/SKILL.md +73 -0
  708. package/skills/stacks/orm/knex/SKILL.md +64 -0
  709. package/skills/stacks/orm/mongoose/SKILL.md +64 -0
  710. package/skills/stacks/orm/prisma/SKILL.md +64 -0
  711. package/skills/stacks/orm/sequelize/SKILL.md +65 -0
  712. package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
  713. package/skills/stacks/orm/typeorm/SKILL.md +70 -0
  714. package/skills/stacks/queue/bullmq/SKILL.md +69 -0
  715. package/skills/stacks/queue/celery/SKILL.md +68 -0
  716. package/skills/stacks/queue/kafka/SKILL.md +66 -0
  717. package/skills/stacks/queue/nats/SKILL.md +66 -0
  718. package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
  719. package/skills/stacks/queue/redis/SKILL.md +66 -0
  720. package/skills/stacks/runtime/beam/SKILL.md +72 -0
  721. package/skills/stacks/runtime/bun/SKILL.md +80 -0
  722. package/skills/stacks/runtime/deno/SKILL.md +74 -0
  723. package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
  724. package/skills/stacks/runtime/jvm/SKILL.md +66 -0
  725. package/skills/stacks/runtime/node/SKILL.md +70 -0
  726. package/skills/stacks/runtime/pypy/SKILL.md +69 -0
  727. package/skills/stacks/runtime/python3/SKILL.md +70 -0
  728. package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
  729. package/skills/stacks/styling/bulma/SKILL.md +80 -0
  730. package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
  731. package/skills/stacks/styling/css-modules/SKILL.md +54 -0
  732. package/skills/stacks/styling/mui/SKILL.md +60 -0
  733. package/skills/stacks/styling/sass/SKILL.md +63 -0
  734. package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
  735. package/skills/stacks/styling/styled-components/SKILL.md +62 -0
  736. package/skills/stacks/styling/tailwind/SKILL.md +59 -0
  737. package/skills/stacks/styling/unocss/SKILL.md +64 -0
  738. package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
  739. package/skills/stacks/styling/vuetify/SKILL.md +89 -0
  740. package/skills/stacks/testing/cypress/SKILL.md +68 -0
  741. package/skills/stacks/testing/jasmine/SKILL.md +67 -0
  742. package/skills/stacks/testing/jest/SKILL.md +67 -0
  743. package/skills/stacks/testing/mocha/SKILL.md +71 -0
  744. package/skills/stacks/testing/playwright/SKILL.md +68 -0
  745. package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
  746. package/skills/stacks/testing/selenium/SKILL.md +70 -0
  747. package/skills/stacks/testing/vitest/SKILL.md +68 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=162,exports.ids=[162],exports.modules={30162:(a,b,c)=>{c.d(b,{memoryAdapter:()=>i});var d=c(29962),e=c(34745);function f(a,b){return"string"==typeof a&&"string"==typeof b?a.toLowerCase()===b.toLowerCase():a===b}function g(a,b){return"string"!=typeof a?b.includes(a):b.some(b=>"string"==typeof b&&a.toLowerCase()===b.toLowerCase())}function h(a){let b=new Map;for(let c of a)b.set(c.id,c);return b}let i=(a,b)=>{let c=null,i=a=>(0,d.I)({config:{adapterId:"memory",adapterName:"Memory Adapter",usePlural:!1,debugLogs:b?.debugLogs||!1,supportsArrays:!0,customTransformInput:b=>b.options.advanced?.database?.generateId==="serial"&&"id"===b.field&&"create"===b.action?a[b.model].length+1:b.data,transaction:async b=>{let d=structuredClone(a),e=structuredClone(a),f=await b(i(e)(c));return!function(a,b,c){for(let f of new Set([...Object.keys(b),...Object.keys(c)])){if(!(f in c)){delete a[f];continue}let g=h(b[f]??[]),i=c[f]??[],j=h(i),k=a[f]??[],l=[],m=new Set;for(let a of k){var d,e;let b=a.id,c=g.get(b),f=j.get(b);(void 0===c||void 0!==f)&&(void 0!==f&&(d=c,e=f,void 0===d||JSON.stringify(d)!==JSON.stringify(e))?l.push(f):l.push(a),m.add(b))}for(let a of i)g.has(a.id)||m.has(a.id)||l.push(a);a[f]=l}}(a,d,e),f}},adapter:({getFieldName:b,getDefaultFieldName:c,options:d,getModelName:h})=>{let i=(a,c,d)=>c?a.sort((a,e)=>{let f=b({model:d,field:c.field}),g=a[f],h=e[f],i=0;return i=null==g&&null==h?0:null==g?-1:null==h?1:"string"==typeof g&&"string"==typeof h?g.localeCompare(h):g instanceof Date&&h instanceof Date?g.getTime()-h.getTime():"number"==typeof g&&"number"==typeof h?g-h:"boolean"==typeof g&&"boolean"==typeof h?g===h?0:g?1:-1:String(g).localeCompare(String(h)),"asc"===c.direction?i:-i}):a;function j(b,d,i,j){let k=(()=>{let h=a[d];if(!h)throw e.vF.error(`[MemoryAdapter] Model ${d} not found in the DB`,Object.keys(a)),Error(`Model ${d} not found`);let i=(a,b)=>{var c,d,e;let{field:h,value:i,operator:j,mode:k="sensitive"}=b,l="insensitive"===k&&("string"==typeof i||Array.isArray(i)&&i.every(a=>"string"==typeof a));switch(j){case"in":if(!Array.isArray(i))throw Error("Value must be an array");if(l)return g(a[h],i);return i.includes(a[h]);case"not_in":if(!Array.isArray(i))throw Error("Value must be an array");if(l)return!g(a[h],i);return!i.includes(a[h]);case"contains":if(l)return c=a[h],"string"==typeof c&&"string"==typeof i&&c.toLowerCase().includes(i.toLowerCase());return a[h]?.includes(i);case"starts_with":if(l)return d=a[h],"string"==typeof d&&"string"==typeof i&&d.toLowerCase().startsWith(i.toLowerCase());return a[h].startsWith(i);case"ends_with":if(l)return e=a[h],"string"==typeof e&&"string"==typeof i&&e.toLowerCase().endsWith(i.toLowerCase());return a[h].endsWith(i);case"ne":return l?!f(a[h],i):a[h]!==i;case"gt":return null!=i&&a[h]>i;case"gte":return null!=i&&a[h]>=i;case"lt":return null!=i&&a[h]<i;case"lte":return null!=i&&a[h]<=i;default:if(l)return f(a[h],i);if(null===i)return null==a[h];return a[h]===i}},k=h.filter(a=>{if(!b.length||0===b.length)return!0;let c=i(a,b[0]);for(let d of b){let b=i(a,d);c="OR"===d.connector?c||b:c&&b}return c});return j?.length&&j.length>0&&(k=k.map(a=>Object.fromEntries(Object.entries(a).filter(([a])=>j.includes(c({model:d,field:a})))))),k})();if(!i)return k;let l=new Map,m=new Map;for(let b of k){let c=String(b.id);if(!l.has(c)){let a={...b};for(let[b,d]of Object.entries(i)){let e=h(b);"one-to-one"===d.relation?a[e]=null:(a[e]=[],m.set(`${c}-${b}`,new Set))}l.set(c,a)}let d=l.get(c);for(let[f,g]of Object.entries(i)){let i=h(f),j=a[i];if(!j)throw e.vF.error(`[MemoryAdapter] JoinOption model ${i} not found in the DB`,Object.keys(a)),Error(`JoinOption model ${i} not found`);let k=j.filter(a=>a[g.on.to]===b[g.on.from]);if("one-to-one"===g.relation)d[i]=k[0]||null;else{let a=m.get(`${c}-${f}`),b=g.limit??100,e=0;for(let c of k){if(e>=b)break;!a.has(c.id)&&(d[i].push(c),a.add(c.id),e++)}}}}return Array.from(l.values())}return{create:async({model:b,data:c})=>(d.advanced?.database?.generateId==="serial"&&(c.id=a[h(b)].length+1),a[b]||(a[b]=[]),a[b].push(c),c),findOne:async({model:a,where:b,select:c,join:d})=>{let e=j(b,a,d,c);return d?e.length?e[0]:null:e[0]||null},findMany:async({model:a,where:b,sortBy:c,limit:d,select:e,offset:f,join:g})=>{let h=j(b||[],a,g,e);if(g){if(!h.length)return[];i(h,c,a);let b=h;return void 0!==f&&(b=b.slice(f)),void 0!==d&&(b=b.slice(0,d)),b}let k=i(h,c,a);return void 0!==f&&(k=k.slice(f)),void 0!==d&&(k=k.slice(0,d)),k||[]},count:async({model:b,where:c})=>c?j(c,b).length:a[b].length,update:async({model:a,where:b,update:c})=>{if(0===b.length)return null;let d=j(b,a);return d.forEach(a=>{Object.assign(a,c)}),d[0]||null},delete:async({model:b,where:c})=>{if(0===c.length)return;let d=a[b],e=j(c,b);a[b]=d.filter(a=>!e.includes(a))},deleteMany:async({model:b,where:c})=>{let d=a[b],e=j(c,b),f=0;return a[b]=d.filter(a=>e.includes(a)?(f++,!1):!e.includes(a)),f},consumeOne:async({model:b,where:c})=>{let d=a[b],e=j(c,b)[0];return e?(a[b]=d.filter(a=>a!==e),e):null},incrementOne:async({model:a,where:b,increment:c,set:d})=>{let e=j(b,a)[0];if(!e)return null;for(let[a,b]of Object.entries(c))e[a]=("number"==typeof e[a]?e[a]:0)+b;return d&&Object.assign(e,d),e},updateMany:async({model:a,where:b,update:c})=>{let d=j(b,a);return d.forEach(a=>{Object.assign(a,c)}),d.length}}}}),j=i(a);return a=>(c=a,j(a))}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=1881,exports.ids=[1881],exports.modules={6873:(a,b,c)=>{c.d(b,{IT:()=>o,AQ:()=>n,Cg:()=>l,et:()=>p});var d=c(73024),e=c(76760),f=c(28430);let g={TypeScript:"typescript",JavaScript:"javascript",Python:"python",Go:"go",Rust:"rust",Java:"java",Kotlin:"kotlin","C#":"csharp",Ruby:"ruby",PHP:"php",Elixir:"elixir",Swift:"swift","C++":"cpp",Scala:"scala",Dart:"dart",C:"c",Clojure:"clojure",Haskell:"haskell",Lua:"lua","Objective-C":"objectivec",Erlang:"erlang","Node.js":"node",Bun:"bun",Deno:"deno","Python 3":"python3",PyPy:"pypy",JVM:"jvm",".NET":"dotnet","BEAM (Erlang VM)":"beam",React:"react",Vue:"vue",Svelte:"svelte",Angular:"angular",SolidJS:"solidjs",Preact:"preact",Qwik:"qwik",Lit:"lit","Alpine.js":"alpine","Next.js":"nextjs",Nuxt:"nuxt",Remix:"remix",SvelteKit:"sveltekit",Astro:"astro",Gatsby:"gatsby","Vite (SPA)":"vite",NestJS:"nestjs",Fastify:"fastify",Express:"express",Hono:"hono",Koa:"koa",Django:"django",Flask:"flask",FastAPI:"fastapi","Spring Boot":"spring-boot",Spring:"spring",Laravel:"laravel",Symfony:"symfony","Ruby on Rails":"rails",Gin:"gin",Fiber:"fiber",Actix:"actix",Phoenix:"phoenix","ASP.NET Core":"aspnet-core",AdonisJS:"adonisjs","React Native":"react-native",Flutter:"flutter",PostgreSQL:"postgresql",MySQL:"mysql",MariaDB:"mariadb",SQLite:"sqlite",MongoDB:"mongodb",Redis:"redis",Supabase:"supabase",Prisma:"prisma",Drizzle:"drizzle",TypeORM:"typeorm",Sequelize:"sequelize",SQLAlchemy:"sqlalchemy","Django ORM":"django-orm",Mongoose:"mongoose",GORM:"gorm","Tailwind CSS":"tailwind","CSS Modules":"css-modules","styled-components":"styled-components",Sass:"sass",Jest:"jest",Vitest:"vitest",Cypress:"cypress",Playwright:"playwright",Docker:"docker",Podman:"podman",BullMQ:"bullmq",RabbitMQ:"rabbitmq",Kafka:"kafka",Celery:"celery","Auth.js":"authjs",Keycloak:"keycloak",R:"r",Ember:"ember",Backbone:"backbone",Hugo:"hugo",Jekyll:"jekyll",Eleventy:"eleventy",Docusaurus:"docusaurus",CodeIgniter:"codeigniter",GraphQL:"graphql",Nginx:"nginx",Android:"android",Ionic:"ionic",Xamarin:"xamarin",NativeScript:"nativescript",Bootstrap:"bootstrap",Bulma:"bulma",Vuetify:"vuetify",Selenium:"selenium",Mocha:"mocha",Jasmine:"jasmine",Puppeteer:"puppeteer",TensorFlow:"tensorflow",PyTorch:"pytorch","scikit-learn":"scikit-learn",Keras:"keras",Pandas:"pandas",NumPy:"numpy",Jupyter:"jupyter",D3:"d3","Chart.js":"chart-js",Grafana:"grafana",Plotly:"plotly",Azure:"azure",Jenkins:"jenkins",CircleCI:"circleci",Terraform:"terraform",Ansible:"ansible",Vagrant:"vagrant",Firebase:"firebase",Appwrite:"appwrite",Amplify:"amplify",Heroku:"heroku"},h=[{match:/\bceo\b|chief exec/i,profile:{stackPrefixes:[],allPrefixes:["process/","design/","engineering/architecture/"],core:["app-planning","requirements-to-specs","specs-to-issues","architecture-before-code"]}},{match:/product owner|\bpo\b|product manager/i,profile:{stackPrefixes:[],allPrefixes:["process/"],core:["product-discovery","requirements-to-specs","specs-to-issues","prioritization-moscow-rice"]}},{match:/\bcto\b|chief tech|tech lead|architect/i,profile:{stackPrefixes:["stacks/"],allPrefixes:["engineering/architecture/","engineering/security/","engineering/performance/","process/architecture-before-code","process/adr-technical-decisions"],core:["system-design-fundamentals","software-architecture-patterns","architecture-before-code","api-design-rest-graphql"]}},{match:/front\s?end|\bui\b|\bux\b|web designer/i,profile:{stackPrefixes:["stacks/frontend/","stacks/styling/","stacks/meta/","stacks/mobile/","stacks/testing/"],allPrefixes:["design/","engineering/frontend/","engineering/performance/web-performance-core-vitals"],core:["design-systems","ui-ux-principles","responsive-layout","color-and-typography","accessibility-wcag"]}},{match:/back\s?end|server|\bapi\b/i,profile:{stackPrefixes:["stacks/backend/","stacks/database/","stacks/orm/","stacks/queue/","stacks/runtime/","stacks/baas/","stacks/auth/"],allPrefixes:["engineering/backend/","engineering/architecture/","engineering/performance/"],core:["backend-fundamentals","api-design-rest-graphql","data-modeling","auth-and-authorization"]}},{match:/cyber\s?sec|security|appsec|\bsec\b/i,profile:{stackPrefixes:["stacks/auth/"],allPrefixes:["engineering/security/","process/security-by-design","process/review-code-perf-security"],core:["owasp-top-10","owasp-asvs","secrets-management","secure-auth-sessions"]}},{match:/\bqa\b|quality|test/i,profile:{stackPrefixes:["stacks/testing/"],allPrefixes:["engineering/testing/","process/testing-before-done"],core:["testing-strategy-pyramid","tdd-and-coverage","unit-integration-e2e"]}},{match:/devops|\bops\b|infra|platform|sre|deploy/i,profile:{stackPrefixes:["stacks/infra/","stacks/container/","stacks/runtime/"],allPrefixes:["engineering/architecture/scalability-reliability","engineering/security/secrets-management"],core:["scalability-reliability","secrets-management"]}},{match:/\bdocs?\b|documentation|technical writer/i,profile:{stackPrefixes:["stacks/"],allPrefixes:["process/readme-generation"],core:["readme-generation"]}}],i={stackPrefixes:["stacks/"],allPrefixes:["process/","engineering/practices/"],core:[]};function j(a,b){let c=a.match(RegExp(`^${b}:\\s*(.+)$`,"m"));return c?c[1].trim().replace(/^["']|["']$/g,"").trim():""}let k=null;function l(){if(k)return k;let a=function(){let a=[process.env.CONSTELLA_PKG_ROOT,(0,f.v)(),process.cwd()].filter(Boolean).map(a=>(0,e.join)(a,"skills"));for(let b of a)try{if((0,d.statSync)(b).isDirectory())return b}catch{}return a[0]??(0,e.join)((0,f.v)(),"skills")}(),b=new Map;try{(0,d.statSync)(a).isDirectory()&&function c(f,g){let h;if(!(g>8)){try{h=(0,d.readdirSync)(f,{withFileTypes:!0})}catch{return}for(let i of h){let h=(0,e.join)(f,i.name);if(i.isDirectory()){c(h,g+1);continue}if("SKILL.md"!==i.name)continue;let k="";try{k=(0,d.readFileSync)(h,"utf8")}catch{continue}let l=k.match(/^---\n([\s\S]*?)\n---/),m=l?.[1]??"",n=h.split(/[\\/]/).slice(-2,-1)[0]||j(m,"name");if(!n||b.has(n))continue;let o=h.slice(a.length).replace(/^[\\/]+/,"").replace(/\\/g,"/");b.set(n,{name:n,relPath:o,description:j(m,"description")||`${n} skill.`,domain:j(m,"domain")||o.split("/")[0]||"",category:j(m,"category")||"",sources:function(a,b){let c=a.match(RegExp(`(?:^|\\n)${b}:\\s*\\n([\\s\\S]*?)(?=\\n\\S|$)`));return c?c[1].split("\n").map(a=>a.match(/^\s*-\s+(.+?)\s*$/)?.[1]?.replace(/^["']|["']$/g,"").trim()).filter(a=>!!a):[]}(m,"official_sources")})}}}(a,0)}catch{}return k=b,b}let m=["clean-code","git-workflow","code-review-practices","refactoring","code-optimization","owasp-top-10","secrets-management","appsec-fundamentals","testing-strategy-pyramid","tdd-and-coverage","unit-integration-e2e","ui-ux-principles","responsive-layout","accessibility-wcag","architecture-before-code","requirements-to-specs","specs-to-issues","testing-before-done","security-by-design","review-code-perf-security","research-official-docs","authoring-agent-skills","readme-generation"];function n(a){let b=l(),c=[...m];for(let b of Object.values(a??{})){let a=g[b];a&&c.push(a)}return[...new Set(c)].filter(a=>b.has(a))}function o(a,b){let c=l(),d=function(a){let b=(a??"").trim();for(let a of h)if(a.match.test(b))return a.profile;return i}(b),e=new Set(n(a)),f=new Set(d.core.filter(a=>c.has(a)));for(let[a,b]of c)d.stackPrefixes.some(a=>b.relPath.startsWith(a))&&e.has(a)&&f.add(a);return[...f]}function p(a){let b=l(),c=new Set;for(let d of n(a))for(let a of b.get(d)?.sources??[])try{c.add(new URL(a).host.toLowerCase())}catch{}return[...c]}},43075:(a,b,c)=>{c.d(b,{a:()=>h,r:()=>g});var d=c(78474);let e=globalThis,f=e.__constellaBus??(e.__constellaBus=new d.EventEmitter);function g(a){f.emit("wake",a)}function h(a,b){let c=c=>{c===a&&b()};return f.on("wake",c),()=>{f.off("wake",c)}}f.setMaxListeners(64)},78848:(a,b,c)=>{c.d(b,{I:()=>l,k:()=>m});var d=c(52813),e=c(77598),f=c(63933),g=c(5443),h=c(80280),i=c(25533),j=c(95896),k=c(43075);async function l(a,b){await h.db.insert(i.event).values({id:(0,e.randomUUID)(),workspaceId:a,runId:b.runId,channel:b.channel??"room",agentId:b.agentId??null,seq:Date.now(),kind:b.kind,target:(b.target??"").slice(0,500),detail:(b.detail??"").slice(0,8e3)}),(0,k.r)(a)}async function m(a,b=0){let{workspace:c}=await (0,j.nP)();return h.db.select().from(i.event).where((0,f.Uo)((0,f.eq)(i.event.workspaceId,c.id),(0,f.eq)(i.event.channel,a),(0,f.gt)(i.event.seq,b))).orderBy((0,g.Y)(i.event.seq)).limit(300)}(0,c(29635).D)([l,m]),(0,d.A)(l,"606c83c1a69dceb056bb8e1a160fd68a00af3df9f8",null),(0,d.A)(m,"60350cbfa9096e9dcce966828bb609ab99b931226e",null)},96485:(a,b,c)=>{c.d(b,{CS:()=>s,VX:()=>p,Vd:()=>t,ZF:()=>o,pp:()=>k});var d=c(31421),e=c(73024),f=c(76760),g=c(77030),h=c(78698);let i="win32"===process.platform,j=new Map;function k(a){let b=(0,h.HZ)(a),c=[b];for(let a of["packages","apps","app","web","client","frontend","backend","server","api"]){let d=(0,f.join)(b,a);if((0,e.existsSync)(d))try{for(let a of(0,e.readdirSync)(d,{withFileTypes:!0}))a.isDirectory()&&c.push((0,f.join)(d,a.name))}catch{}}let d="$PORT";for(let a of c){let b=function(a){let b=(0,f.join)(a,"package.json");if(!(0,e.existsSync)(b))return null;try{let c=JSON.parse((0,e.readFileSync)(b,"utf8")),d=c.scripts??{},g=d.dev?"dev":d.start?"start":d.serve?"serve":null;if(!g)return null;let h=(0,e.existsSync)((0,f.join)(a,"pnpm-lock.yaml"))?"pnpm":(0,e.existsSync)((0,f.join)(a,"yarn.lock"))?"yarn":"npm",i=!(0,e.existsSync)((0,f.join)(a,"node_modules"));return{dir:a,kind:"node",name:c.name??"project",label:`${h} ${g}`,install:i?{cmd:h,args:["install"]}:void 0,runCmd:h,runArgs:"npm"===h?["run",g]:[g]}}catch{return null}}(a);if(b)return b}for(let a of c){let b=b=>(0,e.existsSync)((0,f.join)(a,b)),c=a.split(/[\\/]/).pop()||"project",g=b("requirements.txt")?{cmd:"python",args:["-m","pip","install","-r","requirements.txt"]}:void 0;if(b("manage.py"))return{dir:a,kind:"python",name:c,label:"django runserver",install:g,runCmd:"python",runArgs:["manage.py","runserver",`127.0.0.1:${d}`]};if(b("main.py")){let b="";try{b=(0,e.readFileSync)((0,f.join)(a,"main.py"),"utf8")}catch{}if(/FastAPI\s*\(/.test(b))return{dir:a,kind:"python",name:c,label:"uvicorn",install:g,runCmd:"python",runArgs:["-m","uvicorn","main:app","--host","127.0.0.1","--port",d]};return{dir:a,kind:"python",name:c,label:"python main.py",install:g,runCmd:"python",runArgs:["main.py"]}}if(b("go.mod"))return{dir:a,kind:"go",name:c,label:"go run",runCmd:"go",runArgs:["run","."]};if(b("Cargo.toml"))return{dir:a,kind:"rust",name:c,label:"cargo run",runCmd:"cargo",runArgs:["run"]};if(b("server.js"))return{dir:a,kind:"static",name:c,label:"node server.js",runCmd:"node",runArgs:["server.js"]}}return null}let l=new Map;async function m(a){let b=l.get(a);if(b&&Date.now()-b.at<6e4)return b.ok;let c=await new Promise(b=>{try{let c=(0,d.spawn)(a,["--version"],{shell:i,windowsHide:!0}),e=!1,f=a=>{e||(e=!0,b(a))};c.on("error",()=>f(!1)),c.on("close",a=>f(0===a||null===a)),setTimeout(()=>{try{c.kill()}catch{}f(!1)},8e3)}catch{b(!1)}});return l.set(a,{ok:c,at:Date.now()}),c}function n(a,b,c){for(let d of c.split(/\r?\n/)){let c=d.trimEnd();c&&(a.logs.push({c:b,t:c}),"starting"===a.status&&/(ready|listening|localhost:|started server|compiled)/i.test(c)&&(a.status="running"))}a.logs.length>400&&a.logs.splice(0,a.logs.length-400)}async function o(a,b){let c,h,l=j.get(a);if(l&&"stopped"!==l.status&&"error"!==l.status&&!l.proc.killed)return r(l);let o=k(b);if(!o)return{running:!1,status:"error",logs:[{c:"err",t:"No runnable project found (no package.json with a dev/start script, or a Python/Go/Rust project, under the workspace)."}]};if("node"!==o.kind&&"static"!==o.kind&&!await m(o.runCmd))return{running:!1,status:"error",port:void 0,url:void 0,project:o.label,logs:[{c:"err",t:`Toolchain not found: '${o.runCmd}' is not installed or not on PATH. This ${o.kind} starter needs it to boot — install ${o.kind} (or pick a Node stack).`}]};try{c=await function(a=4173,b=4999){return new Promise((c,d)=>{let e=a=>{if(a>b)return d(Error("no free port"));let f=(0,g.createServer)();f.once("error",()=>e(a+1)),f.once("listening",()=>f.close(()=>c(a))),f.listen(a,"127.0.0.1")};e(a)})}()}catch{return{running:!1,status:"error",logs:[{c:"err",t:"No free port available."}]}}let p={...process.env,PORT:String(c),BROWSER:"none",NODE_ENV:"development"},q=o.runArgs.map(a=>a.includes("$PORT")?a.replace("$PORT",String(c)):a),s={proc:null,port:c,url:`http://127.0.0.1:${c}`,status:"starting",dir:o.dir,kind:o.kind,label:o.label,logs:[],startedAt:Date.now()};n(s,"info",`project: ${o.name} \xb7 ${o.label} \xb7 :${c}`);let t=(0,f.join)(o.dir,".constella-pyinstalled"),v=o.install&&("node"===o.kind||"python"===o.kind&&!(0,e.existsSync)(t));if(o.install&&v){n(s,"info",`$ ${o.install.cmd} ${o.install.args.join(" ")}`),j.set(a,s);let b=(0,d.spawn)(o.install.cmd,o.install.args,{cwd:o.dir,env:p,shell:i,windowsHide:!0});b.stdout?.on("data",a=>n(s,"out",a.toString())),b.stderr?.on("data",a=>n(s,"err",a.toString()));let c=await new Promise(a=>{b.on("close",a),b.on("error",()=>a(-1))});if("python"===o.kind&&0===c)try{(0,e.writeFileSync)(t,"ok")}catch{}}s.proc=h=(0,d.spawn)(o.runCmd,q,{cwd:o.dir,env:p,shell:i,windowsHide:!0}),h.stdout?.on("data",a=>n(s,"out",a.toString())),h.stderr?.on("data",a=>n(s,"err",a.toString())),h.on("error",a=>{s.status="error",n(s,"err",/ENOENT/.test(String(a))?`'${o.runCmd}' not found — install the ${o.kind} toolchain or pick a Node stack.`:"spawn failed: "+String(a instanceof Error?a.message:a))}),h.on("close",a=>{"stopped"!==s.status&&(s.status=0===a?"stopped":"error",n(s,"info",`process exited (${a})`))}),j.set(a,s);let w="go"===o.kind||"rust"===o.kind?12e4:"python"===o.kind?6e4:3e4;return await u(s.url,w).then(a=>{a&&"starting"===s.status&&(s.status="running")}),r(s)}async function p(a,b){if(!k(b))return{ok:!0,detail:"no runnable project to gate"};let c=s(a);if("running"===c.status&&c.url&&await u(c.url,3e3))return{ok:!0,detail:"dev server still reachable"};("error"===c.status||"stopped"===c.status)&&await q(a);let d=await o(a,b);if(("running"===d.status||"starting"===d.status)&&d.url&&await u(d.url,6e3))return{ok:!0,detail:"booted"};let e=d.logs.map(a=>a.t).join(" | ");return/Toolchain not found|not found —|not installed/.test(e)?{ok:!0,detail:"toolchain unavailable — boot gate skipped (cannot validate)"}:{ok:!1,detail:d.logs.slice(-5).map(a=>a.t).join(" | ")||"dev server failed to boot"}}async function q(a){let b=j.get(a);if(!b)return{running:!1,status:"stopped",logs:[]};b.status="stopped";try{b.proc?.pid&&(i?(0,d.spawn)("taskkill",["/PID",String(b.proc.pid),"/T","/F"],{windowsHide:!0}):process.kill(-b.proc.pid,"SIGKILL"))}catch{try{b.proc?.kill("SIGKILL")}catch{}}return n(b,"info","server stopped"),r(b)}function r(a){return{running:"running"===a.status||"starting"===a.status,status:a.status,port:a.port,url:a.url,project:a.label,logs:a.logs.slice(-120)}}function s(a){let b=j.get(a);return b?r(b):{running:!1,status:"none",logs:[]}}function t(a){let b=j.get(a);return b&&("running"===b.status||"starting"===b.status)?b.url:null}async function u(a,b){let c=Date.now()+b;for(;Date.now()<c;){try{return await fetch(a,{signal:AbortSignal.timeout(2e3)}),!0}catch{}await new Promise(a=>setTimeout(a,1e3))}return!1}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=1968,exports.ids=[1968],exports.modules={39708:(a,b,c)=>{c.d(b,{N:()=>f});let d=Object.fromEntries(Object.entries({OTP_NOT_ENABLED:"OTP not enabled",OTP_HAS_EXPIRED:"OTP has expired",TOTP_NOT_ENABLED:"TOTP not enabled",TWO_FACTOR_NOT_ENABLED:"Two factor isn't enabled",BACKUP_CODES_NOT_ENABLED:"Backup codes aren't enabled",INVALID_BACKUP_CODE:"Invalid backup code",INVALID_CODE:"Invalid code",TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:"Too many attempts. Please request a new code.",INVALID_TWO_FACTOR_COOKIE:"Invalid two factor cookie"}).map(([a,b])=>[a,{code:a,message:b,toString:()=>a}]));var e=c(41891);let f=a=>({id:"two-factor",version:"1.6.19",$InferServerPlugin:{},atomListeners:[{matcher:a=>a.startsWith("/two-factor/"),signal:"$sessionSignal"}],pathMethods:{"/two-factor/disable":"POST","/two-factor/enable":"POST","/two-factor/send-otp":"POST","/two-factor/generate-backup-codes":"POST","/two-factor/get-totp-uri":"POST","/two-factor/verify-totp":"POST","/two-factor/verify-otp":"POST","/two-factor/verify-backup-code":"POST"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(b){if(b.data?.twoFactorRedirect){if(a?.onTwoFactorRedirect)return void await a.onTwoFactorRedirect({twoFactorMethods:b.data.twoFactorMethods});a?.twoFactorPage&&"u">typeof window&&(0,e.qV)(a.twoFactorPage)&&(window.location.href=a.twoFactorPage)}}}}],$ERROR_CODES:d})},41891:(a,b,c)=>{c.d(b,{qV:()=>e});let d=["javascript:","data:","vbscript:"];function e(a){let b;try{b=new URL(a)}catch{return!0}return!d.includes(b.protocol)}},50757:(a,b,c)=>{c.d(b,{M:()=>ao});let d=Object.create(null),e=a=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(a?d:globalThis),f=new Proxy(d,{get:(a,b)=>e()[b]??d[b],has:(a,b)=>b in e()||b in d,set:(a,b,c)=>(e(!0)[b]=c,!0),deleteProperty(a,b){if(!b)return!1;let c=e(!0);return delete c[b],!0},ownKeys:()=>Object.keys(e(!0))});function g(a,b){return"u">typeof process&&process.env?process.env[a]??b:"u">typeof Deno?Deno.env.get(a)??b:"u">typeof Bun?Bun.env[a]??b:b}f.NODE_ENV,Object.freeze({get BETTER_AUTH_SECRET(){return g("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return g("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return g("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return g("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return g("NODE_ENV","development")},get PACKAGE_VERSION(){return g("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return g("BETTER_AUTH_TELEMETRY_ENDPOINT","")}});let h={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};var i=class extends Error{constructor(a="INTERNAL_SERVER_ERROR",b,c={},d="number"==typeof a?a:h[a]){super(b?.message,b?.cause?{cause:b.cause}:void 0),this.status=a,this.body=b,this.headers=c,this.statusCode=d,this.name="APIError",this.status=a,this.headers=c,this.statusCode=d,this.body=b}};Symbol.for("better-call:api-error-headers"),function(a,b){class c extends a{#a;constructor(...a){if(function(){let a=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return void 0===a?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(a,"writable")?a.writable:void 0!==a.set}()){const b=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...a),Error.stackTraceLimit=b}else super(...a);const b=Error().stack;b&&(this.#a=function(a){let b=a.split("\n at ");return b.length<=1?a:(b.splice(1,1),b.join("\n at "))}(b.replace(/^Error/,this.name)))}get errorStack(){return this.#a}}Object.defineProperty(c.prototype,"constructor",{get:()=>b,enumerable:!1,configurable:!0})}(i,Error);var j=class extends Error{constructor(a,b){super(a,b),this.name="BetterAuthError",this.message=a,this.stack=""}};function k(a){let b=a.length;for(;b>0&&47===a.charCodeAt(b-1);)b--;return b===a.length?a:a.slice(0,b)}function l(a,b="/api/auth"){try{let b=new URL(a);if("http:"!==b.protocol&&"https:"!==b.protocol)throw new j(`Invalid base URL: ${a}. URL must include 'http://' or 'https://'`)}catch(b){if(b instanceof j)throw b;throw new j(`Invalid base URL: ${a}. Please provide a valid base URL.`,{cause:b})}if(function(a){try{return"/"!==(k(new URL(a).pathname)||"/")}catch{throw new j(`Invalid base URL: ${a}. Please provide a valid base URL.`)}}(a))return a;let c=k(a);return b&&"/"!==b?(b=b.startsWith("/")?b:`/${b}`,`${c}${b}`):c}let m={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},n=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,o={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},p=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;var q=c(41891);let r={id:"redirect",name:"Redirect",hooks:{onSuccess(a){if(a.data?.url&&a.data?.redirect&&(0,q.qV)(a.data.url)&&"u">typeof window&&window.location&&window.location)try{window.location.href=a.data.url}catch{}}}},s=(a,b,c,d)=>(a.events=a.events||{},a.events[c+10]||(a.events[c+10]=d(b=>{a.events[c].reduceRight((a,b)=>(b(a),a),{shared:{},...b})})),a.events[c]=a.events[c]||[],a.events[c].push(b),()=>{let d=a.events[c],e=d.indexOf(b);d.splice(e,1),d.length||(delete a.events[c],a.events[c+10](),delete a.events[c+10])});function t(a){if("object"!=typeof a||null===a)return!1;let b=Object.getPrototypeOf(a);return b===Object.prototype||null===b}function u(a,b){if(a===b)return!0;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(!u(a[c],b[c]))return!1;return!0}if(t(a)&&t(b)){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let d of c)if(!(d in b)||!u(a[d],b[d]))return!1;return!0}return!1}let v=Symbol.for("better-auth:broadcast-channel");var w=class{listeners=new Set;name;constructor(a="better-auth.message"){this.name=a}subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}post(a){if("u">typeof window)try{localStorage.setItem(this.name,JSON.stringify({...a,timestamp:Math.floor(Date.now()/1e3)}))}catch{}}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let a=a=>{if(a.key!==this.name)return;let b=JSON.parse(a.newValue??"{}");b?.event==="session"&&b?.data&&this.listeners.forEach(a=>a(b))};return window.addEventListener("storage",a),()=>{window.removeEventListener("storage",a)}}};function x(a="better-auth.message"){return globalThis[v]||(globalThis[v]=new w(a)),globalThis[v]}let y=Symbol.for("better-auth:focus-manager");var z=class{listeners=new Set;subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}setFocused(a){this.listeners.forEach(b=>b(a))}setup(){if("u"<typeof window||"u"<typeof document||void 0===window.addEventListener)return()=>{};let a=()=>{"visible"===document.visibilityState&&this.setFocused(!0)};return document.addEventListener("visibilitychange",a,!1),()=>{document.removeEventListener("visibilitychange",a,!1)}}};function A(){return globalThis[y]||(globalThis[y]=new z),globalThis[y]}let B=Symbol.for("better-auth:online-manager");var C=class{listeners=new Set;isOnline="u"<typeof navigator||navigator.onLine;subscribe(a){return this.listeners.add(a),()=>{this.listeners.delete(a)}}setOnline(a){this.isOnline=a,this.listeners.forEach(b=>b(a))}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let a=()=>this.setOnline(!0),b=()=>this.setOnline(!1);return window.addEventListener("online",a,!1),window.addEventListener("offline",b,!1),()=>{window.removeEventListener("online",a,!1),window.removeEventListener("offline",b,!1)}}};function D(){return globalThis[B]||(globalThis[B]=new C),globalThis[B]}let E=()=>Math.floor(Date.now()/1e3),F=[],G=0,H=globalThis.nanostoresGlobal||={epoch:0},I=a=>{let b=[],c={get:()=>(c.lc||c.listen(()=>{})(),c.value),init:a,lc:0,listen:a=>(c.lc=b.push(a),()=>{for(let b=G+4;b<F.length;)F[b]===a?F.splice(b,4):b+=4;let d=b.indexOf(a);~d&&(b.splice(d,1),--c.lc||c.off())}),notify(a,d){H.epoch++;let e=!F.length;for(let e of b)F.push(e,c.value,a,d);if(e){for(G=0;G<F.length;G+=4)F[G](F[G+1],F[G+2],F[G+3]);F.length=0}},off(){},set(a){let b=c.value;b!==a&&(c.value=a,c.notify(b))},subscribe(a){let b=c.listen(a);return a(c.value),b},value:a};return c};function J(a){return"object"==typeof a&&null!==a&&"data"in a&&"error"in a?a:{data:a,error:null}}function K(a,b){return u(a.data,b.data)&&a.error===b.error&&a.isPending===b.isPending&&a.isRefetching===b.isRefetching&&a.refetch===b.refetch}function L(a){if(null===a||"object"!=typeof a)return!1;let b=Object.getPrototypeOf(a);return(null===b||b===Object.prototype||null===Object.getPrototypeOf(b))&&!(Symbol.iterator in a)&&(!(Symbol.toStringTag in a)||"[object Module]"===Object.prototype.toString.call(a))}function M(a){return(...b)=>b.reduce((b,c)=>(function a(b,c,d=".",e){if(!L(c))return a(b,{},d,e);let f={...c};for(let c of Object.keys(b)){if("__proto__"===c||"constructor"===c)continue;let g=b[c];null!=g&&(e&&e(f,c,g,d)||(Array.isArray(g)&&Array.isArray(f[c])?f[c]=[...g,...f[c]]:L(g)&&L(f[c])?f[c]=a(g,f[c],(d?`${d}.`:"")+c.toString(),e):f[c]=g))}return f})(b,c,"",a),{})}let N=M();M((a,b,c)=>{if(void 0!==a[b]&&"function"==typeof c)return a[b]=c(a[b]),!0}),M((a,b,c)=>{if(Array.isArray(a[b])&&"function"==typeof c)return a[b]=c(a[b]),!0});var O=Object.defineProperty,P=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertySymbols,S=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable,U=(a,b,c)=>b in a?O(a,b,{enumerable:!0,configurable:!0,writable:!0,value:c}):a[b]=c,V=(a,b)=>{for(var c in b||(b={}))S.call(b,c)&&U(a,c,b[c]);if(R)for(var c of R(b))T.call(b,c)&&U(a,c,b[c]);return a},W=(a,b)=>P(a,Q(b)),X=class extends Error{constructor(a,b,c){super(b||a.toString(),{cause:c}),this.status=a,this.statusText=b,this.error=c,Error.captureStackTrace(this,this.constructor)}},Y=async(a,b)=>{var c,d,e,f,g,h;let i=b||{},j={onRequest:[null==b?void 0:b.onRequest],onResponse:[null==b?void 0:b.onResponse],onSuccess:[null==b?void 0:b.onSuccess],onError:[null==b?void 0:b.onError],onRetry:[null==b?void 0:b.onRetry]};if(!b||!(null==b?void 0:b.plugins))return{url:a,options:i,hooks:j};for(let k of(null==b?void 0:b.plugins)||[]){if(k.init){let d=await (null==(c=k.init)?void 0:c.call(k,a.toString(),b));i=d.options||i,a=d.url}j.onRequest.push(null==(d=k.hooks)?void 0:d.onRequest),j.onResponse.push(null==(e=k.hooks)?void 0:e.onResponse),j.onSuccess.push(null==(f=k.hooks)?void 0:f.onSuccess),j.onError.push(null==(g=k.hooks)?void 0:g.onError),j.onRetry.push(null==(h=k.hooks)?void 0:h.onRetry)}return{url:a,options:i,hooks:j}},Z=class{constructor(a){this.options=a}shouldAttemptRetry(a,b){return this.options.shouldRetry?Promise.resolve(a<this.options.attempts&&this.options.shouldRetry(b)):Promise.resolve(a<this.options.attempts)}getDelay(){return this.options.delay}},$=class{constructor(a){this.options=a}shouldAttemptRetry(a,b){return this.options.shouldRetry?Promise.resolve(a<this.options.attempts&&this.options.shouldRetry(b)):Promise.resolve(a<this.options.attempts)}getDelay(a){return Math.min(this.options.maxDelay,this.options.baseDelay*2**a)}},_=async a=>{let b={},c=async a=>"function"==typeof a?await a():a;if(null==a?void 0:a.auth){if("Bearer"===a.auth.type){let d=await c(a.auth.token);if(!d)return b;b.authorization=`Bearer ${d}`}else if("Basic"===a.auth.type){let[d,e]=await Promise.all([c(a.auth.username),c(a.auth.password)]);if(!d||!e)return b;b.authorization=`Basic ${btoa(`${d}:${e}`)}`}else if("Custom"===a.auth.type){let[d,e]=await Promise.all([c(a.auth.prefix),c(a.auth.value)]);if(!e)return b;b.authorization=`${null!=d?d:""} ${e}`}}return b},aa=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function ab(a){if(void 0===a)return!1;let b=typeof a;return"string"===b||"number"===b||"boolean"===b||null===b||"object"===b&&(!!Array.isArray(a)||!a.buffer&&(a.constructor&&"Object"===a.constructor.name||"function"==typeof a.toJSON))}function ac(a){try{return JSON.parse(a)}catch(b){return a}}function ad(a){return"function"==typeof a}function ae(...a){let b={};for(let c of a)if(c)if(c instanceof Headers)c.forEach((a,c)=>{b[c]=a});else for(let[a,d]of Array.isArray(c)?c:Object.entries(c))null!=d&&(b[a]=d);return b}async function af(a){let b=new Headers(ae(null==a?void 0:a.headers,await _(a)));if(!b.has("content-type")){let c=ab(null==a?void 0:a.body)?"application/json":null;c&&b.set("content-type",c)}return b}var ag=class a extends Error{constructor(b,c){super(c||JSON.stringify(b,null,2)),this.issues=b,Object.setPrototypeOf(this,a.prototype)}};async function ah(a,b){let c=await a["~standard"].validate(b);if(c.issues)throw new ag(c.issues);return c.value}var ai=["get","post","put","patch","delete"],aj=async(a,b)=>{var c,d,e,f,g,h,i,j;let k,{hooks:l,url:m,options:n}=await Y(a,b),o=function(a){if(null==a?void 0:a.customFetchImpl)return a.customFetchImpl;if("u">typeof globalThis&&ad(globalThis.fetch))return globalThis.fetch;if("u">typeof window&&ad(window.fetch))return window.fetch;throw Error("No fetch implementation found")}(n),p=new AbortController,q=null!=(c=n.signal)?c:p.signal,r=function(a,b){let{baseURL:c,params:d,query:e}=b||{query:{},params:{},baseURL:""},f=a.startsWith("http")?a.split("/").slice(0,3).join("/"):c||"";if(a.startsWith("@")){let b=a.toString().split("@")[1].split("/")[0];ai.includes(b)&&(a=a.replace(`@${b}/`,"/"))}f.endsWith("/")||(f+="/");let[g,h]=a.replace(f,"").split("?"),i=new URLSearchParams(h);for(let[a,b]of Object.entries(e||{})){let c;if(null!=b){if("string"==typeof b)c=b;else if(Array.isArray(b)){for(let c of b)i.append(a,c);continue}else c=JSON.stringify(b);i.set(a,c)}}let j=new Map;if(d)if(Array.isArray(d))for(let[a,b]of g.split("/").filter(a=>a.startsWith(":")).entries()){let c=d[a];j.set(b,String(c))}else for(let[a,b]of Object.entries(d))j.set(`:${a}`,String(b));g=(g=g.split("/").map(a=>(function(a,b){let c,d=a;for(let[a,c]of b)d=d.replace(a,c);if("."===(c=d)||".."===c)throw TypeError("Path parameters cannot be reserved path segments");return encodeURIComponent(d)})(a,j)).join("/")).replace(/^\/+/,"");let k=i.toString();return(k=k.length>0?`?${k}`.replace(/\+/g,"%20"):"",f.startsWith("http"))?new URL(`${g}${k}`,f):`${f}${g}${k}`}(m,n),s=await af(n),t=function(a,b){let c,{body:d}=a;return d?ab(d)&&"string"!=typeof d?"application/x-www-form-urlencoded"===((c=b.get("content-type"))?c.split(";")[0].trim().toLowerCase():null)?new URLSearchParams(d).toString():JSON.stringify(d):d:null}(n,s),u=function(a,b){var c;if(null==b?void 0:b.method)return b.method.toUpperCase();if(a.startsWith("@")){let d=null==(c=a.split("@")[1])?void 0:c.split("/")[0];return ai.includes(d)?d.toUpperCase():(null==b?void 0:b.body)?"POST":"GET"}return(null==b?void 0:b.body)?"POST":"GET"}(m,n),v=W(V({},n),{url:r,headers:s,body:t,method:u,signal:q});for(let a of l.onRequest)if(a){let b=await a(v);"object"==typeof b&&null!==b&&Object.assign(v,b)}("pipeTo"in v&&"function"==typeof v.pipeTo||"function"==typeof(null==(d=null==b?void 0:b.body)?void 0:d.pipe))&&!("duplex"in v)&&(v.duplex="half");let{clearTimeout:w}=(!(null==n?void 0:n.signal)&&(null==n?void 0:n.timeout)&&(k=setTimeout(()=>null==p?void 0:p.abort(),null==n?void 0:n.timeout)),{abortTimeout:k,clearTimeout:()=>{k&&clearTimeout(k)}}),x=await o(v.url,v);w();let y={response:x,request:v};for(let a of l.onResponse)if(a){let c=await a(W(V({},y),{response:(null==(e=null==b?void 0:b.hookOptions)?void 0:e.cloneResponse)?x.clone():x}));c instanceof Response?x=c:"object"==typeof c&&null!==c&&(x=c.response)}if(x.ok){if("HEAD"===v.method)return{data:"",error:null};let a=function(a){let b=a.headers.get("content-type"),c=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!b)return"json";let d=b.split(";").shift()||"";return aa.test(d)?"json":c.has(d)||d.startsWith("text/")?"text":"blob"}(x),c={data:null,response:x,request:v};if("json"===a||"text"===a){let a=await x.text(),b=null!=(f=v.jsonParser)?f:ac;c.data=await b(a)}else c.data=await x[a]();for(let a of((null==v?void 0:v.output)&&v.output&&!v.disableValidation&&(c.data=await ah(v.output,c.data)),l.onSuccess))a&&await a(W(V({},c),{response:(null==(g=null==b?void 0:b.hookOptions)?void 0:g.cloneResponse)?x.clone():x}));return(null==b?void 0:b.throw)?c.data:{data:c.data,error:null}}let z=null!=(h=null==b?void 0:b.jsonParser)?h:ac,A=await x.text(),B=function(a){try{return JSON.parse(a),!0}catch(a){return!1}}(A),C=B?await z(A):null,D={response:x,responseText:A,request:v,error:W(V({},C),{status:x.status,statusText:x.statusText})};for(let a of l.onError)a&&await a(W(V({},D),{response:(null==(i=null==b?void 0:b.hookOptions)?void 0:i.cloneResponse)?x.clone():x}));if(null==b?void 0:b.retry){let c=function(a){if("number"==typeof a)return new Z({type:"linear",attempts:a,delay:1e3});switch(a.type){case"linear":return new Z(a);case"exponential":return new $(a);default:throw Error("Invalid retry strategy")}}(b.retry),d=null!=(j=b.retryAttempt)?j:0;if(await c.shouldAttemptRetry(d,x)){for(let a of l.onRetry)a&&await a(y);let e=c.getDelay(d);return await new Promise(a=>setTimeout(a,e)),await aj(a,W(V({},b),{retryAttempt:d+1}))}}if(null==b?void 0:b.throw)throw new X(x.status,x.statusText,B?C:A);return{data:null,error:W(V({},C),{status:x.status,statusText:x.statusText})}};let ak=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,al=/['\u2019]/g;function am(a){return(a.replace(al,"").match(ak)??[]).map(a=>a.toLowerCase()).join("-")}var an=c(74679);function ao(a){var b;let{pluginPathMethods:c,pluginsActions:d,pluginsAtoms:e,$fetch:g,$store:h,atomListeners:i}=(a=>{var b,c;let d,e,g,h,i,k,q,t="credentials"in Request.prototype,v=function(a,b,c,d){if(a)return l(a,b);if(!1!==d){let a=f.BETTER_AUTH_URL||f.NEXT_PUBLIC_BETTER_AUTH_URL||f.PUBLIC_BETTER_AUTH_URL||f.NUXT_PUBLIC_BETTER_AUTH_URL||f.NUXT_PUBLIC_AUTH_URL||("/"!==f.BASE_URL?f.BASE_URL:void 0);if(a)return l(a,b)}c?.headers.get("x-forwarded-host"),c?.headers.get("x-forwarded-proto");if(c){let a=function(a){try{let b=new URL(a);return"null"===b.origin?null:b.origin}catch{return null}}(c.url);if(!a)throw new j("Could not get origin from request. Please provide a valid base URL.");return l(a,b)}if("u">typeof window&&window.location)return l(window.location.origin,b)}(a?.baseURL,a?.basePath,void 0,void 0)??(a=>{if(!("u"<typeof process)){if(process.env.NEXT_PUBLIC_AUTH_URL)return process.env.NEXT_PUBLIC_AUTH_URL;if("u"<typeof window){if(process.env.NEXTAUTH_URL)try{return process.env.NEXTAUTH_URL}catch{}if(process.env.VERCEL_URL)try{let b=process.env.VERCEL_URL.startsWith("http")?"":"https://";return`${new URL(`${b}${process.env.VERCEL_URL}`).origin}${a??"/api/auth"}`}catch{}}}})(a?.basePath)??"/api/auth",w=a?.plugins?.flatMap(a=>a.fetchPlugins).filter(a=>void 0!==a)||[],y={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:a?.fetchOptions?.onSuccess,onError:a?.fetchOptions?.onError,onRequest:a?.fetchOptions?.onRequest,onResponse:a?.fetchOptions?.onResponse}},{onSuccess:z,onError:B,onRequest:C,onResponse:F,...G}=a?.fetchOptions||{},H=(b={baseURL:v,...t?{credentials:"include"}:{},method:"GET",jsonParser:a=>a?function(a,b={strict:!0}){return function(a,b={}){let{strict:c=!1,warnings:d=!1,reviver:e,parseDates:f=!0}=b;if("string"!=typeof a)return a;let g=a.trim(),h=g.toLowerCase();if(h.length<=9&&h in o)return o[h];if(!n.test(g)){if(c)throw SyntaxError("[better-json] Invalid JSON");return a}if(Object.entries(m).some(([a,b])=>{let c=b.test(g);return c&&d&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${a} pattern`),c})&&c)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(g,(a,b)=>{if("__proto__"===a||"constructor"===a&&b&&"object"==typeof b&&"prototype"in b){d&&console.warn(`[better-json] Dropping "${a}" key to prevent prototype pollution`);return}if(f&&"string"==typeof b){let a=function(a){let b=p.exec(a);if(!b)return null;let[,c,d,e,f,g,h,i,j,k,l]=b,m=new Date(Date.UTC(parseInt(c,10),parseInt(d,10)-1,parseInt(e,10),parseInt(f,10),parseInt(g,10),parseInt(h,10),i?parseInt(i.padEnd(3,"0"),10):0));if(j){let a=(60*parseInt(k,10)+parseInt(l,10))*("+"===j?-1:1);m.setUTCMinutes(m.getUTCMinutes()+a)}return m instanceof Date&&!isNaN(m.getTime())?m:null}(b);if(a)return a}return e?e(a,b):b})}catch(b){if(c)throw b;return a}}(a,b)}(a,{strict:!1}):null,customFetchImpl:fetch,...G,plugins:[y,...G.plugins||[],...a?.disableDefaultFetchPlugins?[]:[r],...w]},async function(a,c){let d,e=W(V(V({},b),c),{headers:ae(null==b?void 0:b.headers,null==c?void 0:c.headers),plugins:[...(null==b?void 0:b.plugins)||[],(d=b||{},{id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(a,b){var c,e,f,g;let h=(null==(e=null==(c=d.plugins)?void 0:c.find(b=>{var c;return null!=(c=b.schema)&&!!c.config&&(a.startsWith(b.schema.config.baseURL||"")||a.startsWith(b.schema.config.prefix||""))}))?void 0:e.schema)||d.schema;if(h){let c=a;(null==(f=h.config)?void 0:f.prefix)&&c.startsWith(h.config.prefix)&&(c=c.replace(h.config.prefix,""),h.config.baseURL&&(a=a.replace(h.config.prefix,h.config.baseURL))),(null==(g=h.config)?void 0:g.baseURL)&&c.startsWith(h.config.baseURL)&&(c=c.replace(h.config.baseURL,"")),c.startsWith("/")&&"@"===c.charAt(1)&&(c=c.substring(1));let d=h.schema[c];if(d){let c=null==b?void 0:b.headers;if(d.headers&&!(null==b?void 0:b.disableValidation)){let a={};if(null==b?void 0:b.headers){if(b.headers instanceof Headers)b.headers.forEach((b,c)=>{a[c.toLowerCase()]=b});else if("object"==typeof b.headers)for(let[c,d]of Object.entries(b.headers))null!=d&&(a[c.toLowerCase()]=d)}let e=await ah(d.headers,a),f={};for(let[a,b]of Object.entries(e))f[a.toLowerCase()]=b;c=f}let e=W(V({},b),{method:d.method,output:d.output,headers:c});return(null==b?void 0:b.disableValidation)||(e=W(V({},e),{body:d.input?await ah(d.input,null==b?void 0:b.body):null==b?void 0:b.body,params:d.params?await ah(d.params,null==b?void 0:b.params):null==b?void 0:b.params,query:d.query?await ah(d.query,null==b?void 0:b.query):null==b?void 0:b.query})),{url:a,options:e}}}return{url:a,options:b}}}),...(null==c?void 0:c.plugins)||[]]});if(null==b?void 0:b.catchAllError)try{return await aj(a,e)}catch(a){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:a}}}return await aj(a,e)}),{$sessionSignal:L,session:M,broadcastSessionUpdate:O}=(e=I(!1),h=I({data:null,error:null,isPending:!0,isRefetching:!1,refetch:g=a=>k(a)}),s(h,({newValue:a,abort:b})=>{K(h.value,a)&&b()},2,a=>{let b=h.set,c=h.setKey;return h.setKey&&(h.setKey=(b,d)=>{let e;if(a({abort:()=>{e=!0},changed:b,newValue:{...h.value,[b]:d}}),!e)return c(b,d)}),h.set=c=>{let d;if(a({abort:()=>{d=!0},newValue:c}),!d)return b(c)},()=>{h.set=b,h.setKey=c}}),i=a=>{if(d!==a)return;let b=h.get();d=void 0,(b.isPending||b.isRefetching)&&h.set({...b,isPending:!1,isRefetching:!1,refetch:g})},k=async a=>{d?.abort();let b=new AbortController;d=b;let c=h.get();h.set({...c,isPending:null===c.data,isRefetching:!0,error:null,refetch:g});try{var e;let c=await H("/get-session",{method:"GET",query:a?.query,signal:b.signal});if(b.signal.aborted)return void i(b);let{data:d,error:f}=J(c);if(d?.needsRefresh)try{let a=await H("/get-session",{method:"POST",signal:b.signal});if(b.signal.aborted)return void i(b);({data:d,error:f}=J(a))}catch{if(b.signal.aborted)return void i(b)}if(f){let a=h.get(),b=f?.status===401;h.set({data:b?null:a.data,error:f,isPending:!1,isRefetching:!1,refetch:g});return}let j=(e=d)&&(null!==e.session||null!==e.user)?e:null,k=h.get(),l=null!=k.data&&null!=j&&u(k.data,j)?k.data:j;h.set({data:l,error:null,isPending:!1,isRefetching:!1,refetch:g})}catch(c){if(b.signal.aborted)return void i(b);let a=h.get();h.set({data:a.data,error:c,isPending:!1,isRefetching:!1,refetch:g})}},q=()=>{},c=()=>{let b;"u"<typeof window||(b=setTimeout(()=>{k()},0));let c=function(a){let{fetchSession:b,shouldPollSession:c=()=>!0,sessionSignal:d,options:e={}}=a,f=e.sessionOptions?.refetchInterval??0,g=e.sessionOptions?.refetchOnWindowFocus??!0,h=e.sessionOptions?.refetchWhenOffline??!1,i={isInitialized:!1,lastSessionRequest:0},j=a=>{if(h||D().isOnline){if(a?.event==="storage")return void b();if(a?.event==="poll"){i.lastSessionRequest=E(),b();return}if(a?.event==="visibilitychange"){if(E()-i.lastSessionRequest<5)return;i.lastSessionRequest=E(),b();return}b()}};return{init:()=>{i.isInitialized||(i.isInitialized=!0,f&&f>0&&(i.pollInterval=setInterval(()=>{c()&&j({event:"poll"})},1e3*f)),i.unsubscribeBroadcast=x().subscribe(()=>{j({event:"storage"})}),g&&(i.unsubscribeFocus=A().subscribe(()=>{j({event:"visibilitychange"})})),i.unsubscribeOnline=D().subscribe(a=>{a&&j({event:"visibilitychange"})}),i.unsubscribeSignal=d.listen(()=>{b()}),i.cleanupBroadcastSetup=x().setup(),i.cleanupFocusSetup=A().setup(),i.cleanupOnlineSetup=D().setup())},cleanup:()=>{i.isInitialized&&(i.pollInterval&&(clearInterval(i.pollInterval),i.pollInterval=void 0),i.unsubscribeBroadcast&&(i.unsubscribeBroadcast(),i.unsubscribeBroadcast=void 0),i.unsubscribeFocus&&(i.unsubscribeFocus(),i.unsubscribeFocus=void 0),i.unsubscribeOnline&&(i.unsubscribeOnline(),i.unsubscribeOnline=void 0),i.unsubscribeSignal&&(i.unsubscribeSignal(),i.unsubscribeSignal=void 0),i.cleanupBroadcastSetup&&(i.cleanupBroadcastSetup(),i.cleanupBroadcastSetup=void 0),i.cleanupFocusSetup&&(i.cleanupFocusSetup(),i.cleanupFocusSetup=void 0),i.cleanupOnlineSetup&&(i.cleanupOnlineSetup(),i.cleanupOnlineSetup=void 0),i.isInitialized=!1,i.lastSessionRequest=0)},triggerRefetch:j,broadcastSessionUpdate:a=>{x().post({event:"session",data:{trigger:a},clientId:Math.random().toString(36).substring(7)})}}}({fetchSession:k,shouldPollSession:()=>null!=h.get().data,sessionSignal:e,options:a});return c.init(),q=c.broadcastSessionUpdate,()=>{b&&clearTimeout(b);let a=d;a?.abort(),a&&i(a),c.cleanup()}},s(h,a=>{let b=c(a);b&&h.events[6].push(b)},5,a=>{let b=h.listen;h.listen=(...c)=>(h.lc||h.active||(h.active=!0,a()),b(...c));let c=h.off;return h.events[6]=[],h.off=()=>{c(),setTimeout(()=>{if(h.active&&!h.lc){for(let a of(h.active=!1,h.events[6]))a();h.events[6]=[]}},1e3)},()=>{h.listen=b,h.off=c}}),{session:h,$sessionSignal:e,broadcastSessionUpdate:a=>q(a)}),P=a?.plugins||[],Q={},R={$sessionSignal:L,session:M},S={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},T=[{signal:"$sessionSignal",matcher:a=>"/sign-out"===a||"/update-user"===a||"/update-session"===a||"/sign-up/email"===a||"/sign-in/email"===a||"/delete-user"===a||"/verify-email"===a||"/revoke-sessions"===a||"/revoke-session"===a||"/revoke-other-sessions"===a||"/change-email"===a||"/change-password"===a,callback(a){"/sign-out"===a?O("signout"):("/update-user"===a||"/update-session"===a)&&O("updateUser")}}];for(let a of P)a.getAtoms&&Object.assign(R,a.getAtoms?.(H)),a.pathMethods&&Object.assign(S,a.pathMethods),a.atomListeners&&T.push(...a.atomListeners);let U={notify:a=>{R[a].set(!R[a].get())},listen:(a,b)=>{R[a].subscribe(b)},atoms:R};for(let b of P)b.getActions&&(Q=N(b.getActions?.(H,U,a)??{},Q));return{get baseURL(){return v},pluginsActions:Q,pluginsAtoms:R,pluginPathMethods:S,atomListeners:T,$fetch:H,$store:U}})(a),k={};for(let[a,b]of Object.entries(e))k[function(a){return`use${a.charAt(0).toUpperCase()+a.slice(1)}`}(a)]=()=>(function(a,b={}){let c=(0,an.useRef)(a.get()),{keys:d,deps:e=[a,d]}=b,f=(0,an.useCallback)(b=>{let e=a=>{c.current!==a&&(c.current=a,b())};if(e(a.value),d?.length){let b;return b=new Set(d).add(void 0),a.listen((a,c,d)=>{b.has(d)&&e(a,c,d)})}return a.listen(e)},e),g=()=>c.current;return(0,an.useSyncExternalStore)(f,g,g)})(b);return b={...d,...k,$fetch:g,$store:h},function a(d=[]){return new Proxy(function(){},{get(c,e){var f;if("string"!=typeof e||"then"===e||"catch"===e||"finally"===e)return;let g=[...d,e],h=b;for(let a of g)if(h&&"object"==typeof h&&a in h)h=h[a];else{h=void 0;break}return"function"==typeof h?h:"object"==typeof(f=h)&&null!==f&&"get"in f&&"function"==typeof f.get&&"lc"in f&&"number"==typeof f.lc?h:a(g)},apply:async(a,b,f)=>{let h="/"+d.map(am).join("/"),j=f[0]||{},k=f[1]||{},{query:l,fetchOptions:m,...n}=j,o={...k,...m},p=function(a,b,c){let d=b[a],{fetchOptions:e,query:f,...g}=c||{};return d||(e?.method?e.method:g&&Object.keys(g).length>0?"POST":"GET")}(h,c,j);return await g(h,{...o,body:"GET"===p?void 0:{...n,...o?.body||{}},query:l||o?.query,method:p,async onSuccess(a){if(await o?.onSuccess?.(a),!i||o.disableSignal)return;let b=i.filter(a=>a.matcher(h));if(!b.length)return;let c=new Set;for(let a of b){let b=e[a.signal];if(!b)return;if(c.has(a.signal))continue;c.add(a.signal);let d=b.get();setTimeout(()=>{b.set(!d)},10),a.callback?.(h)}}})}})}()}}};