constellai 0.3.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 (1993) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +54 -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 +346 -0
  14. package/.next/required-server-files.json +346 -0
  15. package/.next/routes-manifest.json +368 -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)/design/page.js +354 -0
  38. package/.next/server/app/(app)/design/page.js.nft.json +1 -0
  39. package/.next/server/app/(app)/design/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(app)/docs/[id]/page.js +2 -0
  41. package/.next/server/app/(app)/docs/[id]/page.js.nft.json +1 -0
  42. package/.next/server/app/(app)/docs/[id]/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(app)/docs/page.js +2 -0
  44. package/.next/server/app/(app)/docs/page.js.nft.json +1 -0
  45. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -0
  46. package/.next/server/app/(app)/github/page.js +2 -0
  47. package/.next/server/app/(app)/github/page.js.nft.json +1 -0
  48. package/.next/server/app/(app)/github/page_client-reference-manifest.js +1 -0
  49. package/.next/server/app/(app)/goals/page.js +2 -0
  50. package/.next/server/app/(app)/goals/page.js.nft.json +1 -0
  51. package/.next/server/app/(app)/goals/page_client-reference-manifest.js +1 -0
  52. package/.next/server/app/(app)/inbox/page.js +2 -0
  53. package/.next/server/app/(app)/inbox/page.js.nft.json +1 -0
  54. package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -0
  55. package/.next/server/app/(app)/knowledge/page.js +3 -0
  56. package/.next/server/app/(app)/knowledge/page.js.nft.json +1 -0
  57. package/.next/server/app/(app)/knowledge/page_client-reference-manifest.js +1 -0
  58. package/.next/server/app/(app)/models/page.js +2 -0
  59. package/.next/server/app/(app)/models/page.js.nft.json +1 -0
  60. package/.next/server/app/(app)/models/page_client-reference-manifest.js +1 -0
  61. package/.next/server/app/(app)/notifications/page.js +2 -0
  62. package/.next/server/app/(app)/notifications/page.js.nft.json +1 -0
  63. package/.next/server/app/(app)/notifications/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/(app)/org/page.js +22 -0
  65. package/.next/server/app/(app)/org/page.js.nft.json +1 -0
  66. package/.next/server/app/(app)/org/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/(app)/organizations/page.js +2 -0
  68. package/.next/server/app/(app)/organizations/page.js.nft.json +1 -0
  69. package/.next/server/app/(app)/organizations/page_client-reference-manifest.js +1 -0
  70. package/.next/server/app/(app)/page.js +3 -0
  71. package/.next/server/app/(app)/page.js.nft.json +1 -0
  72. package/.next/server/app/(app)/page_client-reference-manifest.js +1 -0
  73. package/.next/server/app/(app)/planner/page.js +12 -0
  74. package/.next/server/app/(app)/planner/page.js.nft.json +1 -0
  75. package/.next/server/app/(app)/planner/page_client-reference-manifest.js +1 -0
  76. package/.next/server/app/(app)/plugins/page.js +2 -0
  77. package/.next/server/app/(app)/plugins/page.js.nft.json +1 -0
  78. package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/(app)/pm/page.js +2 -0
  80. package/.next/server/app/(app)/pm/page.js.nft.json +1 -0
  81. package/.next/server/app/(app)/pm/page_client-reference-manifest.js +1 -0
  82. package/.next/server/app/(app)/prepare-deploy/page.js +19 -0
  83. package/.next/server/app/(app)/prepare-deploy/page.js.nft.json +1 -0
  84. package/.next/server/app/(app)/prepare-deploy/page_client-reference-manifest.js +1 -0
  85. package/.next/server/app/(app)/profile/page.js +2 -0
  86. package/.next/server/app/(app)/profile/page.js.nft.json +1 -0
  87. package/.next/server/app/(app)/profile/page_client-reference-manifest.js +1 -0
  88. package/.next/server/app/(app)/pulse/page.js +2 -0
  89. package/.next/server/app/(app)/pulse/page.js.nft.json +1 -0
  90. package/.next/server/app/(app)/pulse/page_client-reference-manifest.js +1 -0
  91. package/.next/server/app/(app)/reports/[id]/page.js +3 -0
  92. package/.next/server/app/(app)/reports/[id]/page.js.nft.json +1 -0
  93. package/.next/server/app/(app)/reports/[id]/page_client-reference-manifest.js +1 -0
  94. package/.next/server/app/(app)/reports/page.js +5 -0
  95. package/.next/server/app/(app)/reports/page.js.nft.json +1 -0
  96. package/.next/server/app/(app)/reports/page_client-reference-manifest.js +1 -0
  97. package/.next/server/app/(app)/routines/page.js +2 -0
  98. package/.next/server/app/(app)/routines/page.js.nft.json +1 -0
  99. package/.next/server/app/(app)/routines/page_client-reference-manifest.js +1 -0
  100. package/.next/server/app/(app)/search/page.js +2 -0
  101. package/.next/server/app/(app)/search/page.js.nft.json +1 -0
  102. package/.next/server/app/(app)/search/page_client-reference-manifest.js +1 -0
  103. package/.next/server/app/(app)/security/page.js +2 -0
  104. package/.next/server/app/(app)/security/page.js.nft.json +1 -0
  105. package/.next/server/app/(app)/security/page_client-reference-manifest.js +1 -0
  106. package/.next/server/app/(app)/skills/page.js +18 -0
  107. package/.next/server/app/(app)/skills/page.js.nft.json +1 -0
  108. package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -0
  109. package/.next/server/app/(app)/tasks/page.js +2 -0
  110. package/.next/server/app/(app)/tasks/page.js.nft.json +1 -0
  111. package/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -0
  112. package/.next/server/app/(app)/test-dev/page.js +2 -0
  113. package/.next/server/app/(app)/test-dev/page.js.nft.json +1 -0
  114. package/.next/server/app/(app)/test-dev/page_client-reference-manifest.js +1 -0
  115. package/.next/server/app/(app)/update/page.js +13 -0
  116. package/.next/server/app/(app)/update/page.js.nft.json +1 -0
  117. package/.next/server/app/(app)/update/page_client-reference-manifest.js +1 -0
  118. package/.next/server/app/(auth)/login/page.js +2 -0
  119. package/.next/server/app/(auth)/login/page.js.nft.json +1 -0
  120. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -0
  121. package/.next/server/app/(auth)/onboarding/page.js +2 -0
  122. package/.next/server/app/(auth)/onboarding/page.js.nft.json +1 -0
  123. package/.next/server/app/(auth)/onboarding/page_client-reference-manifest.js +1 -0
  124. package/.next/server/app/_global-error/page.js +32 -0
  125. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  126. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  127. package/.next/server/app/_global-error.html +1 -0
  128. package/.next/server/app/_global-error.meta +16 -0
  129. package/.next/server/app/_global-error.rsc +15 -0
  130. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  131. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +5 -0
  132. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +5 -0
  133. package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  134. package/.next/server/app/_global-error.segments/_index.segment.rsc +6 -0
  135. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  136. package/.next/server/app/_not-found/page.js +2 -0
  137. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  138. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/auth/[...all]/route.js +1 -0
  140. package/.next/server/app/api/auth/[...all]/route.js.nft.json +1 -0
  141. package/.next/server/app/api/auth/[...all]/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/cron/tick/route.js +53 -0
  143. package/.next/server/app/api/cron/tick/route.js.nft.json +1 -0
  144. package/.next/server/app/api/cron/tick/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/health/route.js +1 -0
  146. package/.next/server/app/api/health/route.js.nft.json +1 -0
  147. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/locks/acquire/route.js +1 -0
  149. package/.next/server/app/api/locks/acquire/route.js.nft.json +1 -0
  150. package/.next/server/app/api/locks/acquire/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/models/progress/route.js +1 -0
  152. package/.next/server/app/api/models/progress/route.js.nft.json +1 -0
  153. package/.next/server/app/api/models/progress/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/passkey/authenticate/options/route.js +1 -0
  155. package/.next/server/app/api/passkey/authenticate/options/route.js.nft.json +1 -0
  156. package/.next/server/app/api/passkey/authenticate/options/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/passkey/authenticate/verify/route.js +1 -0
  158. package/.next/server/app/api/passkey/authenticate/verify/route.js.nft.json +1 -0
  159. package/.next/server/app/api/passkey/authenticate/verify/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/passkey/register/options/route.js +1 -0
  161. package/.next/server/app/api/passkey/register/options/route.js.nft.json +1 -0
  162. package/.next/server/app/api/passkey/register/options/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/passkey/register/verify/route.js +1 -0
  164. package/.next/server/app/api/passkey/register/verify/route.js.nft.json +1 -0
  165. package/.next/server/app/api/passkey/register/verify/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/stream/route.js +4 -0
  167. package/.next/server/app/api/stream/route.js.nft.json +1 -0
  168. package/.next/server/app/api/stream/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/sync/file/route.js +2 -0
  170. package/.next/server/app/api/sync/file/route.js.nft.json +1 -0
  171. package/.next/server/app/api/sync/file/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/telegram/poll/route.js +133 -0
  173. package/.next/server/app/api/telegram/poll/route.js.nft.json +1 -0
  174. package/.next/server/app/api/telegram/poll/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/upload/route.js +1 -0
  176. package/.next/server/app/api/upload/route.js.nft.json +1 -0
  177. package/.next/server/app/api/upload/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app/api/v1/[[...path]]/route.js +1 -0
  179. package/.next/server/app/api/v1/[[...path]]/route.js.nft.json +1 -0
  180. package/.next/server/app/api/v1/[[...path]]/route_client-reference-manifest.js +1 -0
  181. package/.next/server/app-paths-manifest.json +54 -0
  182. package/.next/server/chunks/1249.js +910 -0
  183. package/.next/server/chunks/1388.js +1 -0
  184. package/.next/server/chunks/1572.js +1 -0
  185. package/.next/server/chunks/1591.js +24 -0
  186. package/.next/server/chunks/1619.js +188 -0
  187. package/.next/server/chunks/162.js +1 -0
  188. package/.next/server/chunks/1845.js +462 -0
  189. package/.next/server/chunks/2341.js +1 -0
  190. package/.next/server/chunks/2517.js +1 -0
  191. package/.next/server/chunks/259.js +119 -0
  192. package/.next/server/chunks/2599.js +1 -0
  193. package/.next/server/chunks/260.js +1 -0
  194. package/.next/server/chunks/2867.js +147 -0
  195. package/.next/server/chunks/288.js +1 -0
  196. package/.next/server/chunks/2939.js +12 -0
  197. package/.next/server/chunks/2960.js +14 -0
  198. package/.next/server/chunks/3050.js +18 -0
  199. package/.next/server/chunks/3056.js +1 -0
  200. package/.next/server/chunks/3131.js +1 -0
  201. package/.next/server/chunks/3234.js +869 -0
  202. package/.next/server/chunks/3243.js +67 -0
  203. package/.next/server/chunks/3266.js +15 -0
  204. package/.next/server/chunks/3440.js +1 -0
  205. package/.next/server/chunks/3550.js +1 -0
  206. package/.next/server/chunks/3609.js +2 -0
  207. package/.next/server/chunks/3882.js +417 -0
  208. package/.next/server/chunks/4302.js +26 -0
  209. package/.next/server/chunks/4616.js +479 -0
  210. package/.next/server/chunks/4619.js +1 -0
  211. package/.next/server/chunks/4679.js +1 -0
  212. package/.next/server/chunks/4804.js +1 -0
  213. package/.next/server/chunks/4832.js +2 -0
  214. package/.next/server/chunks/4979.js +67 -0
  215. package/.next/server/chunks/5060.js +1 -0
  216. package/.next/server/chunks/5181.js +1 -0
  217. package/.next/server/chunks/5278.js +1 -0
  218. package/.next/server/chunks/5614.js +1 -0
  219. package/.next/server/chunks/6431.js +1 -0
  220. package/.next/server/chunks/6479.js +1 -0
  221. package/.next/server/chunks/658.js +14 -0
  222. package/.next/server/chunks/6658.js +1 -0
  223. package/.next/server/chunks/6706.js +1 -0
  224. package/.next/server/chunks/6719.js +1 -0
  225. package/.next/server/chunks/683.js +1 -0
  226. package/.next/server/chunks/6873.js +1 -0
  227. package/.next/server/chunks/7037.js +1 -0
  228. package/.next/server/chunks/73.js +17 -0
  229. package/.next/server/chunks/7336.js +1 -0
  230. package/.next/server/chunks/7514.js +1 -0
  231. package/.next/server/chunks/7589.js +22 -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/7976.js +1 -0
  238. package/.next/server/chunks/7989.js +1 -0
  239. package/.next/server/chunks/834.js +4 -0
  240. package/.next/server/chunks/8497.js +1 -0
  241. package/.next/server/chunks/850.js +1 -0
  242. package/.next/server/chunks/8561.js +22 -0
  243. package/.next/server/chunks/8623.js +1 -0
  244. package/.next/server/chunks/8762.js +15 -0
  245. package/.next/server/chunks/8823.js +85 -0
  246. package/.next/server/chunks/9459.js +21 -0
  247. package/.next/server/chunks/9676.js +1 -0
  248. package/.next/server/chunks/9680.js +1 -0
  249. package/.next/server/chunks/9783.js +22 -0
  250. package/.next/server/chunks/9969.js +3 -0
  251. package/.next/server/functions-config-manifest.json +18 -0
  252. package/.next/server/instrumentation.js +1 -0
  253. package/.next/server/instrumentation.js.nft.json +1 -0
  254. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  255. package/.next/server/middleware-build-manifest.js +1 -0
  256. package/.next/server/middleware-manifest.json +6 -0
  257. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  258. package/.next/server/middleware.js +18 -0
  259. package/.next/server/middleware.js.nft.json +1 -0
  260. package/.next/server/next-font-manifest.js +1 -0
  261. package/.next/server/next-font-manifest.json +1 -0
  262. package/.next/server/pages/500.html +1 -0
  263. package/.next/server/pages-manifest.json +3 -0
  264. package/.next/server/prefetch-hints.json +1 -0
  265. package/.next/server/server-reference-manifest.js +1 -0
  266. package/.next/server/server-reference-manifest.json +1 -0
  267. package/.next/server/webpack-runtime.js +1 -0
  268. package/.next/static/T0ETI55t9tc9pi5i_CGOe/_buildManifest.js +1 -0
  269. package/.next/static/T0ETI55t9tc9pi5i_CGOe/_ssgManifest.js +1 -0
  270. package/.next/static/chunks/2237-2a30470119df8616.js +1 -0
  271. package/.next/static/chunks/2320-fc8b39380e69d465.js +2 -0
  272. package/.next/static/chunks/23550918-ff694f70f4b0648c.js +1 -0
  273. package/.next/static/chunks/3219-9684aa1c634212de.js +1 -0
  274. package/.next/static/chunks/4263-adecb5b466380b6e.js +1 -0
  275. package/.next/static/chunks/5920.6451a68b63918988.js +1 -0
  276. package/.next/static/chunks/6834-4759af1ce7d95fb6.js +32 -0
  277. package/.next/static/chunks/7268-ac23e9901bf535af.js +4 -0
  278. package/.next/static/chunks/7509.721cd47a931c5518.js +1 -0
  279. package/.next/static/chunks/7555-d2209e697b0a798e.js +1 -0
  280. package/.next/static/chunks/8370-db3280cb1ba67bcd.js +12 -0
  281. package/.next/static/chunks/9219-4a39a98b5502d9d1.js +1 -0
  282. package/.next/static/chunks/9562-4b50b4e408bc0a42.js +1 -0
  283. package/.next/static/chunks/9690-53d5222618cbeddb.js +1 -0
  284. package/.next/static/chunks/9846-c853e71d4d8fbb80.js +1 -0
  285. package/.next/static/chunks/9950-703805abe4653068.js +1 -0
  286. package/.next/static/chunks/app/(app)/activity/page-f06add40c3785686.js +1 -0
  287. package/.next/static/chunks/app/(app)/agents/[handle]/page-2ddf1f9908c73eb1.js +1 -0
  288. package/.next/static/chunks/app/(app)/code/page-ef9dceeae728b9d1.js +1 -0
  289. package/.next/static/chunks/app/(app)/config/page-496e569efd86e75c.js +1 -0
  290. package/.next/static/chunks/app/(app)/costs/page-675f542fdd517bee.js +1 -0
  291. package/.next/static/chunks/app/(app)/cron/page-80a87a05492c0ffe.js +1 -0
  292. package/.next/static/chunks/app/(app)/dashboard/page-4bddca6808a3be40.js +1 -0
  293. package/.next/static/chunks/app/(app)/design/page-e0fd071fb7144c46.js +558 -0
  294. package/.next/static/chunks/app/(app)/docs/[id]/page-f05e389793127500.js +1 -0
  295. package/.next/static/chunks/app/(app)/docs/page-f6bbf5c6b9104cbe.js +1 -0
  296. package/.next/static/chunks/app/(app)/error-988cd28480809861.js +1 -0
  297. package/.next/static/chunks/app/(app)/github/page-5297c806ce6afa9b.js +1 -0
  298. package/.next/static/chunks/app/(app)/goals/page-3fa53e8541c8e9fc.js +1 -0
  299. package/.next/static/chunks/app/(app)/inbox/page-a2a74b5f6a6c326e.js +12 -0
  300. package/.next/static/chunks/app/(app)/knowledge/page-fb11b2bfa9ecd9a4.js +1 -0
  301. package/.next/static/chunks/app/(app)/layout-b74cd565406964d5.js +1 -0
  302. package/.next/static/chunks/app/(app)/models/page-c8acfc3d353fd9d0.js +1 -0
  303. package/.next/static/chunks/app/(app)/notifications/page-05a094d02d23f455.js +12 -0
  304. package/.next/static/chunks/app/(app)/org/page-883d6aa98b593c6b.js +12 -0
  305. package/.next/static/chunks/app/(app)/organizations/page-4595e8fa86ca3c01.js +1 -0
  306. package/.next/static/chunks/app/(app)/page-21d47e76fe9a6c63.js +1 -0
  307. package/.next/static/chunks/app/(app)/planner/page-1fc32005d05bbe69.js +1 -0
  308. package/.next/static/chunks/app/(app)/plugins/page-454613b9f5cb1d3d.js +1 -0
  309. package/.next/static/chunks/app/(app)/pm/page-8473da305f4c2880.js +1 -0
  310. package/.next/static/chunks/app/(app)/prepare-deploy/page-3ba948f5557dea38.js +1 -0
  311. package/.next/static/chunks/app/(app)/profile/page-05f25516fea20762.js +1 -0
  312. package/.next/static/chunks/app/(app)/pulse/page-540a80dbaf61453d.js +1 -0
  313. package/.next/static/chunks/app/(app)/reports/[id]/page-80a87a05492c0ffe.js +1 -0
  314. package/.next/static/chunks/app/(app)/reports/page-de1e69ca09d7cabb.js +1 -0
  315. package/.next/static/chunks/app/(app)/routines/page-83085c9ba3584ec9.js +1 -0
  316. package/.next/static/chunks/app/(app)/search/page-8769fd9075e21e36.js +1 -0
  317. package/.next/static/chunks/app/(app)/security/page-1baa88dc61c3fab8.js +1 -0
  318. package/.next/static/chunks/app/(app)/skills/page-fa75c290b456c629.js +1 -0
  319. package/.next/static/chunks/app/(app)/tasks/page-1eb62689244c8a79.js +1 -0
  320. package/.next/static/chunks/app/(app)/test-dev/page-c496b31087389906.js +1 -0
  321. package/.next/static/chunks/app/(app)/update/page-5a217e6479bc5289.js +1 -0
  322. package/.next/static/chunks/app/(auth)/login/page-ad50e3112f35f41c.js +1 -0
  323. package/.next/static/chunks/app/(auth)/onboarding/page-ab05f02e868c9eec.js +1 -0
  324. package/.next/static/chunks/app/_global-error/page-eacef2b697bd0982.js +1 -0
  325. package/.next/static/chunks/app/_not-found/page-dc38b02aebeab535.js +1 -0
  326. package/.next/static/chunks/app/api/auth/[...all]/route-eacef2b697bd0982.js +1 -0
  327. package/.next/static/chunks/app/api/cron/tick/route-eacef2b697bd0982.js +1 -0
  328. package/.next/static/chunks/app/api/health/route-eacef2b697bd0982.js +1 -0
  329. package/.next/static/chunks/app/api/locks/acquire/route-eacef2b697bd0982.js +1 -0
  330. package/.next/static/chunks/app/api/models/progress/route-eacef2b697bd0982.js +1 -0
  331. package/.next/static/chunks/app/api/passkey/authenticate/options/route-eacef2b697bd0982.js +1 -0
  332. package/.next/static/chunks/app/api/passkey/authenticate/verify/route-eacef2b697bd0982.js +1 -0
  333. package/.next/static/chunks/app/api/passkey/register/options/route-eacef2b697bd0982.js +1 -0
  334. package/.next/static/chunks/app/api/passkey/register/verify/route-eacef2b697bd0982.js +1 -0
  335. package/.next/static/chunks/app/api/stream/route-eacef2b697bd0982.js +1 -0
  336. package/.next/static/chunks/app/api/sync/file/route-eacef2b697bd0982.js +1 -0
  337. package/.next/static/chunks/app/api/telegram/poll/route-eacef2b697bd0982.js +1 -0
  338. package/.next/static/chunks/app/api/upload/route-eacef2b697bd0982.js +1 -0
  339. package/.next/static/chunks/app/api/v1/[[...path]]/route-eacef2b697bd0982.js +1 -0
  340. package/.next/static/chunks/app/error-09899a13c38b6e89.js +1 -0
  341. package/.next/static/chunks/app/global-error-c2ea8fef715f226d.js +1 -0
  342. package/.next/static/chunks/app/layout-e6008e66aea1a849.js +1 -0
  343. package/.next/static/chunks/framework-4b2c6b6043dd203f.js +1 -0
  344. package/.next/static/chunks/main-722e16032e7764d1.js +5 -0
  345. package/.next/static/chunks/main-app-761880af2b6f1962.js +1 -0
  346. package/.next/static/chunks/next/dist/client/components/builtin/app-error-eacef2b697bd0982.js +1 -0
  347. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-eacef2b697bd0982.js +1 -0
  348. package/.next/static/chunks/next/dist/client/components/builtin/not-found-eacef2b697bd0982.js +1 -0
  349. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-eacef2b697bd0982.js +1 -0
  350. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  351. package/.next/static/chunks/webpack-222e3894b78c67db.js +1 -0
  352. package/.next/static/css/e7b568809d5d9c72.css +1 -0
  353. package/.next/trace-build +1 -0
  354. package/.next/types/app/(app)/activity/page.ts +87 -0
  355. package/.next/types/app/(app)/agents/[handle]/page.ts +87 -0
  356. package/.next/types/app/(app)/code/page.ts +87 -0
  357. package/.next/types/app/(app)/config/page.ts +87 -0
  358. package/.next/types/app/(app)/costs/page.ts +87 -0
  359. package/.next/types/app/(app)/cron/page.ts +87 -0
  360. package/.next/types/app/(app)/dashboard/page.ts +87 -0
  361. package/.next/types/app/(app)/design/page.ts +87 -0
  362. package/.next/types/app/(app)/docs/[id]/page.ts +87 -0
  363. package/.next/types/app/(app)/docs/page.ts +87 -0
  364. package/.next/types/app/(app)/github/page.ts +87 -0
  365. package/.next/types/app/(app)/goals/page.ts +87 -0
  366. package/.next/types/app/(app)/inbox/page.ts +87 -0
  367. package/.next/types/app/(app)/knowledge/page.ts +87 -0
  368. package/.next/types/app/(app)/models/page.ts +87 -0
  369. package/.next/types/app/(app)/notifications/page.ts +87 -0
  370. package/.next/types/app/(app)/org/page.ts +87 -0
  371. package/.next/types/app/(app)/organizations/page.ts +87 -0
  372. package/.next/types/app/(app)/page.ts +87 -0
  373. package/.next/types/app/(app)/planner/page.ts +87 -0
  374. package/.next/types/app/(app)/plugins/page.ts +87 -0
  375. package/.next/types/app/(app)/pm/page.ts +87 -0
  376. package/.next/types/app/(app)/prepare-deploy/page.ts +87 -0
  377. package/.next/types/app/(app)/profile/page.ts +87 -0
  378. package/.next/types/app/(app)/pulse/page.ts +87 -0
  379. package/.next/types/app/(app)/reports/[id]/page.ts +87 -0
  380. package/.next/types/app/(app)/reports/page.ts +87 -0
  381. package/.next/types/app/(app)/routines/page.ts +87 -0
  382. package/.next/types/app/(app)/search/page.ts +87 -0
  383. package/.next/types/app/(app)/security/page.ts +87 -0
  384. package/.next/types/app/(app)/skills/page.ts +87 -0
  385. package/.next/types/app/(app)/tasks/page.ts +87 -0
  386. package/.next/types/app/(app)/test-dev/page.ts +87 -0
  387. package/.next/types/app/(app)/update/page.ts +87 -0
  388. package/.next/types/app/(auth)/login/page.ts +87 -0
  389. package/.next/types/app/(auth)/onboarding/page.ts +87 -0
  390. package/.next/types/app/api/auth/[...all]/route.ts +351 -0
  391. package/.next/types/app/api/cron/tick/route.ts +351 -0
  392. package/.next/types/app/api/health/route.ts +351 -0
  393. package/.next/types/app/api/locks/acquire/route.ts +351 -0
  394. package/.next/types/app/api/models/progress/route.ts +351 -0
  395. package/.next/types/app/api/passkey/authenticate/options/route.ts +351 -0
  396. package/.next/types/app/api/passkey/authenticate/verify/route.ts +351 -0
  397. package/.next/types/app/api/passkey/register/options/route.ts +351 -0
  398. package/.next/types/app/api/passkey/register/verify/route.ts +351 -0
  399. package/.next/types/app/api/stream/route.ts +351 -0
  400. package/.next/types/app/api/sync/file/route.ts +351 -0
  401. package/.next/types/app/api/telegram/poll/route.ts +351 -0
  402. package/.next/types/app/api/upload/route.ts +351 -0
  403. package/.next/types/app/api/v1/[[...path]]/route.ts +351 -0
  404. package/.next/types/cache-life.d.ts +145 -0
  405. package/.next/types/link.d.ts +211 -0
  406. package/.next/types/package.json +1 -0
  407. package/.next/types/routes.d.ts +121 -0
  408. package/.next/types/validator.ts +520 -0
  409. package/CHANGELOG.md +1084 -0
  410. package/LICENSE +21 -0
  411. package/README.md +477 -0
  412. package/README.pt-BR.md +487 -0
  413. package/bin/constella-update.mjs +131 -0
  414. package/bin/constella.mjs +455 -0
  415. package/bin/guard-hook.mjs +44 -0
  416. package/bin/lock-hook.mjs +49 -0
  417. package/bin/worker.mjs +142 -0
  418. package/docs/UPDATE.md +150 -0
  419. package/docs/assets/arch-orbit.svg +56 -0
  420. package/docs/assets/blackhole.svg +37 -0
  421. package/docs/assets/divider-orbit.svg +23 -0
  422. package/docs/assets/hero-constella.svg +72 -0
  423. package/docs/assets/screens/ceo-planner-specs.png +0 -0
  424. package/docs/assets/screens/ceo-planner.png +0 -0
  425. package/docs/assets/screens/dashboard.png +0 -0
  426. package/docs/assets/screens/design.png +0 -0
  427. package/docs/assets/screens/home.png +0 -0
  428. package/docs/assets/screens/knowledge-blocks.png +0 -0
  429. package/docs/assets/screens/knowledge.png +0 -0
  430. package/docs/assets/screens/models.png +0 -0
  431. package/docs/assets/screens/skills.png +0 -0
  432. package/docs/assets/screens/telegram.png +0 -0
  433. package/docs/en/AGENTS.md +279 -0
  434. package/docs/en/AI_ARCHITECTURE.md +373 -0
  435. package/docs/en/ARCHITECTURE.md +334 -0
  436. package/docs/en/CHAT_COMMANDS.md +305 -0
  437. package/docs/en/CONFIGURATION.md +340 -0
  438. package/docs/en/DEPLOY.md +341 -0
  439. package/docs/en/DESIGN.md +214 -0
  440. package/docs/en/DM.md +297 -0
  441. package/docs/en/FAQ.md +259 -0
  442. package/docs/en/GITHUB.md +341 -0
  443. package/docs/en/GOALS_SPECS_ISSUES.md +303 -0
  444. package/docs/en/INBOX.md +340 -0
  445. package/docs/en/INSTALLATION.md +374 -0
  446. package/docs/en/KB_AGENT.md +305 -0
  447. package/docs/en/KB_RAG.md +356 -0
  448. package/docs/en/MCP.md +313 -0
  449. package/docs/en/MEMORY_RAG.md +289 -0
  450. package/docs/en/MODELS.md +341 -0
  451. package/docs/en/ONBOARDING.md +327 -0
  452. package/docs/en/OPERATIONS.md +212 -0
  453. package/docs/en/PLUGINS.md +290 -0
  454. package/docs/en/PORTABLE_MODE.md +391 -0
  455. package/docs/en/PO_AGENT.md +379 -0
  456. package/docs/en/PREPARE_DEPLOY.md +308 -0
  457. package/docs/en/PROJECT_STACKS.md +258 -0
  458. package/docs/en/PUBLIC_API.md +315 -0
  459. package/docs/en/PUBLISHING.md +343 -0
  460. package/docs/en/README.md +98 -0
  461. package/docs/en/RELEASE_SMOKE.md +92 -0
  462. package/docs/en/SECURITY.md +280 -0
  463. package/docs/en/SKILLS.md +349 -0
  464. package/docs/en/START_MODE.md +285 -0
  465. package/docs/en/SYNCED_BLOCKS.md +320 -0
  466. package/docs/en/TEAM_ROOM.md +285 -0
  467. package/docs/en/TELEGRAM.md +294 -0
  468. package/docs/en/TEST_DEV.md +324 -0
  469. package/docs/en/TROUBLESHOOTING.md +294 -0
  470. package/docs/en/UPDATE.md +320 -0
  471. package/docs/en/VPS_MODE.md +405 -0
  472. package/docs/en/WORKFLOW.md +321 -0
  473. package/docs/pt/AGENTS.md +279 -0
  474. package/docs/pt/AI_ARCHITECTURE.md +373 -0
  475. package/docs/pt/ARCHITECTURE.md +334 -0
  476. package/docs/pt/CHAT_COMMANDS.md +307 -0
  477. package/docs/pt/CONFIGURATION.md +340 -0
  478. package/docs/pt/DEPLOY.md +341 -0
  479. package/docs/pt/DESIGN.md +215 -0
  480. package/docs/pt/DM.md +297 -0
  481. package/docs/pt/FAQ.md +259 -0
  482. package/docs/pt/GITHUB.md +341 -0
  483. package/docs/pt/GOALS_SPECS_ISSUES.md +303 -0
  484. package/docs/pt/INBOX.md +340 -0
  485. package/docs/pt/INSTALLATION.md +374 -0
  486. package/docs/pt/KB_AGENT.md +305 -0
  487. package/docs/pt/KB_RAG.md +356 -0
  488. package/docs/pt/MCP.md +313 -0
  489. package/docs/pt/MEMORY_RAG.md +289 -0
  490. package/docs/pt/MODELS.md +341 -0
  491. package/docs/pt/ONBOARDING.md +327 -0
  492. package/docs/pt/OPERATIONS.md +211 -0
  493. package/docs/pt/PLUGINS.md +290 -0
  494. package/docs/pt/PORTABLE_MODE.md +391 -0
  495. package/docs/pt/PO_AGENT.md +379 -0
  496. package/docs/pt/PREPARE_DEPLOY.md +308 -0
  497. package/docs/pt/PROJECT_STACKS.md +258 -0
  498. package/docs/pt/PUBLIC_API.md +315 -0
  499. package/docs/pt/PUBLISHING.md +343 -0
  500. package/docs/pt/README.md +98 -0
  501. package/docs/pt/RELEASE_SMOKE.md +94 -0
  502. package/docs/pt/SECURITY.md +280 -0
  503. package/docs/pt/SKILLS.md +349 -0
  504. package/docs/pt/START_MODE.md +284 -0
  505. package/docs/pt/SYNCED_BLOCKS.md +320 -0
  506. package/docs/pt/TEAM_ROOM.md +285 -0
  507. package/docs/pt/TELEGRAM.md +294 -0
  508. package/docs/pt/TEST_DEV.md +324 -0
  509. package/docs/pt/TROUBLESHOOTING.md +294 -0
  510. package/docs/pt/UPDATE.md +320 -0
  511. package/docs/pt/VPS_MODE.md +405 -0
  512. package/docs/pt/WORKFLOW.md +321 -0
  513. package/drizzle/0000_regular_nightshade.sql +644 -0
  514. package/drizzle/0001_mixed_zombie.sql +106 -0
  515. package/drizzle/0002_flimsy_kree.sql +48 -0
  516. package/drizzle/meta/0000_snapshot.json +4650 -0
  517. package/drizzle/meta/0001_snapshot.json +5418 -0
  518. package/drizzle/meta/0002_snapshot.json +5753 -0
  519. package/drizzle/meta/_journal.json +27 -0
  520. package/drizzle.config.mjs +16 -0
  521. package/next.config.mjs +21 -0
  522. package/package.json +139 -0
  523. package/scripts/clean-repo.mjs +20 -0
  524. package/scripts/dev-all.mjs +46 -0
  525. package/scripts/i18n-parity.mjs +57 -0
  526. package/scripts/install.sh +97 -0
  527. package/scripts/mcp-server.mjs +100 -0
  528. package/scripts/postbuild.mjs +11 -0
  529. package/scripts/postinstall.mjs +14 -0
  530. package/scripts/publish-public.mjs +116 -0
  531. package/scripts/smoke-login.mjs +138 -0
  532. package/scripts/start-all.mjs +45 -0
  533. package/scripts/trim-next.mjs +23 -0
  534. package/scripts/vps-clean.sh +66 -0
  535. package/scripts/vps-install.sh +84 -0
  536. package/scripts/vps-update.sh +28 -0
  537. package/skills/CONTRIBUTING.md +122 -0
  538. package/skills/COVERAGE.md +129 -0
  539. package/skills/INDEX.json +3443 -0
  540. package/skills/README.md +57 -0
  541. package/skills/design/agentic/DESIGN.md +55 -0
  542. package/skills/design/agentic/SKILL.md +89 -0
  543. package/skills/design/ai-audio-collection-playbook/SKILL.md +48 -0
  544. package/skills/design/algorithmic-art/LICENSE.txt +202 -0
  545. package/skills/design/algorithmic-art/SKILL.md +405 -0
  546. package/skills/design/algorithmic-art/templates/generator_template.js +223 -0
  547. package/skills/design/algorithmic-art/templates/viewer.html +599 -0
  548. package/skills/design/animation-motion/SKILL.md +60 -0
  549. package/skills/design/answers-surface-playbook/SKILL.md +102 -0
  550. package/skills/design/answers-surface-playbook/example.html +517 -0
  551. package/skills/design/ant/DESIGN.md +55 -0
  552. package/skills/design/ant/SKILL.md +89 -0
  553. package/skills/design/apple-interface-guidelines-playbook/SKILL.md +48 -0
  554. package/skills/design/application/DESIGN.md +55 -0
  555. package/skills/design/application/SKILL.md +84 -0
  556. package/skills/design/artistic/DESIGN.md +55 -0
  557. package/skills/design/artistic/SKILL.md +89 -0
  558. package/skills/design/bento/DESIGN.md +55 -0
  559. package/skills/design/bento/SKILL.md +83 -0
  560. package/skills/design/bold/DESIGN.md +55 -0
  561. package/skills/design/bold/SKILL.md +83 -0
  562. package/skills/design/brand-guidelines/LICENSE.txt +202 -0
  563. package/skills/design/brand-guidelines/SKILL.md +73 -0
  564. package/skills/design/brutalism/DESIGN.md +55 -0
  565. package/skills/design/brutalism/SKILL.md +97 -0
  566. package/skills/design/cafe/DESIGN.md +55 -0
  567. package/skills/design/cafe/SKILL.md +83 -0
  568. package/skills/design/campaign-concept-playbook/SKILL.md +48 -0
  569. package/skills/design/capture-playbook/SKILL.md +48 -0
  570. package/skills/design/captures-growth-playbook/SKILL.md +48 -0
  571. package/skills/design/claude/DESIGN.md +55 -0
  572. package/skills/design/claude/SKILL.md +81 -0
  573. package/skills/design/claymorphism/DESIGN.md +55 -0
  574. package/skills/design/claymorphism/SKILL.md +84 -0
  575. package/skills/design/clean/DESIGN.md +55 -0
  576. package/skills/design/clean/SKILL.md +84 -0
  577. package/skills/design/codex/DESIGN.md +55 -0
  578. package/skills/design/codex/SKILL.md +81 -0
  579. package/skills/design/color-and-typography/SKILL.md +60 -0
  580. package/skills/design/colorful/DESIGN.md +55 -0
  581. package/skills/design/colorful/SKILL.md +82 -0
  582. package/skills/design/commerce-visual-flow-playbook/SKILL.md +281 -0
  583. package/skills/design/commerce-visual-flow-playbook/example.html +504 -0
  584. package/skills/design/commerce-visual-flow-quality-gate/SKILL.md +78 -0
  585. package/skills/design/commerce-visual-flow-quality-gate/example.html +504 -0
  586. package/skills/design/composition-advisory-playbook/SKILL.md +48 -0
  587. package/skills/design/composition-audit-playbook/SKILL.md +48 -0
  588. package/skills/design/composition-markdown-playbook/SKILL.md +48 -0
  589. package/skills/design/composition-prompt-playbook/SKILL.md +234 -0
  590. package/skills/design/composition-taste-interface-playbook/LICENSE +21 -0
  591. package/skills/design/composition-taste-interface-playbook/SKILL.md +1222 -0
  592. package/skills/design/composition-taste-interface-v1-playbook/LICENSE +21 -0
  593. package/skills/design/composition-taste-interface-v1-playbook/SKILL.md +242 -0
  594. package/skills/design/concept-lead-playbook/SKILL.md +73 -0
  595. package/skills/design/constella-design/SKILL.md +97 -0
  596. package/skills/design/contemporary/DESIGN.md +55 -0
  597. package/skills/design/contemporary/SKILL.md +83 -0
  598. package/skills/design/corporate/DESIGN.md +55 -0
  599. package/skills/design/corporate/SKILL.md +89 -0
  600. package/skills/design/cosmic/DESIGN.md +55 -0
  601. package/skills/design/cosmic/SKILL.md +83 -0
  602. package/skills/design/creative/DESIGN.md +55 -0
  603. package/skills/design/creative/SKILL.md +83 -0
  604. package/skills/design/css-techniques/SKILL.md +58 -0
  605. package/skills/design/d3-visualization-playbook/SKILL.md +56 -0
  606. package/skills/design/dashboard/DESIGN.md +55 -0
  607. package/skills/design/dashboard/SKILL.md +89 -0
  608. package/skills/design/deliverables-assembler-playbook/SKILL.md +48 -0
  609. package/skills/design/delivery-save-diagnostics-playbook/SKILL.md +69 -0
  610. package/skills/design/design-systems/SKILL.md +60 -0
  611. package/skills/design/dithered/DESIGN.md +55 -0
  612. package/skills/design/dithered/SKILL.md +87 -0
  613. package/skills/design/document-paper-scroll-playbook/SKILL.md +54 -0
  614. package/skills/design/document-paper-scroll-playbook/example.html +84 -0
  615. package/skills/design/document-paper-scroll-sample-worked-sample/SKILL.md +45 -0
  616. package/skills/design/document-paper-scroll-sample-worked-sample/example.html +84 -0
  617. package/skills/design/document-playbook/SKILL.md +48 -0
  618. package/skills/design/doodle/DESIGN.md +55 -0
  619. package/skills/design/doodle/SKILL.md +97 -0
  620. package/skills/design/dramatic/DESIGN.md +55 -0
  621. package/skills/design/dramatic/SKILL.md +83 -0
  622. package/skills/design/editorial/DESIGN.md +55 -0
  623. package/skills/design/editorial/SKILL.md +86 -0
  624. package/skills/design/eight-bit-orbital-motion-blueprint/SKILL.md +58 -0
  625. package/skills/design/eight-bit-orbital-motion-blueprint/assets/template.html +506 -0
  626. package/skills/design/eight-bit-orbital-motion-blueprint/example.html +43 -0
  627. package/skills/design/eight-bit-orbital-motion-blueprint-quality-gate/SKILL.md +40 -0
  628. package/skills/design/eight-bit-orbital-motion-blueprint-quality-gate/assets/template.html +506 -0
  629. package/skills/design/eight-bit-orbital-motion-blueprint-quality-gate/example.html +43 -0
  630. package/skills/design/elegant/DESIGN.md +55 -0
  631. package/skills/design/elegant/SKILL.md +83 -0
  632. package/skills/design/energetic/DESIGN.md +51 -0
  633. package/skills/design/energetic/SKILL.md +86 -0
  634. package/skills/design/enterprise/DESIGN.md +55 -0
  635. package/skills/design/enterprise/SKILL.md +88 -0
  636. package/skills/design/expressive/DESIGN.md +55 -0
  637. package/skills/design/expressive/SKILL.md +83 -0
  638. package/skills/design/fal-3d-playbook/SKILL.md +48 -0
  639. package/skills/design/fal-compose-playbook/SKILL.md +48 -0
  640. package/skills/design/fal-enhance-playbook/SKILL.md +48 -0
  641. package/skills/design/fal-kling-o3-playbook/SKILL.md +48 -0
  642. package/skills/design/fal-lip-sync-playbook/SKILL.md +48 -0
  643. package/skills/design/fal-live-playbook/SKILL.md +48 -0
  644. package/skills/design/fal-motion-edit-playbook/SKILL.md +48 -0
  645. package/skills/design/fal-repair-playbook/SKILL.md +48 -0
  646. package/skills/design/fal-train-playbook/SKILL.md +48 -0
  647. package/skills/design/fal-tryon-playbook/SKILL.md +48 -0
  648. package/skills/design/fal-vision-playbook/SKILL.md +48 -0
  649. package/skills/design/fal-visual-edit-playbook/SKILL.md +48 -0
  650. package/skills/design/fantasy/DESIGN.md +55 -0
  651. package/skills/design/fantasy/SKILL.md +83 -0
  652. package/skills/design/fiction/DESIGN.md +55 -0
  653. package/skills/design/fiction/SKILL.md +81 -0
  654. package/skills/design/field-journal-magazine-blueprint/SKILL.md +61 -0
  655. package/skills/design/field-journal-magazine-blueprint/assets/template.html +287 -0
  656. package/skills/design/field-journal-magazine-blueprint/example.html +138 -0
  657. package/skills/design/field-journal-magazine-blueprint-quality-gate/SKILL.md +47 -0
  658. package/skills/design/field-journal-magazine-blueprint-quality-gate/assets/template.html +287 -0
  659. package/skills/design/field-journal-magazine-blueprint-quality-gate/example.html +138 -0
  660. package/skills/design/figma-author-composition-system-rules-playbook/SKILL.md +48 -0
  661. package/skills/design/figma-author-fresh-file-playbook/SKILL.md +48 -0
  662. package/skills/design/figma-build-composition-playbook/SKILL.md +48 -0
  663. package/skills/design/figma-code-bridge-parts-playbook/SKILL.md +48 -0
  664. package/skills/design/figma-compose-composition-playbook/SKILL.md +48 -0
  665. package/skills/design/figma-compose-library-playbook/SKILL.md +48 -0
  666. package/skills/design/figma-operator-playbook/SKILL.md +48 -0
  667. package/skills/design/flat/DESIGN.md +55 -0
  668. package/skills/design/flat/SKILL.md +101 -0
  669. package/skills/design/flutter-motion-apps-playbook/SKILL.md +48 -0
  670. package/skills/design/friendly/DESIGN.md +55 -0
  671. package/skills/design/friendly/SKILL.md +83 -0
  672. package/skills/design/full-delivery-enforcement-playbook/LICENSE +21 -0
  673. package/skills/design/full-delivery-enforcement-playbook/SKILL.md +65 -0
  674. package/skills/design/full-surface-capture-playbook/SKILL.md +48 -0
  675. package/skills/design/futuristic/DESIGN.md +55 -0
  676. package/skills/design/futuristic/SKILL.md +83 -0
  677. package/skills/design/generative-visuals-playbook/SKILL.md +48 -0
  678. package/skills/design/gif-sticker-maker-playbook/SKILL.md +48 -0
  679. package/skills/design/glassmorphism/DESIGN.md +55 -0
  680. package/skills/design/glassmorphism/SKILL.md +86 -0
  681. package/skills/design/gpt-taste-playbook/LICENSE +21 -0
  682. package/skills/design/gpt-taste-playbook/SKILL.md +91 -0
  683. package/skills/design/gradient/DESIGN.md +55 -0
  684. package/skills/design/gradient/SKILL.md +83 -0
  685. package/skills/design/gradients/SKILL.md +59 -0
  686. package/skills/design/graphic-design-basics/SKILL.md +55 -0
  687. package/skills/design/grid-concept-mode-blueprint/SKILL.md +62 -0
  688. package/skills/design/grid-concept-mode-blueprint/assets/template.html +375 -0
  689. package/skills/design/grid-concept-mode-blueprint/example.html +70 -0
  690. package/skills/design/grid-concept-mode-blueprint-quality-gate/SKILL.md +52 -0
  691. package/skills/design/grid-concept-mode-blueprint-quality-gate/assets/template.html +375 -0
  692. package/skills/design/grid-concept-mode-blueprint-quality-gate/example.html +70 -0
  693. package/skills/design/grid-user-research-motion-blueprint/SKILL.md +63 -0
  694. package/skills/design/grid-user-research-motion-blueprint/assets/template.html +265 -0
  695. package/skills/design/grid-user-research-motion-blueprint/example.html +265 -0
  696. package/skills/design/grid-user-research-motion-blueprint-quality-gate/SKILL.md +43 -0
  697. package/skills/design/grid-user-research-motion-blueprint-quality-gate/assets/template.html +265 -0
  698. package/skills/design/grid-user-research-motion-blueprint-quality-gate/example.html +265 -0
  699. package/skills/design/growth-psychology-playbook/SKILL.md +48 -0
  700. package/skills/design/gsap-core-playbook/SKILL.md +271 -0
  701. package/skills/design/gsap-frameworks-playbook/SKILL.md +254 -0
  702. package/skills/design/gsap-plugins-playbook/SKILL.md +450 -0
  703. package/skills/design/gsap-react-playbook/SKILL.md +153 -0
  704. package/skills/design/gsap-scrolltrigger-playbook/SKILL.md +314 -0
  705. package/skills/design/gsap-speed-playbook/SKILL.md +96 -0
  706. package/skills/design/gsap-timeline-playbook/SKILL.md +124 -0
  707. package/skills/design/gsap-utilities-playbook/SKILL.md +301 -0
  708. package/skills/design/hand-sketched-diagrams-playbook/SKILL.md +48 -0
  709. package/skills/design/high-end-visual-composition-playbook/LICENSE +21 -0
  710. package/skills/design/high-end-visual-composition-playbook/SKILL.md +114 -0
  711. package/skills/design/html-slides-retro-quarterly-audit-playbook/SKILL.md +65 -0
  712. package/skills/design/html-slides-retro-quarterly-audit-playbook/assets/template.html +164 -0
  713. package/skills/design/html-slides-retro-quarterly-audit-playbook/example.html +139 -0
  714. package/skills/design/html-slides-retro-quarterly-audit-quality-gate/SKILL.md +42 -0
  715. package/skills/design/html-slides-retro-quarterly-audit-quality-gate/assets/template.html +164 -0
  716. package/skills/design/html-slides-retro-quarterly-audit-quality-gate/example.html +139 -0
  717. package/skills/design/ideation-playbook/SKILL.md +48 -0
  718. package/skills/design/identity-capture-playbook/SKILL.md +222 -0
  719. package/skills/design/identity-capture-playbook/templates/brand-kit.html +757 -0
  720. package/skills/design/identity-kit-playbook/LICENSE +21 -0
  721. package/skills/design/identity-kit-playbook/SKILL.md +814 -0
  722. package/skills/design/identity-standards-playbook/SKILL.md +48 -0
  723. package/skills/design/imagecraft-interface-mobile-playbook/LICENSE +21 -0
  724. package/skills/design/imagecraft-interface-mobile-playbook/SKILL.md +1482 -0
  725. package/skills/design/imagecraft-interface-web-playbook/LICENSE +21 -0
  726. package/skills/design/imagecraft-interface-web-playbook/SKILL.md +1003 -0
  727. package/skills/design/imagecraft-playbook/SKILL.md +48 -0
  728. package/skills/design/imagen-playbook/SKILL.md +48 -0
  729. package/skills/design/immersive/DESIGN.md +55 -0
  730. package/skills/design/immersive/SKILL.md +81 -0
  731. package/skills/design/impeccable/DESIGN.md +55 -0
  732. package/skills/design/impeccable/SKILL.md +81 -0
  733. package/skills/design/improve-prompt-playbook/SKILL.md +48 -0
  734. package/skills/design/industrial-raw-ui-playbook/LICENSE +21 -0
  735. package/skills/design/industrial-raw-ui-playbook/SKILL.md +108 -0
  736. package/skills/design/interface-builder-playbook/SKILL.md +48 -0
  737. package/skills/design/interface-composition-playbook/LICENSE.txt +177 -0
  738. package/skills/design/interface-composition-playbook/SKILL.md +80 -0
  739. package/skills/design/interface-playbook/SKILL.md +48 -0
  740. package/skills/design/interface-slides-playbook/SKILL.md +48 -0
  741. package/skills/design/late-hours-magazine-blueprint/SKILL.md +62 -0
  742. package/skills/design/late-hours-magazine-blueprint/assets/template.html +173 -0
  743. package/skills/design/late-hours-magazine-blueprint/example.html +12 -0
  744. package/skills/design/late-hours-magazine-blueprint-quality-gate/SKILL.md +44 -0
  745. package/skills/design/late-hours-magazine-blueprint-quality-gate/assets/template.html +173 -0
  746. package/skills/design/late-hours-magazine-blueprint-quality-gate/example.html +12 -0
  747. package/skills/design/levels/DESIGN.md +55 -0
  748. package/skills/design/levels/SKILL.md +83 -0
  749. package/skills/design/lingo/DESIGN.md +55 -0
  750. package/skills/design/lingo/SKILL.md +87 -0
  751. package/skills/design/luxury/DESIGN.md +55 -0
  752. package/skills/design/luxury/SKILL.md +83 -0
  753. package/skills/design/magazine-wine-rules-blueprint/SKILL.md +59 -0
  754. package/skills/design/magazine-wine-rules-blueprint/assets/template.html +94 -0
  755. package/skills/design/magazine-wine-rules-blueprint/example.html +49 -0
  756. package/skills/design/magazine-wine-rules-blueprint-quality-gate/SKILL.md +41 -0
  757. package/skills/design/magazine-wine-rules-blueprint-quality-gate/assets/template.html +94 -0
  758. package/skills/design/magazine-wine-rules-blueprint-quality-gate/example.html +49 -0
  759. package/skills/design/market-campaigns-extractor-playbook/SKILL.md +48 -0
  760. package/skills/design/material/DESIGN.md +55 -0
  761. package/skills/design/material/SKILL.md +97 -0
  762. package/skills/design/matrix/DESIGN.md +55 -0
  763. package/skills/design/matrix/SKILL.md +82 -0
  764. package/skills/design/messagecraft-playbook/SKILL.md +48 -0
  765. package/skills/design/metrics-brief-playbook/SKILL.md +33 -0
  766. package/skills/design/metrics-brief-playbook/example.html +175 -0
  767. package/skills/design/metrics-brief-sample-worked-sample/SKILL.md +37 -0
  768. package/skills/design/metrics-brief-sample-worked-sample/example.html +175 -0
  769. package/skills/design/microinteractions/SKILL.md +58 -0
  770. package/skills/design/minimal/DESIGN.md +55 -0
  771. package/skills/design/minimal/SKILL.md +83 -0
  772. package/skills/design/minimal-ui-playbook/LICENSE +21 -0
  773. package/skills/design/minimal-ui-playbook/SKILL.md +101 -0
  774. package/skills/design/minimax-pdf-playbook/SKILL.md +48 -0
  775. package/skills/design/minimax-word-playbook/SKILL.md +48 -0
  776. package/skills/design/mockup-device-3d-playbook/SKILL.md +49 -0
  777. package/skills/design/mockup-device-3d-playbook/example.html +193 -0
  778. package/skills/design/mockup-device-3d-sample-worked-sample/SKILL.md +34 -0
  779. package/skills/design/mockup-device-3d-sample-worked-sample/example.html +193 -0
  780. package/skills/design/modern/DESIGN.md +55 -0
  781. package/skills/design/modern/SKILL.md +83 -0
  782. package/skills/design/mono/DESIGN.md +55 -0
  783. package/skills/design/mono/SKILL.md +88 -0
  784. package/skills/design/motion-craft-motion-playbook/SKILL.md +52 -0
  785. package/skills/design/motion-hyperframes-playbook/SKILL.md +32 -0
  786. package/skills/design/motion-hyperframes-playbook/example.html +140 -0
  787. package/skills/design/motion-hyperframes-sample-worked-sample/SKILL.md +44 -0
  788. package/skills/design/motion-hyperframes-sample-worked-sample/example.html +140 -0
  789. package/skills/design/motion-retriever-playbook/SKILL.md +48 -0
  790. package/skills/design/naming-name-brainstormer-playbook/SKILL.md +48 -0
  791. package/skills/design/nanobanana-slides-playbook/SKILL.md +48 -0
  792. package/skills/design/neobrutalism/DESIGN.md +55 -0
  793. package/skills/design/neobrutalism/SKILL.md +83 -0
  794. package/skills/design/neon-style/DESIGN.md +55 -0
  795. package/skills/design/neon-style/SKILL.md +83 -0
  796. package/skills/design/neumorphism/DESIGN.md +55 -0
  797. package/skills/design/neumorphism/SKILL.md +88 -0
  798. package/skills/design/numbers-finance-grid-blueprint/SKILL.md +56 -0
  799. package/skills/design/numbers-finance-grid-blueprint/assets/template.html +111 -0
  800. package/skills/design/numbers-finance-grid-blueprint/example.html +44 -0
  801. package/skills/design/numbers-finance-grid-blueprint-quality-gate/SKILL.md +42 -0
  802. package/skills/design/numbers-finance-grid-blueprint-quality-gate/assets/template.html +111 -0
  803. package/skills/design/numbers-finance-grid-blueprint-quality-gate/example.html +44 -0
  804. package/skills/design/operator-navigator-playbook/SKILL.md +227 -0
  805. package/skills/design/operators-operator-journal-playbook/SKILL.md +73 -0
  806. package/skills/design/orientation-guide/SKILL.md +44 -0
  807. package/skills/design/pacman/DESIGN.md +55 -0
  808. package/skills/design/pacman/SKILL.md +84 -0
  809. package/skills/design/palette-advisor-playbook/SKILL.md +48 -0
  810. package/skills/design/paper/DESIGN.md +55 -0
  811. package/skills/design/paper/SKILL.md +83 -0
  812. package/skills/design/paywall-upgrade-conversion-playbook/SKILL.md +48 -0
  813. package/skills/design/pdf-playbook/SKILL.md +48 -0
  814. package/skills/design/perspective/DESIGN.md +55 -0
  815. package/skills/design/perspective/SKILL.md +83 -0
  816. package/skills/design/pet-companion-animation-rows-reference-guide/LICENSE.txt +201 -0
  817. package/skills/design/pet-companion-animation-rows-reference-guide/SKILL.md +48 -0
  818. package/skills/design/pet-companion-animation-rows-reference-guide/agents/openai.yaml +4 -0
  819. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/compose_atlas.py +150 -0
  820. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/derive_running_left_from_running_right.py +143 -0
  821. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/extract_strip_frames.py +323 -0
  822. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/finalize_pet_run.py +382 -0
  823. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/generate_pet_images.py +295 -0
  824. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/inspect_frames.py +246 -0
  825. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/make_contact_sheet.py +96 -0
  826. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/package_custom_pet.py +108 -0
  827. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/pet_job_status.py +117 -0
  828. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/prepare_pet_run.py +674 -0
  829. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/queue_pet_repairs.py +172 -0
  830. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/record_imagegen_result.py +250 -0
  831. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/render_animation_videos.py +134 -0
  832. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/render_animation_videos.sh +5 -0
  833. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/test_generate_pet_images.py +136 -0
  834. package/skills/design/pet-companion-animation-rows-reference-guide/scripts/validate_atlas.py +139 -0
  835. package/skills/design/pet-companion-codex-companion-contract-reference-guide/LICENSE.txt +201 -0
  836. package/skills/design/pet-companion-codex-companion-contract-reference-guide/SKILL.md +54 -0
  837. package/skills/design/pet-companion-codex-companion-contract-reference-guide/agents/openai.yaml +4 -0
  838. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/compose_atlas.py +150 -0
  839. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/derive_running_left_from_running_right.py +143 -0
  840. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/extract_strip_frames.py +323 -0
  841. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/finalize_pet_run.py +382 -0
  842. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/generate_pet_images.py +295 -0
  843. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/inspect_frames.py +246 -0
  844. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/make_contact_sheet.py +96 -0
  845. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/package_custom_pet.py +108 -0
  846. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/pet_job_status.py +117 -0
  847. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/prepare_pet_run.py +674 -0
  848. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/queue_pet_repairs.py +172 -0
  849. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/record_imagegen_result.py +250 -0
  850. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/render_animation_videos.py +134 -0
  851. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/render_animation_videos.sh +5 -0
  852. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/test_generate_pet_images.py +136 -0
  853. package/skills/design/pet-companion-codex-companion-contract-reference-guide/scripts/validate_atlas.py +139 -0
  854. package/skills/design/pet-companion-orientation-guide/LICENSE.txt +201 -0
  855. package/skills/design/pet-companion-orientation-guide/SKILL.md +75 -0
  856. package/skills/design/pet-companion-orientation-guide/agents/openai.yaml +4 -0
  857. package/skills/design/pet-companion-orientation-guide/scripts/compose_atlas.py +150 -0
  858. package/skills/design/pet-companion-orientation-guide/scripts/derive_running_left_from_running_right.py +143 -0
  859. package/skills/design/pet-companion-orientation-guide/scripts/extract_strip_frames.py +323 -0
  860. package/skills/design/pet-companion-orientation-guide/scripts/finalize_pet_run.py +382 -0
  861. package/skills/design/pet-companion-orientation-guide/scripts/generate_pet_images.py +295 -0
  862. package/skills/design/pet-companion-orientation-guide/scripts/inspect_frames.py +246 -0
  863. package/skills/design/pet-companion-orientation-guide/scripts/make_contact_sheet.py +96 -0
  864. package/skills/design/pet-companion-orientation-guide/scripts/package_custom_pet.py +108 -0
  865. package/skills/design/pet-companion-orientation-guide/scripts/pet_job_status.py +117 -0
  866. package/skills/design/pet-companion-orientation-guide/scripts/prepare_pet_run.py +674 -0
  867. package/skills/design/pet-companion-orientation-guide/scripts/queue_pet_repairs.py +172 -0
  868. package/skills/design/pet-companion-orientation-guide/scripts/record_imagegen_result.py +250 -0
  869. package/skills/design/pet-companion-orientation-guide/scripts/render_animation_videos.py +134 -0
  870. package/skills/design/pet-companion-orientation-guide/scripts/render_animation_videos.sh +5 -0
  871. package/skills/design/pet-companion-orientation-guide/scripts/test_generate_pet_images.py +136 -0
  872. package/skills/design/pet-companion-orientation-guide/scripts/validate_atlas.py +139 -0
  873. package/skills/design/pet-companion-playbook/LICENSE.txt +201 -0
  874. package/skills/design/pet-companion-playbook/SKILL.md +344 -0
  875. package/skills/design/pet-companion-playbook/agents/openai.yaml +4 -0
  876. package/skills/design/pet-companion-playbook/scripts/compose_atlas.py +150 -0
  877. package/skills/design/pet-companion-playbook/scripts/derive_running_left_from_running_right.py +143 -0
  878. package/skills/design/pet-companion-playbook/scripts/extract_strip_frames.py +323 -0
  879. package/skills/design/pet-companion-playbook/scripts/finalize_pet_run.py +382 -0
  880. package/skills/design/pet-companion-playbook/scripts/generate_pet_images.py +295 -0
  881. package/skills/design/pet-companion-playbook/scripts/inspect_frames.py +246 -0
  882. package/skills/design/pet-companion-playbook/scripts/make_contact_sheet.py +96 -0
  883. package/skills/design/pet-companion-playbook/scripts/package_custom_pet.py +108 -0
  884. package/skills/design/pet-companion-playbook/scripts/pet_job_status.py +117 -0
  885. package/skills/design/pet-companion-playbook/scripts/prepare_pet_run.py +674 -0
  886. package/skills/design/pet-companion-playbook/scripts/queue_pet_repairs.py +172 -0
  887. package/skills/design/pet-companion-playbook/scripts/record_imagegen_result.py +250 -0
  888. package/skills/design/pet-companion-playbook/scripts/render_animation_videos.py +134 -0
  889. package/skills/design/pet-companion-playbook/scripts/render_animation_videos.sh +5 -0
  890. package/skills/design/pet-companion-playbook/scripts/test_generate_pet_images.py +136 -0
  891. package/skills/design/pet-companion-playbook/scripts/validate_atlas.py +139 -0
  892. package/skills/design/pet-companion-qa-rubric-reference-guide/LICENSE.txt +201 -0
  893. package/skills/design/pet-companion-qa-rubric-reference-guide/SKILL.md +79 -0
  894. package/skills/design/pet-companion-qa-rubric-reference-guide/agents/openai.yaml +4 -0
  895. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/compose_atlas.py +150 -0
  896. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/derive_running_left_from_running_right.py +143 -0
  897. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/extract_strip_frames.py +323 -0
  898. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/finalize_pet_run.py +382 -0
  899. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/generate_pet_images.py +295 -0
  900. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/inspect_frames.py +246 -0
  901. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/make_contact_sheet.py +96 -0
  902. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/package_custom_pet.py +108 -0
  903. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/pet_job_status.py +117 -0
  904. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/prepare_pet_run.py +674 -0
  905. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/queue_pet_repairs.py +172 -0
  906. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/record_imagegen_result.py +250 -0
  907. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/render_animation_videos.py +134 -0
  908. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/render_animation_videos.sh +5 -0
  909. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/test_generate_pet_images.py +136 -0
  910. package/skills/design/pet-companion-qa-rubric-reference-guide/scripts/validate_atlas.py +139 -0
  911. package/skills/design/pixelbin-media-playbook/SKILL.md +48 -0
  912. package/skills/design/planning-composition-audit-playbook/SKILL.md +48 -0
  913. package/skills/design/platform-composition-playbook/SKILL.md +48 -0
  914. package/skills/design/polish-composition-finish-playbook/SKILL.md +54 -0
  915. package/skills/design/poster-hero-playbook/SKILL.md +31 -0
  916. package/skills/design/poster-hero-playbook/example.html +88 -0
  917. package/skills/design/poster-hero-sample-worked-sample/SKILL.md +32 -0
  918. package/skills/design/poster-hero-sample-worked-sample/example.html +88 -0
  919. package/skills/design/pr-feedback-quality-gate/SKILL.md +57 -0
  920. package/skills/design/premium/DESIGN.md +55 -0
  921. package/skills/design/premium/SKILL.md +83 -0
  922. package/skills/design/presentation-composer-playbook/SKILL.md +48 -0
  923. package/skills/design/presentation-html-fidelity-audit-font-discipline-aa2caa/SKILL.md +382 -0
  924. package/skills/design/presentation-html-fidelity-audit-font-discipline-aa2caa/scripts/extract_pptx.py +134 -0
  925. package/skills/design/presentation-html-fidelity-audit-font-discipline-aa2caa/scripts/verify_layout.py +144 -0
  926. package/skills/design/presentation-html-fidelity-audit-layout-discipline-d5a323/SKILL.md +390 -0
  927. package/skills/design/presentation-html-fidelity-audit-layout-discipline-d5a323/scripts/extract_pptx.py +134 -0
  928. package/skills/design/presentation-html-fidelity-audit-layout-discipline-d5a323/scripts/verify_layout.py +144 -0
  929. package/skills/design/presentation-html-fidelity-audit-playbook/SKILL.md +257 -0
  930. package/skills/design/presentation-html-fidelity-audit-playbook/scripts/extract_pptx.py +134 -0
  931. package/skills/design/presentation-html-fidelity-audit-playbook/scripts/verify_layout.py +144 -0
  932. package/skills/design/presentation-html-fidelity-audit-table-blueprint-1ad2ac/SKILL.md +77 -0
  933. package/skills/design/presentation-html-fidelity-audit-table-blueprint-1ad2ac/scripts/extract_pptx.py +134 -0
  934. package/skills/design/presentation-html-fidelity-audit-table-blueprint-1ad2ac/scripts/verify_layout.py +144 -0
  935. package/skills/design/presentation-playbook/SKILL.md +48 -0
  936. package/skills/design/professional/DESIGN.md +55 -0
  937. package/skills/design/professional/SKILL.md +83 -0
  938. package/skills/design/publication/DESIGN.md +55 -0
  939. package/skills/design/publication/SKILL.md +89 -0
  940. package/skills/design/reading-year-in-audit-motion-blueprint/SKILL.md +76 -0
  941. package/skills/design/reading-year-in-audit-motion-blueprint/assets/template.html +714 -0
  942. package/skills/design/reading-year-in-audit-motion-blueprint/example.html +63 -0
  943. package/skills/design/reading-year-in-audit-motion-blueprint-quality-gate/SKILL.md +45 -0
  944. package/skills/design/reading-year-in-audit-motion-blueprint-quality-gate/assets/template.html +714 -0
  945. package/skills/design/reading-year-in-audit-motion-blueprint-quality-gate/example.html +63 -0
  946. package/skills/design/reference-composition-contract-playbook/SKILL.md +97 -0
  947. package/skills/design/reference-composition-contract-playbook/example.html +236 -0
  948. package/skills/design/reference-composition-contract-quality-gate/SKILL.md +45 -0
  949. package/skills/design/reference-composition-contract-quality-gate/example.html +236 -0
  950. package/skills/design/refined/DESIGN.md +55 -0
  951. package/skills/design/refined/SKILL.md +83 -0
  952. package/skills/design/refresh-existing-projects-playbook/LICENSE +21 -0
  953. package/skills/design/refresh-existing-projects-playbook/SKILL.md +194 -0
  954. package/skills/design/release-journal-single-page-layouts-reference-guide/SKILL.md +318 -0
  955. package/skills/design/release-journal-single-page-layouts-reference-guide/assets/template.html +342 -0
  956. package/skills/design/release-journal-single-page-layouts-reference-guide/example.html +156 -0
  957. package/skills/design/release-journal-single-page-playbook/SKILL.md +100 -0
  958. package/skills/design/release-journal-single-page-playbook/assets/template.html +342 -0
  959. package/skills/design/release-journal-single-page-playbook/example.html +156 -0
  960. package/skills/design/release-journal-single-page-quality-gate/SKILL.md +60 -0
  961. package/skills/design/release-journal-single-page-quality-gate/assets/template.html +342 -0
  962. package/skills/design/release-journal-single-page-quality-gate/example.html +156 -0
  963. package/skills/design/remotion-playbook/SKILL.md +48 -0
  964. package/skills/design/replicate-playbook/SKILL.md +48 -0
  965. package/skills/design/research-decision-room-evidence-model-reference-guide/SKILL.md +96 -0
  966. package/skills/design/research-decision-room-evidence-model-reference-guide/example.html +890 -0
  967. package/skills/design/research-decision-room-playbook/SKILL.md +164 -0
  968. package/skills/design/research-decision-room-playbook/example.html +890 -0
  969. package/skills/design/research-decision-room-quality-gate/SKILL.md +66 -0
  970. package/skills/design/research-decision-room-quality-gate/example.html +890 -0
  971. package/skills/design/responsive-layout/SKILL.md +59 -0
  972. package/skills/design/resume-modern-playbook/SKILL.md +31 -0
  973. package/skills/design/resume-modern-playbook/example.html +122 -0
  974. package/skills/design/resume-modern-sample-worked-sample/SKILL.md +59 -0
  975. package/skills/design/resume-modern-sample-worked-sample/example.html +122 -0
  976. package/skills/design/retro/DESIGN.md +55 -0
  977. package/skills/design/retro/SKILL.md +83 -0
  978. package/skills/design/riso/DESIGN.md +55 -0
  979. package/skills/design/riso/SKILL.md +81 -0
  980. package/skills/design/scene-distortion-headline-playbook/SKILL.md +52 -0
  981. package/skills/design/scene-distortion-headline-playbook/example.html +99 -0
  982. package/skills/design/scene-distortion-headline-sample-worked-sample/SKILL.md +31 -0
  983. package/skills/design/scene-distortion-headline-sample-worked-sample/example.html +99 -0
  984. package/skills/design/scene-flow-notes/SKILL.md +51 -0
  985. package/skills/design/scene-flow-notes/example.html +137 -0
  986. package/skills/design/scene-flow-notes-sample-worked-sample/SKILL.md +32 -0
  987. package/skills/design/scene-flow-notes-sample-worked-sample/example.html +137 -0
  988. package/skills/design/scene-fluid-background-hero-playbook/SKILL.md +58 -0
  989. package/skills/design/scene-fluid-background-hero-playbook/example.html +64 -0
  990. package/skills/design/scene-fluid-background-hero-sample-worked-sample/SKILL.md +28 -0
  991. package/skills/design/scene-fluid-background-hero-sample-worked-sample/example.html +64 -0
  992. package/skills/design/scene-light-flare-cinema-playbook/SKILL.md +53 -0
  993. package/skills/design/scene-light-flare-cinema-playbook/example.html +81 -0
  994. package/skills/design/scene-light-flare-cinema-sample-worked-sample/SKILL.md +31 -0
  995. package/skills/design/scene-light-flare-cinema-sample-worked-sample/example.html +81 -0
  996. package/skills/design/scene-macos-alert-playbook/SKILL.md +57 -0
  997. package/skills/design/scene-macos-alert-playbook/example.html +60 -0
  998. package/skills/design/scene-macos-alert-sample-worked-sample/SKILL.md +29 -0
  999. package/skills/design/scene-macos-alert-sample-worked-sample/example.html +60 -0
  1000. package/skills/design/scene-mark-ending-playbook/SKILL.md +49 -0
  1001. package/skills/design/scene-mark-ending-playbook/example.html +80 -0
  1002. package/skills/design/scene-mark-ending-sample-worked-sample/SKILL.md +31 -0
  1003. package/skills/design/scene-mark-ending-sample-worked-sample/example.html +80 -0
  1004. package/skills/design/scene-metrics-chart-nyt-playbook/SKILL.md +46 -0
  1005. package/skills/design/scene-metrics-chart-nyt-playbook/example.html +101 -0
  1006. package/skills/design/scene-metrics-chart-nyt-sample-worked-sample/SKILL.md +37 -0
  1007. package/skills/design/scene-metrics-chart-nyt-sample-worked-sample/example.html +101 -0
  1008. package/skills/design/sega/DESIGN.md +55 -0
  1009. package/skills/design/sega/SKILL.md +81 -0
  1010. package/skills/design/shadcn/DESIGN.md +55 -0
  1011. package/skills/design/shadcn/SKILL.md +83 -0
  1012. package/skills/design/shadcn-ui-playbook/SKILL.md +48 -0
  1013. package/skills/design/shader-builder-playbook/SKILL.md +48 -0
  1014. package/skills/design/signin-flow-playbook/SKILL.md +51 -0
  1015. package/skills/design/signin-flow-playbook/example.html +362 -0
  1016. package/skills/design/signin-flow-quality-gate/SKILL.md +38 -0
  1017. package/skills/design/signin-flow-quality-gate/example.html +362 -0
  1018. package/skills/design/simple/DESIGN.md +55 -0
  1019. package/skills/design/simple/SKILL.md +83 -0
  1020. package/skills/design/sketch/DESIGN.md +55 -0
  1021. package/skills/design/sketch/SKILL.md +81 -0
  1022. package/skills/design/skeumorphism/DESIGN.md +55 -0
  1023. package/skills/design/skeumorphism/SKILL.md +97 -0
  1024. package/skills/design/slack-gif-creator-playbook/SKILL.md +48 -0
  1025. package/skills/design/sleek/DESIGN.md +55 -0
  1026. package/skills/design/sleek/SKILL.md +83 -0
  1027. package/skills/design/slides-grid-global-playbook/SKILL.md +65 -0
  1028. package/skills/design/slides-grid-global-playbook/example.html +117 -0
  1029. package/skills/design/slides-grid-global-sample-worked-sample/SKILL.md +34 -0
  1030. package/skills/design/slides-grid-global-sample-worked-sample/example.html +117 -0
  1031. package/skills/design/slides-guizang-magazine-playbook/SKILL.md +51 -0
  1032. package/skills/design/slides-guizang-magazine-playbook/example.html +92 -0
  1033. package/skills/design/slides-guizang-magazine-sample-worked-sample/SKILL.md +31 -0
  1034. package/skills/design/slides-guizang-magazine-sample-worked-sample/example.html +92 -0
  1035. package/skills/design/slides-keynote-playbook/SKILL.md +32 -0
  1036. package/skills/design/slides-keynote-playbook/example.html +130 -0
  1037. package/skills/design/slides-keynote-sample-worked-sample/SKILL.md +44 -0
  1038. package/skills/design/slides-keynote-sample-worked-sample/example.html +130 -0
  1039. package/skills/design/slides-live-canvas-workspace-playbook/SKILL.md +55 -0
  1040. package/skills/design/slides-live-canvas-workspace-playbook/example.html +51 -0
  1041. package/skills/design/slides-live-canvas-workspace-sample-worked-sample/SKILL.md +25 -0
  1042. package/skills/design/slides-live-canvas-workspace-sample-worked-sample/example.html +51 -0
  1043. package/skills/design/slides-playbook/SKILL.md +48 -0
  1044. package/skills/design/social-reddit-tile-playbook/SKILL.md +54 -0
  1045. package/skills/design/social-reddit-tile-playbook/example.html +56 -0
  1046. package/skills/design/social-reddit-tile-sample-worked-sample/SKILL.md +27 -0
  1047. package/skills/design/social-reddit-tile-sample-worked-sample/example.html +56 -0
  1048. package/skills/design/social-spotify-tile-playbook/SKILL.md +53 -0
  1049. package/skills/design/social-spotify-tile-playbook/example.html +70 -0
  1050. package/skills/design/social-spotify-tile-sample-worked-sample/SKILL.md +29 -0
  1051. package/skills/design/social-spotify-tile-sample-worked-sample/example.html +70 -0
  1052. package/skills/design/social-x-post-tile-playbook/SKILL.md +51 -0
  1053. package/skills/design/social-x-post-tile-playbook/example.html +53 -0
  1054. package/skills/design/social-x-post-tile-sample-worked-sample/SKILL.md +30 -0
  1055. package/skills/design/social-x-post-tile-sample-worked-sample/example.html +53 -0
  1056. package/skills/design/sora-playbook/SKILL.md +48 -0
  1057. package/skills/design/spacious/DESIGN.md +55 -0
  1058. package/skills/design/spacious/SKILL.md +89 -0
  1059. package/skills/design/speech-playbook/SKILL.md +48 -0
  1060. package/skills/design/stitch-composition-taste-playbook/LICENSE +21 -0
  1061. package/skills/design/stitch-composition-taste-playbook/SKILL.md +200 -0
  1062. package/skills/design/stitch-loop-playbook/SKILL.md +48 -0
  1063. package/skills/design/stitch-playbook-composition-journal/LICENSE +21 -0
  1064. package/skills/design/stitch-playbook-composition-journal/SKILL.md +141 -0
  1065. package/skills/design/story-publication-playbook/SKILL.md +32 -0
  1066. package/skills/design/story-publication-playbook/example.html +81 -0
  1067. package/skills/design/story-publication-sample-worked-sample/SKILL.md +57 -0
  1068. package/skills/design/story-publication-sample-worked-sample/example.html +81 -0
  1069. package/skills/design/storytelling/DESIGN.md +55 -0
  1070. package/skills/design/storytelling/SKILL.md +83 -0
  1071. package/skills/design/swiftui-composition-playbook/SKILL.md +48 -0
  1072. package/skills/design/terracotta/DESIGN.md +55 -0
  1073. package/skills/design/terracotta/SKILL.md +81 -0
  1074. package/skills/design/tetris/DESIGN.md +55 -0
  1075. package/skills/design/tetris/SKILL.md +83 -0
  1076. package/skills/design/theme-factory/LICENSE.txt +202 -0
  1077. package/skills/design/theme-factory/SKILL.md +59 -0
  1078. package/skills/design/theme-factory/theme-showcase.pdf +0 -0
  1079. package/skills/design/theme-factory/themes/arctic-frost.md +19 -0
  1080. package/skills/design/theme-factory/themes/botanical-garden.md +19 -0
  1081. package/skills/design/theme-factory/themes/desert-rose.md +19 -0
  1082. package/skills/design/theme-factory/themes/forest-canopy.md +19 -0
  1083. package/skills/design/theme-factory/themes/golden-hour.md +19 -0
  1084. package/skills/design/theme-factory/themes/midnight-galaxy.md +19 -0
  1085. package/skills/design/theme-factory/themes/modern-minimalist.md +19 -0
  1086. package/skills/design/theme-factory/themes/ocean-depths.md +19 -0
  1087. package/skills/design/theme-factory/themes/sunset-boulevard.md +19 -0
  1088. package/skills/design/theme-factory/themes/tech-innovation.md +19 -0
  1089. package/skills/design/theme-factory-playbook/SKILL.md +48 -0
  1090. package/skills/design/threejs-playbook/SKILL.md +48 -0
  1091. package/skills/design/tile-rednote-playbook/SKILL.md +31 -0
  1092. package/skills/design/tile-rednote-playbook/example.html +98 -0
  1093. package/skills/design/tile-rednote-sample-worked-sample/SKILL.md +46 -0
  1094. package/skills/design/tile-rednote-sample-worked-sample/example.html +98 -0
  1095. package/skills/design/tile-x-playbook/SKILL.md +31 -0
  1096. package/skills/design/tile-x-playbook/example.html +58 -0
  1097. package/skills/design/tile-x-sample-worked-sample/SKILL.md +24 -0
  1098. package/skills/design/tile-x-sample-worked-sample/example.html +58 -0
  1099. package/skills/design/ui-playbooks-playbook/SKILL.md +48 -0
  1100. package/skills/design/ui-ux-principles/SKILL.md +58 -0
  1101. package/skills/design/ui-ux-pro-max-playbook/SKILL.md +63 -0
  1102. package/skills/design/uupm-banner-design/SKILL.md +196 -0
  1103. package/skills/design/uupm-banner-design/references/banner-sizes-and-styles.md +118 -0
  1104. package/skills/design/uupm-brand/SKILL.md +97 -0
  1105. package/skills/design/uupm-brand/references/approval-checklist.md +169 -0
  1106. package/skills/design/uupm-brand/references/asset-organization.md +157 -0
  1107. package/skills/design/uupm-brand/references/brand-guideline-template.md +140 -0
  1108. package/skills/design/uupm-brand/references/color-palette-management.md +186 -0
  1109. package/skills/design/uupm-brand/references/consistency-checklist.md +94 -0
  1110. package/skills/design/uupm-brand/references/logo-usage-rules.md +185 -0
  1111. package/skills/design/uupm-brand/references/messaging-framework.md +85 -0
  1112. package/skills/design/uupm-brand/references/typography-specifications.md +214 -0
  1113. package/skills/design/uupm-brand/references/update.md +118 -0
  1114. package/skills/design/uupm-brand/references/visual-identity.md +96 -0
  1115. package/skills/design/uupm-brand/references/voice-framework.md +88 -0
  1116. package/skills/design/uupm-brand/scripts/extract-colors.cjs +341 -0
  1117. package/skills/design/uupm-brand/scripts/inject-brand-context.cjs +349 -0
  1118. package/skills/design/uupm-brand/scripts/sync-brand-to-tokens.cjs +266 -0
  1119. package/skills/design/uupm-brand/scripts/validate-asset.cjs +387 -0
  1120. package/skills/design/uupm-brand/templates/brand-guidelines-starter.md +275 -0
  1121. package/skills/design/uupm-design/SKILL.md +313 -0
  1122. package/skills/design/uupm-design/data/cip/deliverables.csv +51 -0
  1123. package/skills/design/uupm-design/data/cip/industries.csv +21 -0
  1124. package/skills/design/uupm-design/data/cip/mockup-contexts.csv +21 -0
  1125. package/skills/design/uupm-design/data/cip/styles.csv +21 -0
  1126. package/skills/design/uupm-design/data/icon/styles.csv +16 -0
  1127. package/skills/design/uupm-design/data/logo/colors.csv +56 -0
  1128. package/skills/design/uupm-design/data/logo/industries.csv +56 -0
  1129. package/skills/design/uupm-design/data/logo/styles.csv +56 -0
  1130. package/skills/design/uupm-design/references/banner-sizes-and-styles.md +118 -0
  1131. package/skills/design/uupm-design/references/cip-deliverable-guide.md +95 -0
  1132. package/skills/design/uupm-design/references/cip-design.md +121 -0
  1133. package/skills/design/uupm-design/references/cip-prompt-engineering.md +84 -0
  1134. package/skills/design/uupm-design/references/cip-style-guide.md +68 -0
  1135. package/skills/design/uupm-design/references/design-routing.md +207 -0
  1136. package/skills/design/uupm-design/references/icon-design.md +122 -0
  1137. package/skills/design/uupm-design/references/logo-color-psychology.md +101 -0
  1138. package/skills/design/uupm-design/references/logo-design.md +92 -0
  1139. package/skills/design/uupm-design/references/logo-prompt-engineering.md +158 -0
  1140. package/skills/design/uupm-design/references/logo-style-guide.md +109 -0
  1141. package/skills/design/uupm-design/references/slides-copywriting-formulas.md +84 -0
  1142. package/skills/design/uupm-design/references/slides-create.md +4 -0
  1143. package/skills/design/uupm-design/references/slides-html-template.md +295 -0
  1144. package/skills/design/uupm-design/references/slides-layout-patterns.md +137 -0
  1145. package/skills/design/uupm-design/references/slides-strategies.md +94 -0
  1146. package/skills/design/uupm-design/references/slides.md +42 -0
  1147. package/skills/design/uupm-design/references/social-photos-design.md +329 -0
  1148. package/skills/design/uupm-design/scripts/cip/core.py +215 -0
  1149. package/skills/design/uupm-design/scripts/cip/generate.py +484 -0
  1150. package/skills/design/uupm-design/scripts/cip/render-html.py +424 -0
  1151. package/skills/design/uupm-design/scripts/cip/search.py +127 -0
  1152. package/skills/design/uupm-design/scripts/icon/generate.py +487 -0
  1153. package/skills/design/uupm-design/scripts/logo/core.py +175 -0
  1154. package/skills/design/uupm-design/scripts/logo/generate.py +362 -0
  1155. package/skills/design/uupm-design/scripts/logo/search.py +114 -0
  1156. package/skills/design/uupm-design-system/SKILL.md +244 -0
  1157. package/skills/design/uupm-design-system/data/slide-backgrounds.csv +11 -0
  1158. package/skills/design/uupm-design-system/data/slide-charts.csv +26 -0
  1159. package/skills/design/uupm-design-system/data/slide-color-logic.csv +14 -0
  1160. package/skills/design/uupm-design-system/data/slide-copy.csv +26 -0
  1161. package/skills/design/uupm-design-system/data/slide-layout-logic.csv +16 -0
  1162. package/skills/design/uupm-design-system/data/slide-layouts.csv +26 -0
  1163. package/skills/design/uupm-design-system/data/slide-strategies.csv +16 -0
  1164. package/skills/design/uupm-design-system/data/slide-typography.csv +15 -0
  1165. package/skills/design/uupm-design-system/references/component-specs.md +236 -0
  1166. package/skills/design/uupm-design-system/references/component-tokens.md +214 -0
  1167. package/skills/design/uupm-design-system/references/primitive-tokens.md +203 -0
  1168. package/skills/design/uupm-design-system/references/semantic-tokens.md +215 -0
  1169. package/skills/design/uupm-design-system/references/states-and-variants.md +241 -0
  1170. package/skills/design/uupm-design-system/references/tailwind-integration.md +251 -0
  1171. package/skills/design/uupm-design-system/references/token-architecture.md +224 -0
  1172. package/skills/design/uupm-design-system/scripts/embed-tokens.cjs +99 -0
  1173. package/skills/design/uupm-design-system/scripts/fetch-background.py +317 -0
  1174. package/skills/design/uupm-design-system/scripts/generate-slide.py +770 -0
  1175. package/skills/design/uupm-design-system/scripts/generate-tokens.cjs +205 -0
  1176. package/skills/design/uupm-design-system/scripts/html-token-validator.py +327 -0
  1177. package/skills/design/uupm-design-system/scripts/search-slides.py +218 -0
  1178. package/skills/design/uupm-design-system/scripts/slide-token-validator.py +35 -0
  1179. package/skills/design/uupm-design-system/scripts/slide_search_core.py +453 -0
  1180. package/skills/design/uupm-design-system/scripts/validate-tokens.cjs +251 -0
  1181. package/skills/design/uupm-design-system/templates/design-tokens-starter.json +143 -0
  1182. package/skills/design/uupm-slides/SKILL.md +40 -0
  1183. package/skills/design/uupm-slides/references/copywriting-formulas.md +84 -0
  1184. package/skills/design/uupm-slides/references/create.md +4 -0
  1185. package/skills/design/uupm-slides/references/html-template.md +295 -0
  1186. package/skills/design/uupm-slides/references/layout-patterns.md +137 -0
  1187. package/skills/design/uupm-slides/references/slide-strategies.md +94 -0
  1188. package/skills/design/uupm-ui-styling/LICENSE.txt +202 -0
  1189. package/skills/design/uupm-ui-styling/SKILL.md +324 -0
  1190. package/skills/design/uupm-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  1191. package/skills/design/uupm-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1192. package/skills/design/uupm-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1193. package/skills/design/uupm-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  1194. package/skills/design/uupm-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1195. package/skills/design/uupm-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  1196. package/skills/design/uupm-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1197. package/skills/design/uupm-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1198. package/skills/design/uupm-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  1199. package/skills/design/uupm-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1200. package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1201. package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1202. package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  1203. package/skills/design/uupm-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1204. package/skills/design/uupm-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  1205. package/skills/design/uupm-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  1206. package/skills/design/uupm-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  1207. package/skills/design/uupm-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1208. package/skills/design/uupm-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1209. package/skills/design/uupm-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  1210. package/skills/design/uupm-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1211. package/skills/design/uupm-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  1212. package/skills/design/uupm-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  1213. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1214. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  1215. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1216. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1217. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1218. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1219. package/skills/design/uupm-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1220. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1221. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1222. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1223. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  1224. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1225. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1226. package/skills/design/uupm-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1227. package/skills/design/uupm-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  1228. package/skills/design/uupm-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  1229. package/skills/design/uupm-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1230. package/skills/design/uupm-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  1231. package/skills/design/uupm-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1232. package/skills/design/uupm-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  1233. package/skills/design/uupm-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  1234. package/skills/design/uupm-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  1235. package/skills/design/uupm-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  1236. package/skills/design/uupm-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1237. package/skills/design/uupm-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  1238. package/skills/design/uupm-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1239. package/skills/design/uupm-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  1240. package/skills/design/uupm-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  1241. package/skills/design/uupm-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  1242. package/skills/design/uupm-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1243. package/skills/design/uupm-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  1244. package/skills/design/uupm-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1245. package/skills/design/uupm-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  1246. package/skills/design/uupm-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1247. package/skills/design/uupm-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  1248. package/skills/design/uupm-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  1249. package/skills/design/uupm-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  1250. package/skills/design/uupm-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1251. package/skills/design/uupm-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  1252. package/skills/design/uupm-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  1253. package/skills/design/uupm-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1254. package/skills/design/uupm-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1255. package/skills/design/uupm-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  1256. package/skills/design/uupm-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1257. package/skills/design/uupm-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  1258. package/skills/design/uupm-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1259. package/skills/design/uupm-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1260. package/skills/design/uupm-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  1261. package/skills/design/uupm-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  1262. package/skills/design/uupm-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  1263. package/skills/design/uupm-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  1264. package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1265. package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1266. package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1267. package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  1268. package/skills/design/uupm-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1269. package/skills/design/uupm-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  1270. package/skills/design/uupm-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1271. package/skills/design/uupm-ui-styling/references/canvas-design-system.md +320 -0
  1272. package/skills/design/uupm-ui-styling/references/shadcn-accessibility.md +471 -0
  1273. package/skills/design/uupm-ui-styling/references/shadcn-components.md +424 -0
  1274. package/skills/design/uupm-ui-styling/references/shadcn-theming.md +373 -0
  1275. package/skills/design/uupm-ui-styling/references/tailwind-customization.md +483 -0
  1276. package/skills/design/uupm-ui-styling/references/tailwind-responsive.md +382 -0
  1277. package/skills/design/uupm-ui-styling/references/tailwind-utilities.md +455 -0
  1278. package/skills/design/uupm-ui-styling/scripts/.coverage +0 -0
  1279. package/skills/design/uupm-ui-styling/scripts/requirements.txt +17 -0
  1280. package/skills/design/uupm-ui-styling/scripts/shadcn_add.py +308 -0
  1281. package/skills/design/uupm-ui-styling/scripts/tailwind_config_gen.py +473 -0
  1282. package/skills/design/uupm-ui-styling/scripts/tests/coverage-ui.json +1 -0
  1283. package/skills/design/uupm-ui-styling/scripts/tests/requirements.txt +3 -0
  1284. package/skills/design/uupm-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  1285. package/skills/design/uupm-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  1286. package/skills/design/uupm-ui-ux-pro-max/SKILL.md +661 -0
  1287. package/skills/design/uupm-ui-ux-pro-max/data +1 -0
  1288. package/skills/design/uupm-ui-ux-pro-max/scripts +1 -0
  1289. package/skills/design/venice-audio-playbook/SKILL.md +48 -0
  1290. package/skills/design/venice-audio-speech-playbook/SKILL.md +48 -0
  1291. package/skills/design/venice-motion-playbook/SKILL.md +48 -0
  1292. package/skills/design/venice-visual-compose-playbook/SKILL.md +48 -0
  1293. package/skills/design/venice-visual-edit-playbook/SKILL.md +48 -0
  1294. package/skills/design/vfx-text-cursor-playbook/SKILL.md +49 -0
  1295. package/skills/design/vfx-text-cursor-playbook/example.html +65 -0
  1296. package/skills/design/vfx-text-cursor-sample-worked-sample/SKILL.md +31 -0
  1297. package/skills/design/vfx-text-cursor-sample-worked-sample/example.html +65 -0
  1298. package/skills/design/vibrant/DESIGN.md +55 -0
  1299. package/skills/design/vibrant/SKILL.md +83 -0
  1300. package/skills/design/vintage/DESIGN.md +55 -0
  1301. package/skills/design/vintage/SKILL.md +83 -0
  1302. package/skills/design/visual-enhancer-playbook/SKILL.md +48 -0
  1303. package/skills/design/visual-to-code-playbook/LICENSE +21 -0
  1304. package/skills/design/visual-to-code-playbook/SKILL.md +1245 -0
  1305. package/skills/design/web-composition-standards-playbook/SKILL.md +48 -0
  1306. package/skills/design/web-deliverables-assembler-playbook/SKILL.md +48 -0
  1307. package/skills/design/word-playbook/SKILL.md +48 -0
  1308. package/skills/design/workspace-composition-playbook/SKILL.md +48 -0
  1309. package/skills/design/wpds-playbook/SKILL.md +48 -0
  1310. package/skills/design/youtube-clipper-playbook/SKILL.md +48 -0
  1311. package/skills/engineering/architecture/api-design-rest-graphql/SKILL.md +67 -0
  1312. package/skills/engineering/architecture/caching-strategies/SKILL.md +59 -0
  1313. package/skills/engineering/architecture/data-modeling/SKILL.md +64 -0
  1314. package/skills/engineering/architecture/message-queues-async/SKILL.md +58 -0
  1315. package/skills/engineering/architecture/scalability-reliability/SKILL.md +62 -0
  1316. package/skills/engineering/architecture/software-architecture-patterns/SKILL.md +56 -0
  1317. package/skills/engineering/architecture/system-design-fundamentals/SKILL.md +56 -0
  1318. package/skills/engineering/backend/auth-and-authorization/SKILL.md +62 -0
  1319. package/skills/engineering/backend/backend-fundamentals/SKILL.md +65 -0
  1320. package/skills/engineering/backend/observability-logging/SKILL.md +60 -0
  1321. package/skills/engineering/frontend/accessibility-wcag/SKILL.md +57 -0
  1322. package/skills/engineering/frontend/frontend-architecture/SKILL.md +65 -0
  1323. package/skills/engineering/frontend/rendering-strategies-ssr-csr/SKILL.md +60 -0
  1324. package/skills/engineering/frontend/state-management/SKILL.md +69 -0
  1325. package/skills/engineering/performance/backend-performance/SKILL.md +69 -0
  1326. package/skills/engineering/performance/database-query-optimization/SKILL.md +64 -0
  1327. package/skills/engineering/performance/profiling-and-benchmarking/SKILL.md +60 -0
  1328. package/skills/engineering/performance/web-performance-core-vitals/SKILL.md +72 -0
  1329. package/skills/engineering/practices/clean-code/SKILL.md +61 -0
  1330. package/skills/engineering/practices/code-optimization/SKILL.md +60 -0
  1331. package/skills/engineering/practices/code-review-practices/SKILL.md +58 -0
  1332. package/skills/engineering/practices/git-workflow/SKILL.md +62 -0
  1333. package/skills/engineering/practices/refactoring/SKILL.md +58 -0
  1334. package/skills/engineering/security/appsec-fundamentals/SKILL.md +70 -0
  1335. package/skills/engineering/security/dependency-supply-chain/SKILL.md +77 -0
  1336. package/skills/engineering/security/owasp-asvs/SKILL.md +54 -0
  1337. package/skills/engineering/security/owasp-top-10/SKILL.md +63 -0
  1338. package/skills/engineering/security/secrets-management/SKILL.md +58 -0
  1339. package/skills/engineering/security/secure-auth-sessions/SKILL.md +56 -0
  1340. package/skills/engineering/testing/tdd-and-coverage/SKILL.md +62 -0
  1341. package/skills/engineering/testing/testing-strategy-pyramid/SKILL.md +56 -0
  1342. package/skills/engineering/testing/unit-integration-e2e/SKILL.md +75 -0
  1343. package/skills/front-end/canvas-design/LICENSE.txt +202 -0
  1344. package/skills/front-end/canvas-design/SKILL.md +130 -0
  1345. package/skills/front-end/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  1346. package/skills/front-end/canvas-design/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1347. package/skills/front-end/canvas-design/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1348. package/skills/front-end/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -0
  1349. package/skills/front-end/canvas-design/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1350. package/skills/front-end/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -0
  1351. package/skills/front-end/canvas-design/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1352. package/skills/front-end/canvas-design/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1353. package/skills/front-end/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  1354. package/skills/front-end/canvas-design/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1355. package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1356. package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1357. package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  1358. package/skills/front-end/canvas-design/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1359. package/skills/front-end/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -0
  1360. package/skills/front-end/canvas-design/canvas-fonts/DMMono-Regular.ttf +0 -0
  1361. package/skills/front-end/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -0
  1362. package/skills/front-end/canvas-design/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1363. package/skills/front-end/canvas-design/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1364. package/skills/front-end/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -0
  1365. package/skills/front-end/canvas-design/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1366. package/skills/front-end/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -0
  1367. package/skills/front-end/canvas-design/canvas-fonts/Gloock-Regular.ttf +0 -0
  1368. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1369. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  1370. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1371. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1372. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1373. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1374. package/skills/front-end/canvas-design/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1375. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1376. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1377. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1378. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  1379. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1380. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1381. package/skills/front-end/canvas-design/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1382. package/skills/front-end/canvas-design/canvas-fonts/Italiana-OFL.txt +93 -0
  1383. package/skills/front-end/canvas-design/canvas-fonts/Italiana-Regular.ttf +0 -0
  1384. package/skills/front-end/canvas-design/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1385. package/skills/front-end/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  1386. package/skills/front-end/canvas-design/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1387. package/skills/front-end/canvas-design/canvas-fonts/Jura-Light.ttf +0 -0
  1388. package/skills/front-end/canvas-design/canvas-fonts/Jura-Medium.ttf +0 -0
  1389. package/skills/front-end/canvas-design/canvas-fonts/Jura-OFL.txt +93 -0
  1390. package/skills/front-end/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  1391. package/skills/front-end/canvas-design/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1392. package/skills/front-end/canvas-design/canvas-fonts/Lora-Bold.ttf +0 -0
  1393. package/skills/front-end/canvas-design/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1394. package/skills/front-end/canvas-design/canvas-fonts/Lora-Italic.ttf +0 -0
  1395. package/skills/front-end/canvas-design/canvas-fonts/Lora-OFL.txt +93 -0
  1396. package/skills/front-end/canvas-design/canvas-fonts/Lora-Regular.ttf +0 -0
  1397. package/skills/front-end/canvas-design/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1398. package/skills/front-end/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -0
  1399. package/skills/front-end/canvas-design/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1400. package/skills/front-end/canvas-design/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  1401. package/skills/front-end/canvas-design/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1402. package/skills/front-end/canvas-design/canvas-fonts/Outfit-Bold.ttf +0 -0
  1403. package/skills/front-end/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -0
  1404. package/skills/front-end/canvas-design/canvas-fonts/Outfit-Regular.ttf +0 -0
  1405. package/skills/front-end/canvas-design/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1406. package/skills/front-end/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -0
  1407. package/skills/front-end/canvas-design/canvas-fonts/PoiretOne-OFL.txt +93 -0
  1408. package/skills/front-end/canvas-design/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1409. package/skills/front-end/canvas-design/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1410. package/skills/front-end/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -0
  1411. package/skills/front-end/canvas-design/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1412. package/skills/front-end/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -0
  1413. package/skills/front-end/canvas-design/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1414. package/skills/front-end/canvas-design/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1415. package/skills/front-end/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -0
  1416. package/skills/front-end/canvas-design/canvas-fonts/Tektur-Medium.ttf +0 -0
  1417. package/skills/front-end/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -0
  1418. package/skills/front-end/canvas-design/canvas-fonts/Tektur-Regular.ttf +0 -0
  1419. package/skills/front-end/canvas-design/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1420. package/skills/front-end/canvas-design/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1421. package/skills/front-end/canvas-design/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1422. package/skills/front-end/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -0
  1423. package/skills/front-end/canvas-design/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1424. package/skills/front-end/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -0
  1425. package/skills/front-end/canvas-design/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1426. package/skills/front-end/claude-api/LICENSE.txt +202 -0
  1427. package/skills/front-end/claude-api/SKILL.md +356 -0
  1428. package/skills/front-end/claude-api/csharp/claude-api.md +447 -0
  1429. package/skills/front-end/claude-api/curl/examples.md +216 -0
  1430. package/skills/front-end/claude-api/curl/managed-agents.md +338 -0
  1431. package/skills/front-end/claude-api/go/claude-api.md +440 -0
  1432. package/skills/front-end/claude-api/go/managed-agents/README.md +561 -0
  1433. package/skills/front-end/claude-api/java/claude-api.md +461 -0
  1434. package/skills/front-end/claude-api/java/managed-agents/README.md +442 -0
  1435. package/skills/front-end/claude-api/php/claude-api.md +402 -0
  1436. package/skills/front-end/claude-api/php/managed-agents/README.md +435 -0
  1437. package/skills/front-end/claude-api/python/claude-api/README.md +536 -0
  1438. package/skills/front-end/claude-api/python/claude-api/batches.md +198 -0
  1439. package/skills/front-end/claude-api/python/claude-api/files-api.md +170 -0
  1440. package/skills/front-end/claude-api/python/claude-api/streaming.md +179 -0
  1441. package/skills/front-end/claude-api/python/claude-api/tool-use.md +590 -0
  1442. package/skills/front-end/claude-api/python/managed-agents/README.md +334 -0
  1443. package/skills/front-end/claude-api/ruby/claude-api.md +140 -0
  1444. package/skills/front-end/claude-api/ruby/managed-agents/README.md +389 -0
  1445. package/skills/front-end/claude-api/shared/agent-design.md +101 -0
  1446. package/skills/front-end/claude-api/shared/anthropic-cli.md +246 -0
  1447. package/skills/front-end/claude-api/shared/claude-platform-on-aws.md +59 -0
  1448. package/skills/front-end/claude-api/shared/error-codes.md +233 -0
  1449. package/skills/front-end/claude-api/shared/live-sources.md +143 -0
  1450. package/skills/front-end/claude-api/shared/managed-agents-api-reference.md +422 -0
  1451. package/skills/front-end/claude-api/shared/managed-agents-client-patterns.md +211 -0
  1452. package/skills/front-end/claude-api/shared/managed-agents-core.md +252 -0
  1453. package/skills/front-end/claude-api/shared/managed-agents-environments.md +219 -0
  1454. package/skills/front-end/claude-api/shared/managed-agents-events.md +220 -0
  1455. package/skills/front-end/claude-api/shared/managed-agents-memory.md +197 -0
  1456. package/skills/front-end/claude-api/shared/managed-agents-multiagent.md +99 -0
  1457. package/skills/front-end/claude-api/shared/managed-agents-onboarding.md +144 -0
  1458. package/skills/front-end/claude-api/shared/managed-agents-outcomes.md +106 -0
  1459. package/skills/front-end/claude-api/shared/managed-agents-overview.md +71 -0
  1460. package/skills/front-end/claude-api/shared/managed-agents-scheduled-deployments.md +144 -0
  1461. package/skills/front-end/claude-api/shared/managed-agents-self-hosted-sandboxes.md +174 -0
  1462. package/skills/front-end/claude-api/shared/managed-agents-tools.md +358 -0
  1463. package/skills/front-end/claude-api/shared/managed-agents-webhooks.md +110 -0
  1464. package/skills/front-end/claude-api/shared/model-migration.md +1135 -0
  1465. package/skills/front-end/claude-api/shared/models.md +132 -0
  1466. package/skills/front-end/claude-api/shared/prompt-caching.md +223 -0
  1467. package/skills/front-end/claude-api/shared/token-counting.md +56 -0
  1468. package/skills/front-end/claude-api/shared/tool-use-concepts.md +347 -0
  1469. package/skills/front-end/claude-api/typescript/claude-api/README.md +372 -0
  1470. package/skills/front-end/claude-api/typescript/claude-api/batches.md +106 -0
  1471. package/skills/front-end/claude-api/typescript/claude-api/files-api.md +98 -0
  1472. package/skills/front-end/claude-api/typescript/claude-api/streaming.md +178 -0
  1473. package/skills/front-end/claude-api/typescript/claude-api/tool-use.md +527 -0
  1474. package/skills/front-end/claude-api/typescript/managed-agents/README.md +357 -0
  1475. package/skills/front-end/doc-coauthoring/SKILL.md +375 -0
  1476. package/skills/front-end/docx/LICENSE.txt +30 -0
  1477. package/skills/front-end/docx/SKILL.md +590 -0
  1478. package/skills/front-end/docx/scripts/__init__.py +1 -0
  1479. package/skills/front-end/docx/scripts/accept_changes.py +135 -0
  1480. package/skills/front-end/docx/scripts/comment.py +318 -0
  1481. package/skills/front-end/docx/scripts/office/helpers/__init__.py +0 -0
  1482. package/skills/front-end/docx/scripts/office/helpers/merge_runs.py +199 -0
  1483. package/skills/front-end/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  1484. package/skills/front-end/docx/scripts/office/pack.py +159 -0
  1485. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1486. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1487. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1488. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1489. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1490. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1491. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1492. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1493. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1494. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1495. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1496. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1497. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1498. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1499. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1500. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1501. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1502. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1503. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1504. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1505. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1506. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1507. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1508. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1509. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1510. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1511. package/skills/front-end/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1512. package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1513. package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1514. package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1515. package/skills/front-end/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1516. package/skills/front-end/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  1517. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  1518. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  1519. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  1520. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1521. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1522. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1523. package/skills/front-end/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1524. package/skills/front-end/docx/scripts/office/soffice.py +183 -0
  1525. package/skills/front-end/docx/scripts/office/unpack.py +132 -0
  1526. package/skills/front-end/docx/scripts/office/validate.py +111 -0
  1527. package/skills/front-end/docx/scripts/office/validators/__init__.py +15 -0
  1528. package/skills/front-end/docx/scripts/office/validators/base.py +847 -0
  1529. package/skills/front-end/docx/scripts/office/validators/docx.py +446 -0
  1530. package/skills/front-end/docx/scripts/office/validators/pptx.py +275 -0
  1531. package/skills/front-end/docx/scripts/office/validators/redlining.py +247 -0
  1532. package/skills/front-end/docx/scripts/templates/comments.xml +3 -0
  1533. package/skills/front-end/docx/scripts/templates/commentsExtended.xml +3 -0
  1534. package/skills/front-end/docx/scripts/templates/commentsExtensible.xml +3 -0
  1535. package/skills/front-end/docx/scripts/templates/commentsIds.xml +3 -0
  1536. package/skills/front-end/docx/scripts/templates/people.xml +3 -0
  1537. package/skills/front-end/frontend-design/LICENSE.txt +177 -0
  1538. package/skills/front-end/frontend-design/SKILL.md +55 -0
  1539. package/skills/front-end/frontend-slides/SKILL.md +380 -0
  1540. package/skills/front-end/frontend-slides/STYLE_PRESETS.md +346 -0
  1541. package/skills/front-end/frontend-slides/animation-patterns.md +110 -0
  1542. package/skills/front-end/frontend-slides/bold-template-pack/README.md +77 -0
  1543. package/skills/front-end/frontend-slides/bold-template-pack/deck-stage.js +619 -0
  1544. package/skills/front-end/frontend-slides/bold-template-pack/selection-index.json +858 -0
  1545. package/skills/front-end/frontend-slides/bold-template-pack/templates/8-bit-orbit/design.md +573 -0
  1546. package/skills/front-end/frontend-slides/bold-template-pack/templates/8-bit-orbit/preview.md +55 -0
  1547. package/skills/front-end/frontend-slides/bold-template-pack/templates/biennale-yellow/design.md +579 -0
  1548. package/skills/front-end/frontend-slides/bold-template-pack/templates/biennale-yellow/preview.md +55 -0
  1549. package/skills/front-end/frontend-slides/bold-template-pack/templates/block-frame/design.md +609 -0
  1550. package/skills/front-end/frontend-slides/bold-template-pack/templates/block-frame/preview.md +55 -0
  1551. package/skills/front-end/frontend-slides/bold-template-pack/templates/blue-professional/design.md +712 -0
  1552. package/skills/front-end/frontend-slides/bold-template-pack/templates/blue-professional/preview.md +55 -0
  1553. package/skills/front-end/frontend-slides/bold-template-pack/templates/bold-poster/design.md +713 -0
  1554. package/skills/front-end/frontend-slides/bold-template-pack/templates/bold-poster/preview.md +55 -0
  1555. package/skills/front-end/frontend-slides/bold-template-pack/templates/broadside/design.md +504 -0
  1556. package/skills/front-end/frontend-slides/bold-template-pack/templates/broadside/preview.md +55 -0
  1557. package/skills/front-end/frontend-slides/bold-template-pack/templates/capsule/design.md +569 -0
  1558. package/skills/front-end/frontend-slides/bold-template-pack/templates/capsule/preview.md +55 -0
  1559. package/skills/front-end/frontend-slides/bold-template-pack/templates/cartesian/design.md +524 -0
  1560. package/skills/front-end/frontend-slides/bold-template-pack/templates/cartesian/preview.md +55 -0
  1561. package/skills/front-end/frontend-slides/bold-template-pack/templates/cobalt-grid/design.md +564 -0
  1562. package/skills/front-end/frontend-slides/bold-template-pack/templates/cobalt-grid/preview.md +55 -0
  1563. package/skills/front-end/frontend-slides/bold-template-pack/templates/coral/design.md +615 -0
  1564. package/skills/front-end/frontend-slides/bold-template-pack/templates/coral/preview.md +55 -0
  1565. package/skills/front-end/frontend-slides/bold-template-pack/templates/creative-mode/design.md +566 -0
  1566. package/skills/front-end/frontend-slides/bold-template-pack/templates/creative-mode/preview.md +55 -0
  1567. package/skills/front-end/frontend-slides/bold-template-pack/templates/daisy-days/design.md +510 -0
  1568. package/skills/front-end/frontend-slides/bold-template-pack/templates/daisy-days/preview.md +55 -0
  1569. package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-forest/design.md +508 -0
  1570. package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-forest/preview.md +55 -0
  1571. package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-tri-tone/design.md +601 -0
  1572. package/skills/front-end/frontend-slides/bold-template-pack/templates/editorial-tri-tone/preview.md +55 -0
  1573. package/skills/front-end/frontend-slides/bold-template-pack/templates/emerald-editorial/design.md +613 -0
  1574. package/skills/front-end/frontend-slides/bold-template-pack/templates/emerald-editorial/preview.md +55 -0
  1575. package/skills/front-end/frontend-slides/bold-template-pack/templates/grove/design.md +570 -0
  1576. package/skills/front-end/frontend-slides/bold-template-pack/templates/grove/preview.md +55 -0
  1577. package/skills/front-end/frontend-slides/bold-template-pack/templates/long-table/design.md +594 -0
  1578. package/skills/front-end/frontend-slides/bold-template-pack/templates/long-table/preview.md +55 -0
  1579. package/skills/front-end/frontend-slides/bold-template-pack/templates/mat/design.md +474 -0
  1580. package/skills/front-end/frontend-slides/bold-template-pack/templates/mat/preview.md +55 -0
  1581. package/skills/front-end/frontend-slides/bold-template-pack/templates/monochrome/design.md +493 -0
  1582. package/skills/front-end/frontend-slides/bold-template-pack/templates/monochrome/preview.md +55 -0
  1583. package/skills/front-end/frontend-slides/bold-template-pack/templates/neo-grid-bold/design.md +564 -0
  1584. package/skills/front-end/frontend-slides/bold-template-pack/templates/neo-grid-bold/preview.md +55 -0
  1585. package/skills/front-end/frontend-slides/bold-template-pack/templates/peoples-platform/design.md +701 -0
  1586. package/skills/front-end/frontend-slides/bold-template-pack/templates/peoples-platform/preview.md +55 -0
  1587. package/skills/front-end/frontend-slides/bold-template-pack/templates/pin-and-paper/design.md +641 -0
  1588. package/skills/front-end/frontend-slides/bold-template-pack/templates/pin-and-paper/preview.md +55 -0
  1589. package/skills/front-end/frontend-slides/bold-template-pack/templates/pink-script/design.md +673 -0
  1590. package/skills/front-end/frontend-slides/bold-template-pack/templates/pink-script/preview.md +55 -0
  1591. package/skills/front-end/frontend-slides/bold-template-pack/templates/playful/design.md +491 -0
  1592. package/skills/front-end/frontend-slides/bold-template-pack/templates/playful/preview.md +55 -0
  1593. package/skills/front-end/frontend-slides/bold-template-pack/templates/raw-grid/design.md +487 -0
  1594. package/skills/front-end/frontend-slides/bold-template-pack/templates/raw-grid/preview.md +55 -0
  1595. package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-windows/design.md +578 -0
  1596. package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-windows/preview.md +55 -0
  1597. package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-zine/design.md +569 -0
  1598. package/skills/front-end/frontend-slides/bold-template-pack/templates/retro-zine/preview.md +55 -0
  1599. package/skills/front-end/frontend-slides/bold-template-pack/templates/sakura-chroma/design.md +627 -0
  1600. package/skills/front-end/frontend-slides/bold-template-pack/templates/sakura-chroma/preview.md +55 -0
  1601. package/skills/front-end/frontend-slides/bold-template-pack/templates/scatterbrain/design.md +575 -0
  1602. package/skills/front-end/frontend-slides/bold-template-pack/templates/scatterbrain/preview.md +55 -0
  1603. package/skills/front-end/frontend-slides/bold-template-pack/templates/signal/design.md +528 -0
  1604. package/skills/front-end/frontend-slides/bold-template-pack/templates/signal/preview.md +55 -0
  1605. package/skills/front-end/frontend-slides/bold-template-pack/templates/soft-editorial/design.md +626 -0
  1606. package/skills/front-end/frontend-slides/bold-template-pack/templates/soft-editorial/preview.md +55 -0
  1607. package/skills/front-end/frontend-slides/bold-template-pack/templates/stencil-tablet/design.md +678 -0
  1608. package/skills/front-end/frontend-slides/bold-template-pack/templates/stencil-tablet/preview.md +55 -0
  1609. package/skills/front-end/frontend-slides/bold-template-pack/templates/studio/design.md +497 -0
  1610. package/skills/front-end/frontend-slides/bold-template-pack/templates/studio/preview.md +55 -0
  1611. package/skills/front-end/frontend-slides/bold-template-pack/templates/vellum/design.md +547 -0
  1612. package/skills/front-end/frontend-slides/bold-template-pack/templates/vellum/preview.md +55 -0
  1613. package/skills/front-end/frontend-slides/html-template.md +350 -0
  1614. package/skills/front-end/frontend-slides/scripts/deploy.sh +218 -0
  1615. package/skills/front-end/frontend-slides/scripts/export-pdf.sh +418 -0
  1616. package/skills/front-end/frontend-slides/scripts/extract-pptx.py +96 -0
  1617. package/skills/front-end/frontend-slides/viewport-base.css +133 -0
  1618. package/skills/front-end/internal-comms/LICENSE.txt +202 -0
  1619. package/skills/front-end/internal-comms/SKILL.md +32 -0
  1620. package/skills/front-end/internal-comms/examples/3p-updates.md +47 -0
  1621. package/skills/front-end/internal-comms/examples/company-newsletter.md +65 -0
  1622. package/skills/front-end/internal-comms/examples/faq-answers.md +30 -0
  1623. package/skills/front-end/internal-comms/examples/general-comms.md +16 -0
  1624. package/skills/front-end/mcp-builder/LICENSE.txt +202 -0
  1625. package/skills/front-end/mcp-builder/SKILL.md +236 -0
  1626. package/skills/front-end/mcp-builder/reference/evaluation.md +602 -0
  1627. package/skills/front-end/mcp-builder/reference/mcp_best_practices.md +249 -0
  1628. package/skills/front-end/mcp-builder/reference/node_mcp_server.md +970 -0
  1629. package/skills/front-end/mcp-builder/reference/python_mcp_server.md +719 -0
  1630. package/skills/front-end/mcp-builder/scripts/connections.py +151 -0
  1631. package/skills/front-end/mcp-builder/scripts/evaluation.py +373 -0
  1632. package/skills/front-end/mcp-builder/scripts/example_evaluation.xml +22 -0
  1633. package/skills/front-end/mcp-builder/scripts/requirements.txt +2 -0
  1634. package/skills/front-end/pdf/LICENSE.txt +30 -0
  1635. package/skills/front-end/pdf/SKILL.md +314 -0
  1636. package/skills/front-end/pdf/forms.md +294 -0
  1637. package/skills/front-end/pdf/reference.md +612 -0
  1638. package/skills/front-end/pdf/scripts/check_bounding_boxes.py +65 -0
  1639. package/skills/front-end/pdf/scripts/check_fillable_fields.py +11 -0
  1640. package/skills/front-end/pdf/scripts/convert_pdf_to_images.py +33 -0
  1641. package/skills/front-end/pdf/scripts/create_validation_image.py +37 -0
  1642. package/skills/front-end/pdf/scripts/extract_form_field_info.py +122 -0
  1643. package/skills/front-end/pdf/scripts/extract_form_structure.py +115 -0
  1644. package/skills/front-end/pdf/scripts/fill_fillable_fields.py +98 -0
  1645. package/skills/front-end/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  1646. package/skills/front-end/pptx/LICENSE.txt +30 -0
  1647. package/skills/front-end/pptx/SKILL.md +232 -0
  1648. package/skills/front-end/pptx/editing.md +205 -0
  1649. package/skills/front-end/pptx/pptxgenjs.md +420 -0
  1650. package/skills/front-end/pptx/scripts/__init__.py +0 -0
  1651. package/skills/front-end/pptx/scripts/add_slide.py +195 -0
  1652. package/skills/front-end/pptx/scripts/clean.py +286 -0
  1653. package/skills/front-end/pptx/scripts/office/helpers/__init__.py +0 -0
  1654. package/skills/front-end/pptx/scripts/office/helpers/merge_runs.py +199 -0
  1655. package/skills/front-end/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  1656. package/skills/front-end/pptx/scripts/office/pack.py +159 -0
  1657. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1658. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1659. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1660. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1661. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1662. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1663. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1664. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1665. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1666. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1667. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1668. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1669. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1670. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1671. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1672. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1673. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1674. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1675. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1676. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1677. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1678. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1679. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1680. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1681. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1682. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1683. package/skills/front-end/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1684. package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1685. package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1686. package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1687. package/skills/front-end/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1688. package/skills/front-end/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  1689. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  1690. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  1691. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  1692. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1693. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1694. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1695. package/skills/front-end/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1696. package/skills/front-end/pptx/scripts/office/soffice.py +183 -0
  1697. package/skills/front-end/pptx/scripts/office/unpack.py +132 -0
  1698. package/skills/front-end/pptx/scripts/office/validate.py +111 -0
  1699. package/skills/front-end/pptx/scripts/office/validators/__init__.py +15 -0
  1700. package/skills/front-end/pptx/scripts/office/validators/base.py +847 -0
  1701. package/skills/front-end/pptx/scripts/office/validators/docx.py +446 -0
  1702. package/skills/front-end/pptx/scripts/office/validators/pptx.py +275 -0
  1703. package/skills/front-end/pptx/scripts/office/validators/redlining.py +247 -0
  1704. package/skills/front-end/pptx/scripts/thumbnail.py +289 -0
  1705. package/skills/front-end/skill-creator/LICENSE.txt +202 -0
  1706. package/skills/front-end/skill-creator/SKILL.md +485 -0
  1707. package/skills/front-end/skill-creator/agents/analyzer.md +274 -0
  1708. package/skills/front-end/skill-creator/agents/comparator.md +202 -0
  1709. package/skills/front-end/skill-creator/agents/grader.md +223 -0
  1710. package/skills/front-end/skill-creator/assets/eval_review.html +146 -0
  1711. package/skills/front-end/skill-creator/eval-viewer/generate_review.py +471 -0
  1712. package/skills/front-end/skill-creator/eval-viewer/viewer.html +1325 -0
  1713. package/skills/front-end/skill-creator/references/schemas.md +430 -0
  1714. package/skills/front-end/skill-creator/scripts/__init__.py +0 -0
  1715. package/skills/front-end/skill-creator/scripts/aggregate_benchmark.py +401 -0
  1716. package/skills/front-end/skill-creator/scripts/generate_report.py +326 -0
  1717. package/skills/front-end/skill-creator/scripts/improve_description.py +247 -0
  1718. package/skills/front-end/skill-creator/scripts/package_skill.py +136 -0
  1719. package/skills/front-end/skill-creator/scripts/quick_validate.py +103 -0
  1720. package/skills/front-end/skill-creator/scripts/run_eval.py +310 -0
  1721. package/skills/front-end/skill-creator/scripts/run_loop.py +328 -0
  1722. package/skills/front-end/skill-creator/scripts/utils.py +47 -0
  1723. package/skills/front-end/slack-gif-creator/LICENSE.txt +202 -0
  1724. package/skills/front-end/slack-gif-creator/SKILL.md +254 -0
  1725. package/skills/front-end/slack-gif-creator/core/easing.py +234 -0
  1726. package/skills/front-end/slack-gif-creator/core/frame_composer.py +176 -0
  1727. package/skills/front-end/slack-gif-creator/core/gif_builder.py +269 -0
  1728. package/skills/front-end/slack-gif-creator/core/validators.py +136 -0
  1729. package/skills/front-end/slack-gif-creator/requirements.txt +4 -0
  1730. package/skills/front-end/web-artifacts-builder/LICENSE.txt +202 -0
  1731. package/skills/front-end/web-artifacts-builder/SKILL.md +74 -0
  1732. package/skills/front-end/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
  1733. package/skills/front-end/web-artifacts-builder/scripts/init-artifact.sh +322 -0
  1734. package/skills/front-end/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  1735. package/skills/front-end/webapp-testing/LICENSE.txt +202 -0
  1736. package/skills/front-end/webapp-testing/SKILL.md +96 -0
  1737. package/skills/front-end/webapp-testing/examples/console_logging.py +35 -0
  1738. package/skills/front-end/webapp-testing/examples/element_discovery.py +40 -0
  1739. package/skills/front-end/webapp-testing/examples/static_html_automation.py +33 -0
  1740. package/skills/front-end/webapp-testing/scripts/with_server.py +106 -0
  1741. package/skills/front-end/xlsx/LICENSE.txt +30 -0
  1742. package/skills/front-end/xlsx/SKILL.md +292 -0
  1743. package/skills/front-end/xlsx/scripts/office/helpers/__init__.py +0 -0
  1744. package/skills/front-end/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  1745. package/skills/front-end/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  1746. package/skills/front-end/xlsx/scripts/office/pack.py +159 -0
  1747. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  1748. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  1749. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  1750. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  1751. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  1752. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  1753. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  1754. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  1755. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  1756. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  1757. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  1758. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  1759. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  1760. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  1761. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  1762. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  1763. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  1764. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  1765. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  1766. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  1767. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  1768. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  1769. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  1770. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  1771. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  1772. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  1773. package/skills/front-end/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  1774. package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  1775. package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  1776. package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  1777. package/skills/front-end/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  1778. package/skills/front-end/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  1779. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  1780. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  1781. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  1782. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  1783. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  1784. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  1785. package/skills/front-end/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  1786. package/skills/front-end/xlsx/scripts/office/soffice.py +183 -0
  1787. package/skills/front-end/xlsx/scripts/office/unpack.py +132 -0
  1788. package/skills/front-end/xlsx/scripts/office/validate.py +111 -0
  1789. package/skills/front-end/xlsx/scripts/office/validators/__init__.py +15 -0
  1790. package/skills/front-end/xlsx/scripts/office/validators/base.py +847 -0
  1791. package/skills/front-end/xlsx/scripts/office/validators/docx.py +446 -0
  1792. package/skills/front-end/xlsx/scripts/office/validators/pptx.py +275 -0
  1793. package/skills/front-end/xlsx/scripts/office/validators/redlining.py +247 -0
  1794. package/skills/front-end/xlsx/scripts/recalc.py +184 -0
  1795. package/skills/languages/c/SKILL.md +74 -0
  1796. package/skills/languages/clojure/SKILL.md +73 -0
  1797. package/skills/languages/cpp/SKILL.md +75 -0
  1798. package/skills/languages/csharp/SKILL.md +75 -0
  1799. package/skills/languages/dart/SKILL.md +82 -0
  1800. package/skills/languages/elixir/SKILL.md +74 -0
  1801. package/skills/languages/erlang/SKILL.md +76 -0
  1802. package/skills/languages/go/SKILL.md +83 -0
  1803. package/skills/languages/haskell/SKILL.md +70 -0
  1804. package/skills/languages/java/SKILL.md +71 -0
  1805. package/skills/languages/javascript/SKILL.md +62 -0
  1806. package/skills/languages/kotlin/SKILL.md +68 -0
  1807. package/skills/languages/lua/SKILL.md +79 -0
  1808. package/skills/languages/objectivec/SKILL.md +83 -0
  1809. package/skills/languages/php/SKILL.md +74 -0
  1810. package/skills/languages/python/SKILL.md +68 -0
  1811. package/skills/languages/r/SKILL.md +70 -0
  1812. package/skills/languages/ruby/SKILL.md +67 -0
  1813. package/skills/languages/rust/SKILL.md +72 -0
  1814. package/skills/languages/scala/SKILL.md +73 -0
  1815. package/skills/languages/swift/SKILL.md +73 -0
  1816. package/skills/languages/typescript/SKILL.md +69 -0
  1817. package/skills/meta/authoring-agent-skills/SKILL.md +73 -0
  1818. package/skills/meta/progressive-disclosure/SKILL.md +65 -0
  1819. package/skills/meta/skill-frontmatter-spec/SKILL.md +65 -0
  1820. package/skills/process/adr-technical-decisions/SKILL.md +59 -0
  1821. package/skills/process/app-planning/SKILL.md +63 -0
  1822. package/skills/process/architecture-before-code/SKILL.md +52 -0
  1823. package/skills/process/breaking-work-into-sprints/SKILL.md +53 -0
  1824. package/skills/process/idea-to-product/SKILL.md +50 -0
  1825. package/skills/process/mocks-and-screen-flows/SKILL.md +52 -0
  1826. package/skills/process/prioritization-moscow-rice/SKILL.md +64 -0
  1827. package/skills/process/problem-framing/SKILL.md +51 -0
  1828. package/skills/process/product-discovery/SKILL.md +53 -0
  1829. package/skills/process/readme-generation/SKILL.md +90 -0
  1830. package/skills/process/requirements-to-specs/SKILL.md +53 -0
  1831. package/skills/process/research-official-docs/SKILL.md +58 -0
  1832. package/skills/process/review-code-perf-security/SKILL.md +65 -0
  1833. package/skills/process/security-by-design/SKILL.md +68 -0
  1834. package/skills/process/specs-to-issues/SKILL.md +53 -0
  1835. package/skills/process/testing-before-done/SKILL.md +61 -0
  1836. package/skills/process/validating-ux-navigation/SKILL.md +63 -0
  1837. package/skills/references/ai-attachments-ui/SKILL.md +66 -0
  1838. package/skills/references/ai-in-browser-webllm/SKILL.md +74 -0
  1839. package/skills/references/ai-tool-ui-patterns/SKILL.md +63 -0
  1840. package/skills/references/component-patterns-gallery/SKILL.md +62 -0
  1841. package/skills/references/gradient-resources/SKILL.md +66 -0
  1842. package/skills/references/react-component-libraries/SKILL.md +61 -0
  1843. package/skills/references/saas-landing-patterns/SKILL.md +67 -0
  1844. package/skills/references/shadcn-tailwind-theming/SKILL.md +74 -0
  1845. package/skills/references/vercel-ai-sdk-elements/SKILL.md +66 -0
  1846. package/skills/references/web-animation-codrops/SKILL.md +68 -0
  1847. package/skills/stacks/aiml/jupyter/SKILL.md +68 -0
  1848. package/skills/stacks/aiml/keras/SKILL.md +77 -0
  1849. package/skills/stacks/aiml/numpy/SKILL.md +69 -0
  1850. package/skills/stacks/aiml/pandas/SKILL.md +72 -0
  1851. package/skills/stacks/aiml/pytorch/SKILL.md +77 -0
  1852. package/skills/stacks/aiml/scikit-learn/SKILL.md +74 -0
  1853. package/skills/stacks/aiml/tensorflow/SKILL.md +79 -0
  1854. package/skills/stacks/auth/auth0/SKILL.md +63 -0
  1855. package/skills/stacks/auth/authjs/SKILL.md +69 -0
  1856. package/skills/stacks/auth/clerk/SKILL.md +72 -0
  1857. package/skills/stacks/auth/keycloak/SKILL.md +63 -0
  1858. package/skills/stacks/auth/lucia/SKILL.md +56 -0
  1859. package/skills/stacks/auth/passport/SKILL.md +70 -0
  1860. package/skills/stacks/auth/supabase-auth/SKILL.md +66 -0
  1861. package/skills/stacks/baas/amplify/SKILL.md +71 -0
  1862. package/skills/stacks/baas/appwrite/SKILL.md +79 -0
  1863. package/skills/stacks/baas/firebase/SKILL.md +73 -0
  1864. package/skills/stacks/baas/heroku/SKILL.md +71 -0
  1865. package/skills/stacks/backend/actix/SKILL.md +77 -0
  1866. package/skills/stacks/backend/adonisjs/SKILL.md +65 -0
  1867. package/skills/stacks/backend/aspnet-core/SKILL.md +75 -0
  1868. package/skills/stacks/backend/codeigniter/SKILL.md +76 -0
  1869. package/skills/stacks/backend/django/SKILL.md +62 -0
  1870. package/skills/stacks/backend/express/SKILL.md +65 -0
  1871. package/skills/stacks/backend/fastapi/SKILL.md +64 -0
  1872. package/skills/stacks/backend/fastify/SKILL.md +64 -0
  1873. package/skills/stacks/backend/fiber/SKILL.md +68 -0
  1874. package/skills/stacks/backend/flask/SKILL.md +71 -0
  1875. package/skills/stacks/backend/gin/SKILL.md +68 -0
  1876. package/skills/stacks/backend/graphql/SKILL.md +70 -0
  1877. package/skills/stacks/backend/hono/SKILL.md +64 -0
  1878. package/skills/stacks/backend/koa/SKILL.md +63 -0
  1879. package/skills/stacks/backend/laravel/SKILL.md +73 -0
  1880. package/skills/stacks/backend/nestjs/SKILL.md +70 -0
  1881. package/skills/stacks/backend/nginx/SKILL.md +77 -0
  1882. package/skills/stacks/backend/phoenix/SKILL.md +68 -0
  1883. package/skills/stacks/backend/rails/SKILL.md +67 -0
  1884. package/skills/stacks/backend/spring/SKILL.md +70 -0
  1885. package/skills/stacks/backend/spring-boot/SKILL.md +70 -0
  1886. package/skills/stacks/backend/symfony/SKILL.md +77 -0
  1887. package/skills/stacks/container/containerd/SKILL.md +75 -0
  1888. package/skills/stacks/container/docker/SKILL.md +90 -0
  1889. package/skills/stacks/container/podman/SKILL.md +93 -0
  1890. package/skills/stacks/database/cassandra/SKILL.md +74 -0
  1891. package/skills/stacks/database/cockroachdb/SKILL.md +69 -0
  1892. package/skills/stacks/database/dynamodb/SKILL.md +62 -0
  1893. package/skills/stacks/database/mariadb/SKILL.md +71 -0
  1894. package/skills/stacks/database/mongodb/SKILL.md +71 -0
  1895. package/skills/stacks/database/mysql/SKILL.md +72 -0
  1896. package/skills/stacks/database/neon/SKILL.md +68 -0
  1897. package/skills/stacks/database/planetscale/SKILL.md +70 -0
  1898. package/skills/stacks/database/postgresql/SKILL.md +81 -0
  1899. package/skills/stacks/database/redis/SKILL.md +78 -0
  1900. package/skills/stacks/database/sqlite/SKILL.md +70 -0
  1901. package/skills/stacks/database/supabase/SKILL.md +79 -0
  1902. package/skills/stacks/dataviz/chart-js/SKILL.md +72 -0
  1903. package/skills/stacks/dataviz/d3/SKILL.md +77 -0
  1904. package/skills/stacks/dataviz/grafana/SKILL.md +69 -0
  1905. package/skills/stacks/dataviz/plotly/SKILL.md +71 -0
  1906. package/skills/stacks/frontend/alpine/SKILL.md +75 -0
  1907. package/skills/stacks/frontend/angular/SKILL.md +75 -0
  1908. package/skills/stacks/frontend/backbone/SKILL.md +82 -0
  1909. package/skills/stacks/frontend/ember/SKILL.md +85 -0
  1910. package/skills/stacks/frontend/htmx/SKILL.md +73 -0
  1911. package/skills/stacks/frontend/lit/SKILL.md +76 -0
  1912. package/skills/stacks/frontend/preact/SKILL.md +74 -0
  1913. package/skills/stacks/frontend/qwik/SKILL.md +65 -0
  1914. package/skills/stacks/frontend/react/SKILL.md +77 -0
  1915. package/skills/stacks/frontend/solidjs/SKILL.md +75 -0
  1916. package/skills/stacks/frontend/svelte/SKILL.md +70 -0
  1917. package/skills/stacks/frontend/vue/SKILL.md +69 -0
  1918. package/skills/stacks/infra/ansible/SKILL.md +76 -0
  1919. package/skills/stacks/infra/aws/SKILL.md +66 -0
  1920. package/skills/stacks/infra/azure/SKILL.md +72 -0
  1921. package/skills/stacks/infra/circleci/SKILL.md +78 -0
  1922. package/skills/stacks/infra/cloudflare/SKILL.md +65 -0
  1923. package/skills/stacks/infra/fly-io/SKILL.md +63 -0
  1924. package/skills/stacks/infra/gcp/SKILL.md +66 -0
  1925. package/skills/stacks/infra/jenkins/SKILL.md +73 -0
  1926. package/skills/stacks/infra/kubernetes/SKILL.md +64 -0
  1927. package/skills/stacks/infra/netlify/SKILL.md +60 -0
  1928. package/skills/stacks/infra/railway/SKILL.md +63 -0
  1929. package/skills/stacks/infra/tailscale/SKILL.md +65 -0
  1930. package/skills/stacks/infra/terraform/SKILL.md +75 -0
  1931. package/skills/stacks/infra/vagrant/SKILL.md +70 -0
  1932. package/skills/stacks/infra/vercel/SKILL.md +60 -0
  1933. package/skills/stacks/meta/astro/SKILL.md +64 -0
  1934. package/skills/stacks/meta/docusaurus/SKILL.md +71 -0
  1935. package/skills/stacks/meta/eleventy/SKILL.md +69 -0
  1936. package/skills/stacks/meta/gatsby/SKILL.md +63 -0
  1937. package/skills/stacks/meta/hugo/SKILL.md +73 -0
  1938. package/skills/stacks/meta/jekyll/SKILL.md +70 -0
  1939. package/skills/stacks/meta/nextjs/SKILL.md +62 -0
  1940. package/skills/stacks/meta/nuxt/SKILL.md +66 -0
  1941. package/skills/stacks/meta/remix/SKILL.md +67 -0
  1942. package/skills/stacks/meta/sveltekit/SKILL.md +70 -0
  1943. package/skills/stacks/meta/vite/SKILL.md +63 -0
  1944. package/skills/stacks/mobile/android/SKILL.md +77 -0
  1945. package/skills/stacks/mobile/flutter/SKILL.md +77 -0
  1946. package/skills/stacks/mobile/ionic/SKILL.md +72 -0
  1947. package/skills/stacks/mobile/nativescript/SKILL.md +71 -0
  1948. package/skills/stacks/mobile/react-native/SKILL.md +75 -0
  1949. package/skills/stacks/mobile/xamarin/SKILL.md +73 -0
  1950. package/skills/stacks/orm/diesel/SKILL.md +72 -0
  1951. package/skills/stacks/orm/django-orm/SKILL.md +58 -0
  1952. package/skills/stacks/orm/drizzle/SKILL.md +67 -0
  1953. package/skills/stacks/orm/gorm/SKILL.md +73 -0
  1954. package/skills/stacks/orm/knex/SKILL.md +64 -0
  1955. package/skills/stacks/orm/mongoose/SKILL.md +64 -0
  1956. package/skills/stacks/orm/prisma/SKILL.md +64 -0
  1957. package/skills/stacks/orm/sequelize/SKILL.md +65 -0
  1958. package/skills/stacks/orm/sqlalchemy/SKILL.md +71 -0
  1959. package/skills/stacks/orm/typeorm/SKILL.md +70 -0
  1960. package/skills/stacks/queue/bullmq/SKILL.md +69 -0
  1961. package/skills/stacks/queue/celery/SKILL.md +68 -0
  1962. package/skills/stacks/queue/kafka/SKILL.md +66 -0
  1963. package/skills/stacks/queue/nats/SKILL.md +66 -0
  1964. package/skills/stacks/queue/rabbitmq/SKILL.md +64 -0
  1965. package/skills/stacks/queue/redis/SKILL.md +66 -0
  1966. package/skills/stacks/runtime/beam/SKILL.md +72 -0
  1967. package/skills/stacks/runtime/bun/SKILL.md +80 -0
  1968. package/skills/stacks/runtime/deno/SKILL.md +74 -0
  1969. package/skills/stacks/runtime/dotnet/SKILL.md +64 -0
  1970. package/skills/stacks/runtime/jvm/SKILL.md +66 -0
  1971. package/skills/stacks/runtime/node/SKILL.md +70 -0
  1972. package/skills/stacks/runtime/pypy/SKILL.md +69 -0
  1973. package/skills/stacks/runtime/python3/SKILL.md +70 -0
  1974. package/skills/stacks/styling/bootstrap/SKILL.md +74 -0
  1975. package/skills/stacks/styling/bulma/SKILL.md +80 -0
  1976. package/skills/stacks/styling/chakra-ui/SKILL.md +61 -0
  1977. package/skills/stacks/styling/css-modules/SKILL.md +54 -0
  1978. package/skills/stacks/styling/mui/SKILL.md +60 -0
  1979. package/skills/stacks/styling/sass/SKILL.md +63 -0
  1980. package/skills/stacks/styling/shadcn-ui/SKILL.md +58 -0
  1981. package/skills/stacks/styling/styled-components/SKILL.md +62 -0
  1982. package/skills/stacks/styling/tailwind/SKILL.md +59 -0
  1983. package/skills/stacks/styling/unocss/SKILL.md +64 -0
  1984. package/skills/stacks/styling/vanilla-extract/SKILL.md +64 -0
  1985. package/skills/stacks/styling/vuetify/SKILL.md +89 -0
  1986. package/skills/stacks/testing/cypress/SKILL.md +68 -0
  1987. package/skills/stacks/testing/jasmine/SKILL.md +67 -0
  1988. package/skills/stacks/testing/jest/SKILL.md +67 -0
  1989. package/skills/stacks/testing/mocha/SKILL.md +71 -0
  1990. package/skills/stacks/testing/playwright/SKILL.md +68 -0
  1991. package/skills/stacks/testing/puppeteer/SKILL.md +70 -0
  1992. package/skills/stacks/testing/selenium/SKILL.md +70 -0
  1993. package/skills/stacks/testing/vitest/SKILL.md +68 -0
@@ -0,0 +1,354 @@
1
+ (()=>{var a={};a.id=338,a.ids=[338],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},5006:a=>{"use strict";a.exports=import("@playwright/test")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13239:(a,b,c)=>{"use strict";c.d(b,{I:()=>f});var d=c(80280);let e=!1;function f(){e||(e=!0,d.F.exec(`
2
+ CREATE TABLE IF NOT EXISTS design_session (
3
+ id TEXT PRIMARY KEY,
4
+ workspace_id TEXT NOT NULL REFERENCES workspace(id) ON DELETE CASCADE,
5
+ title TEXT NOT NULL DEFAULT 'Design session',
6
+ status TEXT NOT NULL DEFAULT 'building',
7
+ tokens TEXT NOT NULL DEFAULT '{}',
8
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
9
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
10
+ );
11
+ CREATE INDEX IF NOT EXISTS design_session_ws_idx ON design_session (workspace_id, created_at);
12
+ CREATE TABLE IF NOT EXISTS design_page (
13
+ id TEXT PRIMARY KEY,
14
+ session_id TEXT NOT NULL REFERENCES design_session(id) ON DELETE CASCADE,
15
+ key TEXT NOT NULL,
16
+ name TEXT NOT NULL,
17
+ tree TEXT
18
+ );
19
+ CREATE INDEX IF NOT EXISTS design_page_sess_idx ON design_page (session_id);
20
+ CREATE TABLE IF NOT EXISTS design_version (
21
+ id TEXT PRIMARY KEY,
22
+ session_id TEXT NOT NULL REFERENCES design_session(id) ON DELETE CASCADE,
23
+ label TEXT NOT NULL,
24
+ note TEXT NOT NULL DEFAULT '',
25
+ patch TEXT,
26
+ created_at INTEGER NOT NULL DEFAULT (unixepoch())
27
+ );
28
+ CREATE INDEX IF NOT EXISTS design_version_sess_idx ON design_version (session_id, created_at);
29
+ CREATE TABLE IF NOT EXISTS design_comment (
30
+ id TEXT PRIMARY KEY,
31
+ session_id TEXT NOT NULL REFERENCES design_session(id) ON DELETE CASCADE,
32
+ page_key TEXT NOT NULL,
33
+ xp REAL NOT NULL,
34
+ yp REAL NOT NULL,
35
+ body TEXT NOT NULL,
36
+ reply TEXT NOT NULL DEFAULT '',
37
+ selection TEXT,
38
+ created_at INTEGER NOT NULL DEFAULT (unixepoch())
39
+ );
40
+ CREATE INDEX IF NOT EXISTS design_comment_sess_idx ON design_comment (session_id);
41
+ `))}},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21308:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(53488),e=c(69743),f=c(34185),g=c(65510),h=c(72584),i=c(75994),j=c(66273),k=c(50962),l=c(26936),m=c(14018),n=c(99048),o=c(45164),p=c(25026),q=c(47743),r=c(261),s=c(18619),t=c(61528),u=c(26713),v=c(26242),w=c(20599),x=c(23307),y=c(22204),z=c(6044),A=c(61840),B=c(7612),C=c(86439),D=c(77068),E=c(6944),F=c(66516),G=c(4984),H=c(60865),I=c(70722),J=c(77032),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["(app)",{children:["design",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,44616)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,94496)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,35266)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,84946,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,22835,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,61238,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,91517)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\layout.tsx"],error:[()=>Promise.resolve().then(c.bind(c,28173)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\error.tsx"],"global-error":[()=>Promise.resolve().then(c.bind(c,24759)),"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\global-error.tsx"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,84946,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,22835,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,61238,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(app)/design/page",pathname:"/design",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/(app)/design/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(98649).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
42
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},37067:a=>{"use strict";a.exports=require("node:http")},41012:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,63885,23)),Promise.resolve().then(c.bind(c,98705)),Promise.resolve().then(c.bind(c,46173)),Promise.resolve().then(c.bind(c,93209)),Promise.resolve().then(c.bind(c,55872)),Promise.resolve().then(c.bind(c,32847)),Promise.resolve().then(c.bind(c,68294)),Promise.resolve().then(c.bind(c,46694)),Promise.resolve().then(c.bind(c,51221))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44616:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(61576),e=c(1782),f=c(7852),g=c(80280),h=c(25533),i=c(95896),j=c(5323),k=c(67949),l=c(88639),m=c(13239),n=c(45011);async function o(){let a=await (0,k.l)(),{org:b,workspace:c}=await (0,i.nP)();(0,m.I)();let o=(0,l.zw)(b.id,c),p=(0,l.Iz)(b.id),q=(0,l.hp)(b.id),r=await g.db.select().from(h.agent).where((0,e.eq)(h.agent.workspaceId,c.id)),s=r.find(a=>"grace"===a.handle)??r.find(a=>/front\s?end|\bui\b|\bux\b/i.test(a.role))??null,[t]=await g.db.select().from(h.designSession).where((0,e.eq)(h.designSession.workspaceId,c.id)).orderBy((0,f.i)(h.designSession.createdAt)).limit(1);return(0,d.jsx)(j._,{title:a("mod.design"),sub:"Prototype the UI with the frontend agent before the plan",flush:!0,children:(0,d.jsx)(n.DesignClient,{context:{mission:o.mission,objective:o.objective,stackList:o.stackList,brief:!!o.brief,mockCount:o.mockFiles.length,designMockFiles:o.designMockFiles,designSkillCount:o.designSkills.length,hasImported:o.hasImported,approved:!!o.approved,gatePending:!!p.requestedPlanAt&&!p.skip,gateScaffolded:!!p.scaffoldedAt,handoffPending:!!p.handoffAt,handoffDone:!!q.at},grace:s?{id:s.id,name:s.name,handle:s.handle,color:s.color,image:s.image??null}:null,status:t?.status??"building",tokens:t?.tokens??null})})}},45011:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>d});let d=(0,c(62060).registerClientReference)(function(){throw Error("Attempted to call DesignClient() from the server but DesignClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Usuario\\Documents\\constella\\src\\app\\(app)\\design\\design-client.tsx","DesignClient")},46466:a=>{"use strict";a.exports=require("node:stream/promises")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64980:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,4195,23)),Promise.resolve().then(c.bind(c,45011)),Promise.resolve().then(c.bind(c,32825)),Promise.resolve().then(c.bind(c,15783)),Promise.resolve().then(c.bind(c,67686)),Promise.resolve().then(c.bind(c,29876)),Promise.resolve().then(c.bind(c,16120)),Promise.resolve().then(c.bind(c,42328)),Promise.resolve().then(c.bind(c,4719))},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},74075:a=>{"use strict";a.exports=require("zlib")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87606:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"000092376504dffe42d6d7bbea8971004cfbf59aa1":()=>e.KO,"000a041d002c8ec4af941e0a6d667a3829b48260ce":()=>e.y_,"0012956bf2d3bbcb43f67d38b3aa8dfae55ac33977":()=>j.f,"0014d991f2d22e123e00d4c10ee8f9cda55424adfb":()=>n.Ni,"00188698481b69c79e5b3aa893fc26e4d0c1ad2c80":()=>n.I_,"002014c503129e70c12e060d2d82613f53e06ed951":()=>j.O,"002848aa56706bb4da36231d0469773010b5c65995":()=>h.Mp,"0034803147c448737f6a0164383dd37f8f93732bec":()=>d.bt,"003b0864cd6028ed215e860e8eab5e7c1ffff7c460":()=>k.io,"003de4055bdd508bb7e3a6a9715b3c76aa7c5bf19c":()=>k.eg,"00447576ecd8f610009a2c1071738c9934a1e9cd8f":()=>k.dj,"00469d0a33e26f3477a84aa01ef49f536b57179be4":()=>p.pM,"00489557c06166ea2ca69911c0a571a148ac5bf6f3":()=>o.j0,"0050116e1f2e9cd52a5bc7fd172d161f41f8803bc6":()=>o.Fy,"005378c98afb4c20e7152c9d11239ad09757831252":()=>e.PE,"0057467d49ea85739735767ccea6db330c76faeec8":()=>p.eU,"00582dbab5f37aed0f19eff37252e890c0a55f39d0":()=>e.GK,"005ea234d96275090327f7e2dcce8ca4432f5fe72c":()=>i.V,"005f3317d8b38b3db4c2f37199d1a5916eef4d4794":()=>o.zC,"0069fb8636b418f3a58772240c6bf50253c71b1f2c":()=>o.nx,"0077056643e96edd170af179462053352972b27b5d":()=>n.yL,"0081233510153f0339f73d725b2024d1229ff56c30":()=>n.e9,"0086f6c313e66383ec91413fd290e11f4488b81dee":()=>n.ME,"008771d0abb94f50766bb24974b9b085086e5a855c":()=>n.gn,"009513f8ddea5c0533a4b07002daa235220c6fcac6":()=>o.Rr,"00b1241dd421ffae4ebf008768be90ba5f35de7633":()=>d.xU,"00b8671f7cffcd5befee5520a52a5ec820587c104e":()=>n.wP,"00dac3ff0c42f059b0191a41b5ab5d1522e0c8db4f":()=>n.o3,"00e24c29c4b238e08be9728ea3975ef50ce267c56b":()=>n.Tu,"00e4e84e3295f14df7ae45000ba0c854a30927c6ac":()=>n.oS,"00ee83073d8c45c4fef5ff93c2d8698fc6367bea0e":()=>h.x7,"00ef40b521ba111ae5cd40d15fc2fbe1a31aec511b":()=>p.PG,"00f425d97f015d351ac953dc13fca079f8f98df80a":()=>n.PO,"40043b56e692c611ee1b3762d11ff2d59ad88f40e9":()=>g.p,"400afad86c243d920cb13488b8274bea36c18c21d3":()=>e.ey,"40211d14c88eb1be62ce200a5ef91e46df5e8444f8":()=>g.L,"40240213a9ee438876082ca59a072e1d2476d156c9":()=>e.jc,"4032d226a203b6346dafcb9cea575e462bb4a4b65d":()=>n.$_,"4034047e3cec56354eae1ec41f866469d06078fb04":()=>i.zS,"4034b958c5291072ebed84a5d32e5682c0472c7c27":()=>d.gg,"403ad35020d0178cad6c5c90cc869fc00fd1b6370c":()=>l.IL,"403c300530e143bf5ac45f084006cbf49445591b83":()=>l.q4,"40448c5c20fb04ace2af739622349aa2d52ade65fa":()=>i.F,"4050a8de593aa91a64bc534081570b5672455b599f":()=>h.lR,"4058c9447c6db1cfaceee0db2490f11726cf348d6a":()=>k.De,"40595242ae0f18bb3fd06f543cf9b0c6ae3aad2899":()=>d.Wu,"4061d2fff9149f3df3f6807779c546d43b8913db00":()=>e.r7,"406c88351d7da2900b007aeecb66633dd07a201621":()=>o.Xu,"40772803f1b35987781227336f23ecdbd55cf41fd1":()=>n.h_,"4077353cf164d10e348831f1282672c44d3bdf3683":()=>n.NM,"407efc0bd72272aed2f1d86ee92ec53b31e5797f6a":()=>e.S,"4086d172d8b634174e36e833f36bc02f7b18021ebf":()=>d.VL,"408e54a9df74874379d27e7c956b7b0de75c3665c1":()=>n.R6,"40903ff4e8850de2b9b0ec69f26d96d30e134dd37d":()=>e.RG,"409364c2aeb5b3848eb49929913f7b33024d052ade":()=>l.TX,"409d4cbe6ec07ab8ba3752b7baf907850f79f1584c":()=>o.KD,"40a4c8e3e773086f343e2bb6cf58c57b07351ab827":()=>n.a4,"40a6b07acdef8a3d7decbb3abd27a5e167f75ea818":()=>p.lP,"40bb21cbee60051771dac14e01d11aa866d00e3d27":()=>n.lj,"40bf3186ebd30c9abea9ad49c120b1f9b2c735c7ed":()=>d.H7,"40c17744973569bf9610916c2f6748f67f8ad28895":()=>d.GW,"40c2849ce4892a523c0f6826e0747a4a1bcb773954":()=>i.VJ,"40c8745e5d6d974d20084fff8a5273a8c2ca0f9c0e":()=>e.lJ,"40c976b278685e202b9a1713e53843aaf1c1f5d19f":()=>p.Kg,"40da0fa136729a64a58a5f45fc8b28376f4815c529":()=>i.E_,"40dee46f36e4a9bb45be083e921cbcb6d63d8b3413":()=>h.sE,"40ec36241c94b82fe0ccce5fc92b08e8c1267bda9b":()=>n.is,"40ec6c4022bb3dfafc90468d52e0b712636870219c":()=>d.rd,"40efca1b9d4ba273817cb7d8ccd73df095d8e8f922":()=>n.DX,"40fa257cf42313ca1a9fed2fb49ec7bf574cdbb57f":()=>n.fb,"40fea276f6a37289f66ea71a9be729e90d327aed30":()=>m.y,"600359c903bcdc4ad6575d966b7463b7f9e19aa7e5":()=>n.EQ,"6005fb86a682acf6b3948ce8d64f99a35da0711b34":()=>d.Fu,"602814b8498582495a69b0fb34cb400cc5ddea55ec":()=>n.Fo,"602efc219059d5ba747378f56cb838f0e2cedcdc44":()=>n.pG,"60300c3c1b471de37b1ad03e1bf78f8596b81af871":()=>n.qw,"6033cc0835248a7816d4e182773d13dcef21a80b1f":()=>n.NW,"604869f74335ae977b0d204b7a7725ea081c2e464b":()=>d.ME,"6061e793e98c6b7f50d458860e7c5d195c55c353b7":()=>o.TH,"6074da5a27c85308f0283832ba086dca01f11fd987":()=>n.ft,"60837f6c4d61a9e9bad7a4274f4d0e34a2ffeb3ac2":()=>d.n4,"60b2fea611b43792cdb4ef4bb5ea683665a4c11d10":()=>e.q$,"60b5011b57b25dd9d35c49e5581c26ff1450ffa84d":()=>e.AA,"60bd7f16418dc50dc8405ee52f569d6b76466e42c2":()=>f.k,"60d16690209bf12aea1d75ba6059b2f84df249820f":()=>l.bV,"60d1fe520970bf752f500c890281183070c12509ab":()=>d.rm,"60dc2159d814bcfe5bc8b5ca4c83c13d0fbc05d649":()=>f.I,"60de95de8a5060a0f9a0f91b59bf3c95b0e0ee6139":()=>n.RS,"60e054d3049e470186974cc7df6fc2dd249a75c60c":()=>l.bk,"60e981141c7241ed2a57000dff2d1ed708490a88d9":()=>e.LZ,"60ee693aca6ae1a7fcd00b81c6a6448ea3d1f0cf2c":()=>d.jw,"60fdda9dd1e684dbfc27b991588ef88964c62f95eb":()=>l.Jp,"7047cab3d785753e6eacfbdb8cb4bfa768b707c1fe":()=>d._z,"7089c528fa1527363d04960b5ebfedacd2614a4547":()=>n.Sy,"70ab3ef26c7e92e3e1c1e22461b0e2ef3159149053":()=>e.M8,"70dd1e0eac2da0e73b3af34ed3d5b754ea6cc7e20a":()=>n.sy,"70de59fd4b9e86e3f6429fa542c6f89009bb22ad9f":()=>n.a7,"70fcc40ff209eb152c7cf2b6e86ae61f923ffd0fee":()=>n.fM,"7cbcc33e46ce24b17bb67eeeab3fcf2664c489efe0":()=>n.Hg});var d=c(97140),e=c(15487),f=c(79505),g=c(51605),h=c(46363),i=c(46282),j=c(387),k=c(13604),l=c(7482),m=c(58169),n=c(90259),o=c(60686),p=c(52932)},88639:(a,b,c)=>{"use strict";c.d(b,{Bl:()=>y,DQ:()=>q,Er:()=>m,H5:()=>p,Iz:()=>o,Nt:()=>w,Oi:()=>g,e1:()=>t,hp:()=>s,iF:()=>u,uy:()=>i,zw:()=>h});var d=c(18612),e=c(85509),f=c(6873);let g="design-mock/APPROVED.md";function h(a,b){let c=(0,d.CS)(a),f=c.filter(a=>a.startsWith("mock/")&&"mock/README.md"!==a),h=c.filter(a=>a.startsWith("design-mock/")&&!/\/README\.md$/i.test(a)&&a!==g),i=c.filter(a=>a.startsWith("design-skills/")&&a.endsWith(".md")&&"design-skills/README.md"!==a),j=Object.entries(b.stack??{}).flatMap(([a,b])=>(0,e.jX)(b).filter(a=>"None"!==a).map(b=>`${a}: ${b}`)).join(", "),k=/^(\.claude\/|DOCS\/|PO\/|Reports\/|specs\/|issues\/|mock\/|design-mock\/|design-skills\/|README\.md$)/i,l=c.some(a=>!k.test(a));return{brief:(0,d.sL)(a,".claude/BRIEF.md")??"",mission:b.mission??"",objective:b.objective??"",stackList:j,mockFiles:f,designMockFiles:h,designSkills:i,approved:(0,d.sL)(a,g),hasImported:l}}function i(a){return[a.mission?`Mission: ${a.mission}`:"",a.objective?`Objective: ${a.objective}`:"",a.stackList?`Chosen stack: ${a.stackList}. Generate markup compatible with it — never generic.`:"",a.brief?`
43
+ Project brief:
44
+ ${a.brief.slice(0,3e3)}`:"",a.mockFiles.length?`
45
+ Attached mock/prototype (${a.mockFiles.length} files): ${a.mockFiles.slice(0,14).join(", ")} — read them and match the product precisely.`:"",a.designMockFiles.length?`
46
+ Design module output so far (design-mock/): ${a.designMockFiles.slice(0,14).join(", ")}.`:"",a.designSkills.length?`
47
+ Design skills available (design-skills/): ${a.designSkills.map(a=>a.replace(/^design-skills\//,"")).slice(0,20).join(", ")} — consult the relevant ones.`:"",a.approved?`
48
+ An APPROVED design already exists (design-mock/APPROVED.md) — the official visual reference. Honor it; do not drift.`:"",a.hasImported?`
49
+ There is an existing imported/scaffolded project in this workspace — extend it, preserve its visual identity.`:""].filter(Boolean).join("\n")}let j={hotel:["hospitality","booking","reservation","rooms","travel","checkin","premium","gallery","amenities"],hospedagem:["hotel","booking","reservation","rooms","hospitality"],reserva:["booking","calendar","availability","checkout"],restaurant:["menu","food","reservation","hospitality","gallery"],restaurante:["menu","food","reservation","hospitality"],ecommerce:["product","cart","checkout","catalog","pricing","payment"],loja:["ecommerce","product","cart","checkout","catalog"],shop:["ecommerce","product","cart","checkout"],store:["ecommerce","product","cart","checkout"],dashboard:["charts","dataviz","tables","kpi","analytics","admin"],saas:["dashboard","pricing","onboarding","settings","billing"],fintech:["dashboard","charts","security","transactions","kpi"],banking:["fintech","transactions","security","cards","dashboard"],banco:["fintech","transactions","security","cards"],calculator:["mobile","grid","buttons","keypad","ios"],calculadora:["mobile","grid","buttons","keypad","ios"],apple:["ios","glassmorphism","minimal","typography","rounded","microinteractions"],ios:["apple","glassmorphism","mobile","rounded","microinteractions","minimal"],glassmorphism:["blur","translucent","frosted","depth","gradient"],neumorphism:["shadow","embossed","monochrome"],minimal:["whitespace","typography","restraint","grid"],minimalista:["whitespace","typography","grid"],brutalist:["bold","contrast","raw","monospace"],landing:["hero","cta","sections","features","testimonials","pricing","footer"],portfolio:["gallery","grid","casestudy","minimal","typography"],blog:["typography","reading","article","content"],social:["feed","cards","avatars","interactions","realtime"],chat:["messages","bubbles","realtime","input","avatars"],mobile:["responsive","touch","ios","android"],admin:["dashboard","tables","forms","crud","data"],dark:["theme","contrast"],premium:["luxury","typography","spacing","motion","elegant"],animation:["motion","transitions","keyframes","microinteractions"],motion:["animation","transitions","microinteractions"],accessibility:["a11y","contrast","focus","aria","wcag"]},k=new Set("the a an and or of to for with in on at is are be this that you your our it its build create make page screen app site website using use want need please can grace design quero uma para com que the and dos das uma novo nova".split(/\s+/));function l(a){return(a||"").toLowerCase().replace(/[^a-z0-9çãáéíóúâêôà\s-]/gi," ").split(/\s+/).filter(a=>a.length>=3&&!k.has(a))}function m(a,b){let c=function(a,b){let c=l([b||"",a.mission,a.objective,a.brief.slice(0,1500),a.stackList,a.mockFiles.map(a=>a.split("/").pop()||"").join(" ")].join(" ")),d={};for(let a of c)d[a]=(d[a]||0)+1;if(b)for(let a of l(b))d[a]=(d[a]||0)+3;let e=new Map;for(let a of Object.keys(d))e.set(a,(e.get(a)||0)+d[a]);for(let a of Object.keys(d))for(let[b,c]of Object.entries(j))if(a.includes(b)||b.includes(a))for(let a of c)e.set(a,(e.get(a)||0)+1);return Array.from(e.entries()).sort((a,b)=>b[1]-a[1]).map(([a])=>a).slice(0,24)}(a,b),d=function(a,b=8){let c=a.map(a=>a.toLowerCase());if(!c.length)return[];let d=[];for(let a of(0,f.Cg)().values()){let b=(a.tags||[]).map(a=>a.toLowerCase()),e=(a.name+" "+a.description+" "+a.domain+" "+a.category+" "+b.join(" ")).toLowerCase(),f=a.name.toLowerCase().split(/[^a-z0-9]+/).filter(Boolean),g=0;for(let a of c)f.includes(a)||b.includes(a)?g+=4:e.includes(a)&&(g+=1);("design"===a.domain||"design"===a.category)&&(g+=.5),g>0&&d.push({name:a.name,description:a.description,score:g})}return d.sort((a,b)=>b.score-a.score).slice(0,b).map(({name:a,description:b})=>({name:a,description:b}))}(c,8);return[c.length?`
50
+ DETECTED CONTEXT (domain + visual intent): ${c.slice(0,16).join(", ")}. Ground the palette, typography, layout, components and motion in THIS product's domain and style — never a generic AI look.`:"",d.length?`
51
+ MOST RELEVANT seeded skills for THIS request — READ the matching \`.claude/skills/<name>.md\` FIRST before building:
52
+ ${d.map(a=>`- ${a.name}: ${a.description}`).join("\n")}`:""].filter(Boolean).join("\n")}let n=".claude/design-gate.json";function o(a){let b=(0,d.sL)(a,n);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function p(a,b){try{(0,d.dx)(a,n,JSON.stringify(b,null,2))}catch{}}function q(a){p(a,{skip:!1})}let r=".claude/design-promoted.json";function s(a){let b=(0,d.sL)(a,r);if(!b)return{};try{return JSON.parse(b)||{}}catch{return{}}}function t(a,b){try{(0,d.dx)(a,r,JSON.stringify(b,null,2))}catch{}}function u(a){let b=a.designMockFiles.some(a=>/design-mock\/screens\/.+\.html?$/i.test(a));return!a.approved&&!b}let v=/\b(tela|telas|screen|screens|p[áa]gina|pagina|page|pages|web|webapp|web-?app|website|site|app|apps|aplicativo|aplica[çc][ãa]o|spa|single-?page|pwa|ui|ux|interface|frontend|front-?end|layout|component|componente|design|visual|dashboard|form|formul[áa]rio|formulario|bot[ãa]o|botao|button|modal|menu|nav|navbar|sidebar|card|landing|hero|gallery|galeria|theme|tema|palette|paleta|typography|tipografia|style|estilo|css|html|responsive|responsiv[oa]|mobile|desktop|tablet|anima[çc][ãa]o|animation|microintera[çc][õo]es|wizard|onboarding|checkout|perfil|profile|settings|configura[çc][õo]es|view|views|render)\b/i;function w(a){return!!a&&v.test(a)}let x=/\b(api|rest|restful|graphql|grpc|cli|command[\s-]?line|terminal|backend|back-?end|micro-?service|microservices|service|library|\bsdk\b|daemon|cron|scheduler|pipeline|etl|database|\bdb\b|infra|infrastructure|devops|webhook|message[\s-]?queue|\bqueue\b|worker|scraper|crawler|\bbot\b|middleware|server[\s-]?side|protocol|compiler|parser|scraping)\b/i;function y(a){return!!a&&x.test(a)&&!w(a)}},98705:(a,b,c)=>{"use strict";c.d(b,{DesignClient:()=>Z});var d=c(4374),e=c(74679),f=c(47104),g=c(31819),h=c(43526),i=c(14698),j=c(83403);c(82722),c(25978);var k=c(2910);let l=(0,k.createServerReference)("40efca1b9d4ba273817cb7d8ccd73df095d8e8f922",k.callServer,void 0,k.findSourceMapURL,"getDesignScreen");k.callServer,k.findSourceMapURL;let m=(0,k.createServerReference)("7089c528fa1527363d04960b5ebfedacd2614a4547",k.callServer,void 0,k.findSourceMapURL,"askDesign");k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL,k.callServer,k.findSourceMapURL;let n=(0,k.createServerReference)("40bb21cbee60051771dac14e01d11aa866d00e3d27",k.callServer,void 0,k.findSourceMapURL,"readDesignDoc"),o=(0,k.createServerReference)("00e24c29c4b238e08be9728ea3975ef50ce267c56b",k.callServer,void 0,k.findSourceMapURL,"scaffoldDesignFromBrief"),p=(0,k.createServerReference)("600359c903bcdc4ad6575d966b7463b7f9e19aa7e5",k.callServer,void 0,k.findSourceMapURL,"commitDesignScreen"),q=(0,k.createServerReference)("40a4c8e3e773086f343e2bb6cf58c57b07351ab827",k.callServer,void 0,k.findSourceMapURL,"saveDesignCheckpoint");k.callServer,k.findSourceMapURL;let r=(0,k.createServerReference)("40ec36241c94b82fe0ccce5fc92b08e8c1267bda9b",k.callServer,void 0,k.findSourceMapURL,"approveDesign"),s=(0,k.createServerReference)("00e4e84e3295f14df7ae45000ba0c854a30927c6ac",k.callServer,void 0,k.findSourceMapURL,"handoffToExecution"),t=(0,k.createServerReference)("00188698481b69c79e5b3aa893fc26e4d0c1ad2c80",k.callServer,void 0,k.findSourceMapURL,"resumeDesignHandoff"),u=(0,k.createServerReference)("0081233510153f0339f73d725b2024d1229ff56c30",k.callServer,void 0,k.findSourceMapURL,"buildDesignProduction"),v=(0,k.createServerReference)("70de59fd4b9e86e3f6429fa542c6f89009bb22ad9f",k.callServer,void 0,k.findSourceMapURL,"addDesignMarkup"),w=(0,k.createServerReference)("7cbcc33e46ce24b17bb67eeeab3fcf2664c489efe0",k.callServer,void 0,k.findSourceMapURL,"addDesignComment"),x=(0,k.createServerReference)("4077353cf164d10e348831f1282672c44d3bdf3683",k.callServer,void 0,k.findSourceMapURL,"deleteDesignComment"),y=(0,k.createServerReference)("40fa257cf42313ca1a9fed2fb49ec7bf574cdbb57f",k.callServer,void 0,k.findSourceMapURL,"restoreDesignCheckpoint"),z=(0,k.createServerReference)("602efc219059d5ba747378f56cb838f0e2cedcdc44",k.callServer,void 0,k.findSourceMapURL,"restoreDesignVersion");var A=c(89814),B=c(77954);let C=`(function(){
53
+ var MODE = "select";
54
+ var ZOOM = 1, ZOX = 0, ZOY = 0;
55
+
56
+ // ── Stable element identity ──────────────────────────────────────────────────────────────────────
57
+ // Every element the operator touches gets a persistent data-cstla-id ("c7") so the host can target live
58
+ // edits by id and ids survive a commit→reload round-trip. Seed the counter from any ids already in the
59
+ // (previously committed) body so we never reissue one.
60
+ var CIDN = 0;
61
+ (function(){ var a=document.querySelectorAll("[data-cstla-id]"); for(var i=0;i<a.length;i++){ var n=parseInt(((a[i].getAttribute("data-cstla-id")||"").replace(/^c/,"")),10); if(n>CIDN)CIDN=n; } })();
62
+ function cid(el){ var id=el.getAttribute&&el.getAttribute("data-cstla-id"); if(id)return id; CIDN++; id="c"+CIDN; el.setAttribute("data-cstla-id",id); return id; }
63
+ function byId(id){ try{ return document.querySelector('[data-cstla-id="'+id+'"]'); }catch(e){ return null; } }
64
+ function isInstrumentNode(n){ return n && n.nodeType===1 && n.getAttribute && n.getAttribute("data-cstla-instrument")!=null; }
65
+ function isZoomRoot(n){ return n && n.nodeType===1 && n.getAttribute && n.getAttribute("data-cstla-zoom-root")!=null; }
66
+ // Zoom is applied HOST-SIDE now (the host scales the iframe wrapper); inside the iframe everything stays 1:1, so
67
+ // coordinates/drag/resize are plain px and the body gets NO transform (a transform on <body> would re-anchor
68
+ // position:fixed children and break the screen). ZOOM stays 1 → logicalX/logicalY/unzoomRect below are kept as
69
+ // identity helpers (call sites unchanged) and applyZoom just re-reports content size + the layers tree.
70
+ function applyZoom(){ sz(); emitTree(); }
71
+ function logicalX(x){ return (x-ZOX)/ZOOM; }
72
+ function logicalY(y){ return (y-ZOY)/ZOOM; }
73
+ function unzoomRect(r){ var sx=window.scrollX||0, sy=window.scrollY||0; return { x:logicalX(r.left+sx), y:logicalY(r.top+sy), w:r.width/ZOOM, h:r.height/ZOOM }; }
74
+
75
+ // ── Persist backbone ─────────────────────────────────────────────────────────────────────────────
76
+ // After any direct-manipulation edit, debounce a "commit": serialize <body> (minus the instrument script
77
+ // + transient editing attrs) back to the host, which writes it into the screen file. "dirty" fires first
78
+ // so the host can suppress reload races + show a Saving indicator while the operator is editing.
79
+ var ctimer=null;
80
+ function touch(){ post("canvas:dirty", null); if(ctimer)clearTimeout(ctimer); ctimer=setTimeout(commitNow,450); }
81
+ // Serialize <body> minus the instrument script + transient editing attrs → the clean source we persist.
82
+ function serializeBody(){
83
+ var clone=document.body.cloneNode(true);
84
+ var mk=clone.querySelectorAll("[data-cstla-instrument]"); for(var i=0;i<mk.length;i++){ if(mk[i].parentNode)mk[i].parentNode.removeChild(mk[i]); }
85
+ var ce=clone.querySelectorAll("[contenteditable]"); for(var j=0;j<ce.length;j++){ ce[j].removeAttribute("contenteditable"); ce[j].style.outline=""; }
86
+ return clone.innerHTML;
87
+ }
88
+ function commitNow(){ ctimer=null; post("canvas:commit", { html: serializeBody() }); }
89
+ // History is HOST-owned (per screen, survives reload + screen-switch). The iframe only reports snapshots:
90
+ // - emitHistory(): one discrete undo state (after a finished gesture / structural cmd / field commit).
91
+ // - canvas:baseline (on ready): seeds the host's per-screen baseline.
92
+ // - setBody(html): the host sends a snapshot back for undo/redo; swap the body, preserving the instrument
93
+ // script + its document-level listeners (no history/commit emit — the host already persisted it).
94
+ function emitHistory(label){ post("canvas:history", { html: serializeBody(), label: label||"" }); emitTree(); }
95
+ function setBody(html){
96
+ var sc=document.querySelector("[data-cstla-instrument]"); if(sc&&sc.parentNode)sc.parentNode.removeChild(sc);
97
+ document.body.innerHTML=html; if(sc) document.body.appendChild(sc);
98
+ applyZoom(ZOOM); post("canvas:removed", { cstlaId:"" }); sz();
99
+ }
100
+
101
+ function lbl(el){
102
+ var ed = el.getAttribute && el.getAttribute("data-ed"); if(ed) return ed;
103
+ var aria = el.getAttribute && el.getAttribute("aria-label"); if(aria) return aria;
104
+ var tag = el.tagName.toLowerCase();
105
+ if(tag==="button"||tag==="a"){ var tx=(el.textContent||"").replace(/\\s+/g," ").trim().slice(0,24); return tx||tag; }
106
+ if(el.id) return tag+"#"+el.id;
107
+ if(typeof el.className==="string" && el.className.trim()){ var c=el.className.trim().split(/\\s+/)[0]; if(c) return tag+"."+c; }
108
+ return tag;
109
+ }
110
+ function docSize(){ var d=document.documentElement, b=document.body; return { w: Math.max(d.scrollWidth,b?b.scrollWidth:0,d.clientWidth), h: Math.max(d.scrollHeight,b?b.scrollHeight:0,d.clientHeight) }; }
111
+ function boxOf(el){ var b=unzoomRect(el.getBoundingClientRect()); return { x:b.x, y:b.y, w:b.w, h:b.h, label: lbl(el) }; }
112
+ function describe(el){
113
+ var r=el.getBoundingClientRect(), cs=getComputedStyle(el);
114
+ var b=unzoomRect(r);
115
+ var path=[], n=el, d=0;
116
+ while(n && n!==document.documentElement && d<6){ var p=n.tagName.toLowerCase(); var ed=n.getAttribute&&n.getAttribute("data-ed"); if(ed)p+="\\u00b7"+ed.split(" ")[0]; path.unshift(p); n=n.parentElement; d++; }
117
+ var sec = el.closest ? el.closest("[data-section]") : null;
118
+ return {
119
+ selectionId: "sel_"+Math.random().toString(36).slice(2,8),
120
+ cstlaId: cid(el),
121
+ elementType: el.tagName.toLowerCase(),
122
+ componentName: (el.getAttribute&&(el.getAttribute("data-comp")||el.getAttribute("data-ed")))||lbl(el),
123
+ domPath: path.join(" \\u203a "),
124
+ boundingBox: { x:b.x, y:b.y, w:b.w, h:b.h },
125
+ tx: txOf(el).x, ty: txOf(el).y, nodePath: pathOf(el),
126
+ computedStyles: {
127
+ display:cs.display, position:cs.position,
128
+ width:Math.round(b.w)+"px", height:Math.round(b.h)+"px",
129
+ margin:cs.margin, marginTop:cs.marginTop, marginRight:cs.marginRight, marginBottom:cs.marginBottom, marginLeft:cs.marginLeft,
130
+ padding:cs.padding, paddingTop:cs.paddingTop, paddingRight:cs.paddingRight, paddingBottom:cs.paddingBottom, paddingLeft:cs.paddingLeft,
131
+ gap:(cs.gap&&cs.gap!=="normal")?cs.gap:(cs.columnGap&&cs.columnGap!=="normal"?cs.columnGap:""),
132
+ color:cs.color, fontSize:cs.fontSize, fontWeight:cs.fontWeight, lineHeight:cs.lineHeight, letterSpacing:cs.letterSpacing, textAlign:cs.textAlign,
133
+ background:cs.backgroundColor, border:cs.borderTopWidth+" "+cs.borderTopStyle+" "+cs.borderTopColor, borderRadius:cs.borderTopLeftRadius,
134
+ boxShadow:cs.boxShadow, opacity:cs.opacity, zIndex:(cs.zIndex==="auto"?"":cs.zIndex)
135
+ },
136
+ textContent: (el.textContent||"").replace(/\\s+/g," ").trim().slice(0,120),
137
+ parentContainer: el.parentElement ? ((el.parentElement.getAttribute&&el.parentElement.getAttribute("data-ed"))||el.parentElement.tagName.toLowerCase()) : "\\u2014",
138
+ children: el.children.length,
139
+ pageId: "",
140
+ sectionId: (sec&&sec.getAttribute("data-section"))||"",
141
+ locked: el.getAttribute("data-cstla-lock")!=null,
142
+ isGroup: el.getAttribute("data-cstla-group")!=null
143
+ };
144
+ }
145
+ // Re-describe + re-emit the element after a live edit so the host's selection box + panel reflect the new box/styles.
146
+ function reselect(el){ if(valid(el)) post("canvas:reselect", describe(el)); }
147
+ function post(type, payload){ try{ parent.postMessage({ __cstla:1, type:type, payload:payload }, "*"); }catch(e){} }
148
+ function valid(el){ return el && el.nodeType===1 && el!==document.documentElement && el!==document.body && !isZoomRoot(el); }
149
+
150
+ // ── Pointer gestures (capture-based, leak-proof) ─────────────────────────────────────────────────
151
+ // EVERY canvas gesture uses Pointer Events + setPointerCapture so move/up always land here even when the
152
+ // pointer is released OUTSIDE the iframe or over a host overlay (handles/menu). A single finishGesture()/
153
+ // clearGesture() ends every gesture on pointerup / pointercancel / lostpointercapture / window blur → the
154
+ // "stuck button" can't happen. Move = transform:translate (non-destructive), 8px grid + alignment guides.
155
+ var drawing=null, suppressClick=false, gpid=null;
156
+ function txOf(el){ var t=el.getAttribute("data-cstla-tx"); if(!t)return{x:0,y:0}; var p=t.split(","); return{x:parseFloat(p[0])||0,y:parseFloat(p[1])||0}; }
157
+ function captureNow(pid){ gpid=pid; try{ document.documentElement.setPointerCapture(pid); }catch(e){} }
158
+ function releaseCap(){ if(gpid!=null){ try{ document.documentElement.releasePointerCapture(gpid); }catch(e){} gpid=null; } }
159
+ function noSelect(on){ var s=document.documentElement.style; s.userSelect=on?"none":""; s.webkitUserSelect=on?"none":""; }
160
+ function resetCursor(){ noSelect(false); document.documentElement.style.cursor = MODE==="preview"?"":(MODE==="comments"?"copy":"crosshair"); }
161
+ function draw(e){ if(!drawing)return; var d=docSize(), ex=logicalX(e.pageX), ey=logicalY(e.pageY); var x=Math.min(drawing.x,ex),y=Math.min(drawing.y,ey),w=Math.abs(ex-drawing.x),h=Math.abs(ey-drawing.y); post("canvas:markupDraw", { xPct:x/d.w*100, yPct:y/d.h*100, wPct:w/d.w*100, hPct:h/d.h*100 }); }
162
+ function finishGesture(e){
163
+ if(drawing){ var dd=docSize(), ex=logicalX(e.pageX), ey=logicalY(e.pageY); var x=Math.min(drawing.x,ex),y=Math.min(drawing.y,ey),w=Math.abs(ex-drawing.x),h=Math.abs(ey-drawing.y); drawing=null; releaseCap(); post("canvas:markupDraw", null); resetCursor(); if(w>6&&h>6) post("canvas:markup", { xPct:x/dd.w*100, yPct:y/dd.h*100, wPct:w/dd.w*100, hPct:h/dd.h*100 }); return; }
164
+ releaseCap(); resetCursor();
165
+ }
166
+ function clearGesture(){
167
+ if(drawing){ drawing=null; post("canvas:markupDraw", null); }
168
+ releaseCap(); resetCursor();
169
+ }
170
+
171
+ document.addEventListener("pointermove", function(e){
172
+ if(drawing){ draw(e); return; }
173
+ if(MODE==="preview"||MODE==="comments"||MODE==="markup") return;
174
+ if(!valid(e.target)){ post("canvas:hover", null); return; }
175
+ post("canvas:hover", boxOf(e.target));
176
+ }, true);
177
+ document.addEventListener("pointerleave", function(){ if(!drawing) post("canvas:hover", null); });
178
+ document.addEventListener("pointerdown", function(e){
179
+ if(e.button!==0) return; // left button only (middle/right → host pan)
180
+ if(MODE==="markup"){ e.preventDefault(); drawing={ x:logicalX(e.pageX), y:logicalY(e.pageY) }; captureNow(e.pointerId); return; }
181
+ if(MODE==="edit"){
182
+ // Edit mode is TEXT-ONLY (the design must stay faithful to the approved mock): click selects, double-click
183
+ // edits text inline. No move/resize/add/structural manipulation — those were intentionally removed.
184
+ if(e.target && e.target.isContentEditable) return; // editing text inline → leave native selection alone
185
+ if(!valid(e.target)) return;
186
+ e.preventDefault(); // suppress text-selection on the press; the click selects
187
+ return;
188
+ }
189
+ if(MODE==="select"){ if(valid(e.target)) e.preventDefault(); return; } // click still selects; just suppress text-selection on drag
190
+ }, true);
191
+ document.addEventListener("pointerup", function(e){ finishGesture(e); }, true);
192
+ document.addEventListener("pointercancel", function(){ clearGesture(); }, true);
193
+ document.documentElement.addEventListener("lostpointercapture", function(){ if(drawing) clearGesture(); });
194
+ window.addEventListener("blur", function(){ clearGesture(); });
195
+
196
+ document.addEventListener("click", function(e){
197
+ if(suppressClick){ suppressClick=false; e.preventDefault(); e.stopPropagation(); return; } // swallow the click that ends a gesture
198
+ // Anchor guard: this prototype lives in an opaque-origin srcdoc iframe whose relative/absolute hrefs resolve
199
+ // against the HOST page, so a real click would navigate the frame OUT to the app (e.g. the login). Intercept
200
+ // link clicks so they NEVER break out of the sandbox; in Preview, ask the host to switch prototype screens.
201
+ var lnk = e.target && e.target.closest ? e.target.closest("a[href]") : null;
202
+ if(lnk){ var href = lnk.getAttribute("href") || "";
203
+ if(href && href.charAt(0)!=="#"){ // in-page #anchors scroll natively; everything else is cross-doc
204
+ e.preventDefault(); // block the breakout in EVERY mode
205
+ if(MODE==="preview"){ e.stopPropagation(); post("canvas:nav", { href: href }); return; }
206
+ // select/edit/etc.: nav blocked; fall through so the click still SELECTS the link element
207
+ }
208
+ }
209
+ if(MODE==="preview") return;
210
+ if(MODE==="comments"){ e.preventDefault(); e.stopPropagation(); var d=docSize(); var ce=document.elementFromPoint(e.clientX,e.clientY); var cs=valid(ce)?describe(ce):null; post("canvas:comment", { xpPct:(logicalX(e.pageX)/d.w)*100, ypPct:(logicalY(e.pageY)/d.h)*100, selection:cs }); return; }
211
+ if(MODE==="markup") { e.preventDefault(); return; }
212
+ if(!valid(e.target)) return;
213
+ if(e.target.isContentEditable) return; // already editing this element → let the native caret/selection work
214
+ e.preventDefault(); e.stopPropagation();
215
+ if(e.shiftKey||e.metaKey||e.ctrlKey){ post("canvas:selectToggle", describe(e.target)); return; } // add/remove from the multi-set
216
+ post("canvas:select", describe(e.target)); // SELECT (select + edit modes)
217
+ if(MODE==="edit") edit(e.target, e.clientX, e.clientY); // text-only mode: a single click drops straight into inline text edit (caret at the click)
218
+ }, true);
219
+ // Edit mode: double-click also edits (with a word-select once inside an active edit).
220
+ document.addEventListener("dblclick", function(e){
221
+ if(MODE!=="edit") return;
222
+ if(e.target && e.target.isContentEditable) return; // double-click inside an active edit → native word-select
223
+ if(!valid(e.target)) return;
224
+ e.preventDefault(); e.stopPropagation();
225
+ edit(e.target, e.clientX, e.clientY);
226
+ }, true);
227
+ // A prototype is a mock — it never really submits. Block form submission so a <form action> can't navigate the
228
+ // sandbox frame out to the host app (same breakout class as the anchor guard above).
229
+ document.addEventListener("submit", function(e){ e.preventDefault(); }, true);
230
+
231
+ // Drop a visible caret at the click point (pointerdown preventDefault suppressed the native one), falling back
232
+ // to the end of the element's text when the point isn't inside it.
233
+ function placeCaret(el, cx, cy){ try{ var range=null;
234
+ if(cx!=null){ if(document.caretRangeFromPoint) range=document.caretRangeFromPoint(cx,cy);
235
+ else if(document.caretPositionFromPoint){ var cp=document.caretPositionFromPoint(cx,cy); if(cp){ range=document.createRange(); range.setStart(cp.offsetNode,cp.offset); range.collapse(true); } } }
236
+ if(!range || !el.contains(range.startContainer)){ range=document.createRange(); range.selectNodeContents(el); range.collapse(false); }
237
+ var s=window.getSelection(); if(s){ s.removeAllRanges(); s.addRange(range); }
238
+ }catch(e){} }
239
+ // Inline TEXT edit (the only edit in text-only mode): contentEditable + a caret at the click, "Saving…" live as
240
+ // the operator types (canvas:dirty), and on blur persist the change (→ "Saved") or clear the indicator if the
241
+ // text ended up unchanged (canvas:editEnd).
242
+ function edit(el, cx, cy){
243
+ if(!el || el.nodeType!==1) return;
244
+ if(el.children.length>0 && !(el.textContent||"").trim()) return; // a container with no own text isn't editable
245
+ if(el.getAttribute("contenteditable")==="true") return; // already editing this element
246
+ cid(el); var old=el.textContent, touched=false;
247
+ el.setAttribute("contenteditable","true"); el.style.outline="2px solid #6366f1"; el.style.cursor="text"; el.style.caretColor="#6366f1";
248
+ try{ el.focus(); }catch(e){}
249
+ placeCaret(el, cx, cy);
250
+ function onInput(){ touched=true; post("canvas:dirty", null); } // live "Saving…" while typing
251
+ function done(){ el.removeEventListener("blur",done); el.removeEventListener("input",onInput);
252
+ el.removeAttribute("contenteditable"); el.style.outline=""; el.style.cursor=""; el.style.caretColor="";
253
+ var nw=el.textContent;
254
+ if(nw!==old){ reselect(el); emitHistory("Edited text"); } // persist + "Saved"
255
+ else if(touched){ post("canvas:editEnd", null); } // typed then reverted → clear "Saving…"
256
+ }
257
+ el.addEventListener("input", onInput); el.addEventListener("blur", done);
258
+ }
259
+
260
+ // Live restyle from the Styles panel: write the operator's tokens onto :root CSS variables (several common
261
+ // aliases for hit-rate) + set [data-theme]. Screens built to the token contract re-skin instantly.
262
+ function applyTokens(t){
263
+ if(!t) return; var de=document.documentElement, st=de.style;
264
+ function setv(names,val){ for(var i=0;i<names.length;i++) st.setProperty(names[i],val); }
265
+ if(t.accent) setv(["--accent","--accent-color","--primary","--color-primary","--color-accent","--brand","--btn-accent"], t.accent);
266
+ if(t.accentFg) setv(["--accent-fg","--on-accent","--accent-contrast","--accent-foreground"], t.accentFg);
267
+ if(t.font){ setv(["--font","--font-family","--font-sans","--ff"], t.font); st.setProperty("font-family", t.font); }
268
+ if(t.radius!=null) setv(["--radius","--border-radius","--radius-card","--radius-btn","--rounded"], t.radius+"px");
269
+ if(t.space!=null) setv(["--space","--gap","--spacing","--space-unit"], t.space+"px");
270
+ if(t.fontScale!=null){ setv(["--font-scale","--text-scale"], String(t.fontScale)); st.setProperty("font-size", Math.round(16*t.fontScale)+"px"); }
271
+ if(t.theme){ de.setAttribute("data-theme", t.theme); st.setProperty("color-scheme", t.theme); }
272
+ // ── Expanded tokens (each restyles screens that adopt the var; Grace's builds follow the extended contract) ──
273
+ if(t.secondary) setv(["--secondary","--color-secondary","--accent-2","--accent-secondary"], t.secondary);
274
+ if(t.surface) setv(["--surface","--bg-surface","--card-bg","--surface-1","--panel"], t.surface);
275
+ if(t.success) setv(["--success","--color-success","--positive"], t.success);
276
+ if(t.warning) setv(["--warning","--color-warning"], t.warning);
277
+ if(t.danger) setv(["--danger","--color-danger","--error","--negative"], t.danger);
278
+ if(t.headingFont) setv(["--font-heading","--heading-font","--font-display","--font-title"], t.headingFont);
279
+ if(t.fontWeight!=null) setv(["--font-weight","--weight","--fw"], String(t.fontWeight));
280
+ if(t.lineHeight!=null) setv(["--line-height","--leading","--lh"], String(t.lineHeight));
281
+ if(t.letterSpacing!=null) setv(["--letter-spacing","--tracking","--ls"], t.letterSpacing+"px");
282
+ if(t.borderWidth!=null) setv(["--border-width","--bw","--hairline-w"], t.borderWidth+"px");
283
+ if(t.borderColor) setv(["--border-color","--hairline","--border-c","--stroke"], t.borderColor);
284
+ if(t.shadow){ var SH={none:"none",sm:"0 1px 2px rgba(0,0,0,.08)",md:"0 6px 18px -6px rgba(0,0,0,.18)",lg:"0 18px 48px -12px rgba(0,0,0,.30)"}; setv(["--shadow","--elevation","--box-shadow","--shadow-card"], SH[t.shadow]||SH.md); }
285
+ if(t.containerWidth!=null) setv(["--container","--max-width","--content-width","--wrap"], t.containerWidth+"px");
286
+ if(t.motionMs!=null) setv(["--transition","--duration","--motion","--speed"], t.motionMs+"ms");
287
+ if(t.ease) setv(["--ease","--easing","--ease-fn"], t.ease);
288
+ }
289
+ // ── Layers tree (select from a list instead of clicking the canvas) ──────────────────────────────
290
+ // Identify elements by a stable child-index PATH (e.g. "0/2/1") so the panel can select any node without
291
+ // stamping ids on the whole document just by opening the tab.
292
+ function pathOf(el){ var p=[], n=el; while(n && n.parentElement && n!==document.body){ p.unshift(Array.prototype.indexOf.call(n.parentElement.children, n)); n=n.parentElement; } return p.join("/"); }
293
+ function elByPath(path){ var idx=(path===""?[]:String(path).split("/").map(Number)), n=document.body; for(var i=0;i<idx.length;i++){ n=n.children[idx[i]]; if(!n)return null; } return n; }
294
+ function buildTree(){
295
+ var out=[], MAXN=600;
296
+ function walk(el, depth){
297
+ for(var i=0;i<el.children.length;i++){
298
+ if(out.length>=MAXN) return;
299
+ var c=el.children[i], tg=c.tagName;
300
+ if(tg==="SCRIPT"||tg==="STYLE") continue;
301
+ if(c.getAttribute && c.getAttribute("data-cstla-instrument")!=null) continue;
302
+ if(isZoomRoot(c)){ walk(c, depth); continue; }
303
+ out.push({ path:pathOf(c), tag:tg.toLowerCase(), label:lbl(c), depth:depth, kids:c.children.length });
304
+ if(depth<12) walk(c, depth+1);
305
+ }
306
+ }
307
+ walk(document.body, 0);
308
+ return out;
309
+ }
310
+ function emitTree(){ post("canvas:tree", { items: buildTree() }); }
311
+ function selectByPath(path){ var el=elByPath(path); if(valid(el)) post("canvas:select", describe(el)); }
312
+
313
+ // Host → iframe. The editor is text-only now: the canvas only takes mode, live token restyle, the layers tree
314
+ // queries and undo/redo body swaps. (Structural/style/insert/resize/align/image messages were removed with the
315
+ // direct-manipulation UI — the design is a faithful reference; structural changes go through Grace.)
316
+ window.addEventListener("message", function(e){ var m=e.data; if(!m||!m.__cstlaHost)return;
317
+ if(m.type==="canvas:setMode"){ MODE=m.mode; document.documentElement.style.cursor=(MODE==="preview"||MODE==="comments")?"":"crosshair"; if(MODE==="comments")document.documentElement.style.cursor="copy"; }
318
+ else if(m.type==="canvas:applyTokens"){ applyTokens(m.tokens); }
319
+ else if(m.type==="canvas:requestTree"){ emitTree(); }
320
+ else if(m.type==="canvas:selectByPath"){ selectByPath(m.path); }
321
+ else if(m.type==="canvas:setBody"){ setBody(m.html); }
322
+ });
323
+
324
+ function viewport(){
325
+ var d=docSize(), de=document.documentElement;
326
+ post("canvas:viewport", {
327
+ scrollX: window.scrollX||0,
328
+ scrollY: window.scrollY||0,
329
+ viewportW: window.innerWidth||de.clientWidth||1,
330
+ viewportH: window.innerHeight||de.clientHeight||1,
331
+ docW: d.w,
332
+ docH: d.h
333
+ });
334
+ }
335
+ function sz(){ var d=docSize(); post("canvas:size", { height: d.h }); viewport(); }
336
+ window.addEventListener("load", function(){ applyZoom(ZOOM); });
337
+ window.addEventListener("resize", function(){ applyZoom(ZOOM); });
338
+ window.addEventListener("scroll", viewport, true);
339
+ setTimeout(function(){ applyZoom(ZOOM); },60); setTimeout(function(){ applyZoom(ZOOM); },400); setTimeout(function(){ applyZoom(ZOOM); },1200);
340
+ document.documentElement.style.cursor="crosshair";
341
+ // INTERACTIVE = the screen ships its OWN <script> (it builds/changes its DOM at runtime). Serializing the
342
+ // post-execution DOM back to the file would bake generated nodes in AND the script re-runs on reload →
343
+ // duplication. So the host treats edits on interactive screens as preview-only (persist via Grace instead).
344
+ var INTERACTIVE=false; (function(){ var ss=document.getElementsByTagName("script"); for(var i=0;i<ss.length;i++){ if(!ss[i].hasAttribute("data-cstla-instrument")){ INTERACTIVE=true; break; } } })();
345
+ applyZoom(ZOOM);
346
+ // Themed scrollbar INSIDE the prototype iframe (the screen scrolls itself, so the host CSS can't reach
347
+ // it — this replaces the native Windows/browser bar). Injected into <head> so it's never serialized into
348
+ // the saved screen; also tagged data-cstla-instrument as a belt-and-braces strip. Neutral semi-transparent
349
+ // so it reads on any prototype background (dark hero, light page, etc.).
350
+ (function(){ try{ if(!document.getElementById("cstla-scrollbar")){ var st=document.createElement("style"); st.id="cstla-scrollbar"; st.setAttribute("data-cstla-instrument",""); st.textContent="::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(128,128,128,.45);border-radius:6px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(128,128,128,.78);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}"; (document.head||document.documentElement).appendChild(st); } }catch(e){} })();
351
+ post("canvas:ready", { interactive: INTERACTIVE });
352
+ if(!INTERACTIVE) post("canvas:baseline", { html: serializeBody() }); // history/persist only for static screens
353
+ setTimeout(emitTree, 80);
354
+ })();`;var D=c(1103),E=c(38929),F=c(26945);c(63795),c(52818);var G=c(55789);let H=(0,k.createServerReference)("005f3317d8b38b3db4c2f37199d1a5916eef4d4794",k.callServer,void 0,k.findSourceMapURL,"stopLiveInspectAction"),I=(0,k.createServerReference)("0069fb8636b418f3a58772240c6bf50253c71b1f2c",k.callServer,void 0,k.findSourceMapURL,"startLiveInspectAction"),J=[{id:"desktop",w:"100%",label:"Desktop"},{id:"tablet",w:"768px",label:"Tablet"},{id:"mobile",w:"390px",label:"Mobile"}];function K({onAskGrace:a,asking:b}){let[c,f]=(0,e.useState)({running:!1,status:"idle",logs:[]}),[g,i]=(0,e.useTransition)(),[j,k]=(0,e.useState)(""),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(0),[p,q]=(0,e.useState)("desktop"),[r,s]=(0,e.useState)(!0),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(!1),[x,y]=(0,e.useState)(""),[z,A]=(0,e.useTransition)(),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(null),F=(0,e.useRef)(null),L=c.url??"",M="running"===c.status&&!!L,N=J.find(a=>a.id===p)?.w??"100%",O=(v&&x?x:l)||L;return(0,d.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:40,display:"flex",flexDirection:"column",background:"var(--bg-app)"},children:[(0,d.jsxs)("div",{className:"dz-live-bar",children:[(0,d.jsx)("span",{className:"dz-live-dot "+(M?"on":"error"===c.status?"err":"")}),(0,d.jsx)("button",{className:"dz-ico",title:"Reload",disabled:!M,onClick:()=>o(a=>a+1),children:(0,d.jsx)(h.I,{name:"refresh",size:14})}),(0,d.jsxs)("form",{className:"dz-live-addr",onSubmit:function(a){let b;a?.preventDefault();let c=(b=j.trim())?/^https?:\/\//i.test(b)?b:L.replace(/\/$/,"")+(b.startsWith("/")?b:"/"+b):L;m(c),k(c),o(a=>a+1)},children:[(0,d.jsx)(h.I,{name:M?"shield":"goto",size:12}),(0,d.jsx)("input",{value:j,placeholder:L||"the app isn't running yet",disabled:!M||v,onChange:a=>k(a.target.value),spellCheck:!1})]}),(0,d.jsx)("button",{className:"dz-ico"+(v?" on":""),title:v?"Inspecting — click an element to target it (click again to turn off)":"Inspect: click a real element to ask Grace to change it",disabled:!M||z,onClick:function(){if(C(""),v){w(!1),E(null),o(a=>a+1),H().catch(()=>{});return}A(async()=>{try{let a=await I();if(!a.ok||!a.url)return void C(a.error||"Couldn't start inspect.");y(a.url),w(!0),E(null),o(a=>a+1)}catch{C("Couldn't start inspect.")}})},children:(0,d.jsx)(h.I,{name:z?"refresh":"target",size:14,className:z?"sync-spin":""})}),(0,d.jsx)("div",{className:"dz-seg",children:J.map(a=>(0,d.jsx)("button",{className:p===a.id?"on":"",disabled:!M,onClick:()=>q(a.id),children:a.label},a.id))}),M&&(0,d.jsx)("a",{className:"dz-ico",title:"Open in a new tab",href:l,target:"_blank",rel:"noreferrer",children:(0,d.jsx)(h.I,{name:"goto",size:14})})]}),B&&(0,d.jsx)("div",{className:"dz-uperr",style:{margin:"0 10px"},children:B}),(0,d.jsx)("div",{className:"dz-live-stage",children:M&&!r?(0,d.jsxs)("div",{className:"dz-live-empty",children:[(0,d.jsx)(h.I,{name:"shield",size:26}),(0,d.jsx)("div",{className:"t",children:"The app blocks embedding"}),(0,d.jsx)("div",{className:"s",children:"It sends X-Frame-Options / CSP that prevents the preview frame."}),(0,d.jsxs)("a",{className:"btn-accent",style:{marginTop:10},href:l,target:"_blank",rel:"noreferrer",children:[(0,d.jsx)(h.I,{name:"goto",size:13})," Open in a new tab"]})]}):M?(0,d.jsx)("iframe",{ref:F,className:"dz-live-frame",src:O,style:{width:N,maxWidth:"100%"},title:"Live app preview",onLoad:()=>{try{F.current?.contentWindow?.postMessage({__cstlaLiveHost:1,type:"live:setMode",mode:v?"inspect":"off"},"*")}catch{}},sandbox:"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-downloads"},O+":"+n):(0,d.jsxs)("div",{className:"dz-live-empty",children:[(0,d.jsx)("span",{className:g||"starting"===c.status?"sync-spin":"",children:(0,d.jsx)(h.I,{name:g||"starting"===c.status?"refresh":"play",size:26})}),(0,d.jsx)("div",{className:"t",children:"error"===c.status?"The dev server failed to start":g||"starting"===c.status?"Starting the dev server…":"Run the real app"}),(0,d.jsx)("div",{className:"s",children:"error"===c.status?"Check the project boots (Test Dev shows the logs).":"Boot the project's dev server to see the real running app here — any stack."}),"running"!==c.status&&"starting"!==c.status&&!g&&(0,d.jsxs)("button",{className:"btn-accent",style:{marginTop:10},onClick:function(){i(async()=>{try{let a=await (0,G.R)();f(a)}catch{}})},children:[(0,d.jsx)(h.I,{name:"play",size:13})," Start the app"]})]})}),D&&(0,d.jsxs)("div",{className:"dz-attach",style:{margin:"0 10px 6px"},children:[(0,d.jsx)("span",{className:"sw",style:{background:"#6366f1"}})," Editing ",(0,d.jsxs)("b",{style:{fontWeight:700},children:["<",D.tag,">",D.id?" #"+D.id:""]}),D.text?` \xb7 “${D.text.slice(0,40)}”`:"",(0,d.jsx)("span",{className:"x",onClick:()=>E(null),children:(0,d.jsx)(h.I,{name:"close",size:12})})]}),(0,d.jsxs)("form",{className:"dz-live-ask",onSubmit:function(c){c?.preventDefault();let d=t.trim();if(d&&!b){if(D){let b=[`<${D.tag}>`,D.id?`#${D.id}`:"",D.text?`text "${D.text}"`:"",D.landmark?`in "${D.landmark}"`:"",`selector \`${D.selector}\``,`on route ${D.path}`].filter(Boolean).join(" \xb7 ");a(`On the live app, change THIS element (${b}) — edit the real source, keep everything else intact: ${d}`)}else a(`On the live app: ${d}`);u(""),E(null)}},children:[(0,d.jsx)(h.I,{name:"skill",size:14}),(0,d.jsx)("input",{value:t,placeholder:D?"Describe the change to this element — Grace edits the real source…":"Ask Grace to change the live app — she edits the real source (HMR repaints it)…",onChange:a=>u(a.target.value),disabled:b}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:b||!t.trim(),type:"submit",children:[(0,d.jsx)(h.I,{name:b?"refresh":"send",size:13,className:b?"sync-spin":""})," Ask Grace"]})]})]})}let L=[{name:"Indigo",c:"#6366f1"},{name:"Violet",c:"#8b5cf6"},{name:"Blue",c:"#3b82f6"},{name:"Sky",c:"#0ea5e9"},{name:"Cyan",c:"#06b6d4"},{name:"Teal",c:"#14b8a6"},{name:"Emerald",c:"#10b981"},{name:"Lime",c:"#84cc16"},{name:"Amber",c:"#f59e0b"},{name:"Orange",c:"#f97316"},{name:"Rose",c:"#f43f5e"},{name:"Pink",c:"#ec4899"}],M=[{n:"Inter",s:"'Inter',system-ui,sans-serif"},{n:"IBM Plex",s:"'IBM Plex Sans',sans-serif"},{n:"Geist",s:"'Geist','Inter',ui-sans-serif,sans-serif"},{n:"System",s:"system-ui,-apple-system,Segoe UI,sans-serif"},{n:"Serif",s:"Georgia,'Times New Roman',serif"},{n:"Mono",s:"ui-monospace,'SF Mono',Menlo,monospace"},{n:"Display",s:"'Poppins','Inter',system-ui,sans-serif"}],N=[{n:"Sharp",r:6},{n:"Soft",r:16},{n:"Round",r:26}],O=[{id:"select",ic:"target"},{id:"edit",ic:"newFile"},{id:"markup",ic:"skill"},{id:"comments",ic:"chat"},{id:"inspect",ic:"search"},{id:"preview",ic:"play"}];function P(a,b){let c=parseInt(a.replace("#",""),16);return`rgba(${c>>16&255},${c>>8&255},${255&c},${b})`}function Q(a){return(a.split("/").pop()||a).replace(/\.html?$/i,"")}let R=/\b(remov(i|ido|eu|idos)|adicion(ei|ado|ou|ados)|cri(ei|ado|ou|ados)|corrig(i|ido|iu)|ajust(ei|ado|ou)|atualiz(ei|ado|ou)|mud(ei|ado|ou)|delet(ei|ado|ou)|limp(ei|ado|ou)|troqu(ei)|troc(ado|ou)|inseri|inserido|fiz|feit[oa]s?|pront[oa]s?|conclu(i|í|ido|ída)|finaliz(ei|ado|ou)|implement(ei|ado|ou)|ger(ei|ado|ou)|salv(ei|o|ado)|apliqu(ei)|aplic(ado|ou)|added|removed|deleted|created|fixed|updated|changed|cleaned|adjusted|renamed|moved|made|done|ready|here'?s|i'?ve|i\s+have|i\s+just|i\s+made)\b/i,S=[["design.sugg.adjustPalette","Adjust the color palette"],["design.sugg.improveSpacing","Improve the spacing"],["design.sugg.mobileVersion","Create a mobile version"],["design.sugg.darkTheme","Try a dark theme"],["design.sugg.addSection","Add a section"],["design.sugg.newScreen","Create a new screen"],["design.sugg.visualDocs","Generate the visual docs"],["design.sugg.askReview","Ask Grace for a review"],["design.sugg.approve","Approve design"],["design.sugg.sendExec","Send to execution"]],T=[["design.sugg.firstScreen","Build the first screen"],["design.sugg.proposePalette","Propose a color palette"],["design.sugg.defineTypography","Define the typography"],["design.sugg.mainFlow","Design the main flow"],["design.sugg.heroSection","Add a hero section"],["design.sugg.mobileVersion","Create a mobile version"]],U={accent:"#6366f1",accentName:"Indigo",accentFg:"",secondary:"",surface:"",success:"",warning:"",danger:"",theme:"dark",font:M[0].s,fontName:"Inter",headingFont:M[0].s,headingFontName:"Inter",fontWeight:400,lineHeight:1.5,letterSpacing:0,fontScale:1,radius:16,borderWidth:1,borderColor:"",shadow:"md",density:12,containerWidth:1200,motionMs:200,ease:"ease"};function V(a){return!!(a.selection&&"object"==typeof a.selection&&"markup"===a.selection.kind)}function W(a){return a.selection.rect}function X(a){let b=a.x+a.w/2,c=a.y+a.h/2;return`${c<33?"top":c<66?"middle":"bottom"}-${b<33?"left":b<66?"center":"right"} area, roughly ${Math.round(a.w)}%\xd7${Math.round(a.h)}% of the page`}function Y({grace:a,context:b,status:c,tokens:k}){var G;let H,I,J,Z,$,_=(0,f.useRouter)(),aa=(0,g.k)(),[ab,ac]=(0,e.useState)("approved"===c||b.approved?"approved":"building"),[ad,ae]=(0,e.useState)(!1),[af,ag]=(0,e.useState)("screens"),[ah,ai]=(0,e.useState)(!0),[aj,ak]=(0,e.useState)(!0),[al,am]=(0,e.useState)("desktop"),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)(!1),[ar,as]=(0,e.useState)(100),[at,au]=(0,e.useState)("select"),[av,aw]=(0,e.useState)({...U,...k??{}}),[ax,ay]=(0,e.useState)(""),[az,aA]=(0,e.useState)(!1),[aB,aC]=(0,e.useState)(!1),[aD,aE]=(0,e.useState)(""),[aF,aG]=(0,e.useState)([]),[aH,aI]=(0,e.useState)(!1),[aJ,aK]=(0,e.useState)(!1),[aL,aM]=(0,e.useState)(""),aN=(0,e.useRef)(null);(0,e.useRef)(!0);let[aO,aP]=(0,e.useState)(""),[aQ,aR]=(0,e.useState)(null),[aS,aT]=(0,e.useState)(""),[aU,aV]=(0,e.useState)([]),[aW,aX]=(0,e.useState)([]),[aY,aZ]=(0,e.useState)(!0),[a$,a_]=(0,e.useState)(!1);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(null);let[a0,a1]=(0,e.useState)([]),[a2,a3]=(0,e.useState)(null),[a4,a5]=(0,e.useState)(null),[a6,a7]=(0,e.useState)({scrollX:0,scrollY:0,viewportW:980,viewportH:560,docW:980,docH:560}),[a8,a9]=(0,e.useState)({w:1200,h:700}),[ba,bb]=(0,e.useState)([]),[bc,bd]=(0,e.useState)(!1);(0,e.useRef)(!1);let[be,bf]=(0,e.useState)(null),[bg,bh]=(0,e.useState)([]);(0,e.useRef)([]);let[bi,bj]=(0,e.useState)(!1),[bk,bl]=(0,e.useState)(null),[bm,bn]=(0,e.useState)(null),[bo,bp]=(0,e.useState)(null),[bq,br]=(0,e.useState)(""),[bs,bt]=(0,e.useState)([]),[bu,bv]=(0,e.useState)([]),[bw,bx]=(0,e.useState)(null),[by,bz]=(0,e.useState)(null),[bA,bB]=(0,e.useState)(!1),[bC,bD]=(0,e.useState)([]),[bE,bF]=(0,e.useState)(null),[bG,bH]=(0,e.useState)(""),[bI,bJ]=(0,e.useState)(0),[bK,bL]=(0,e.useState)("idle"),bM=(0,e.useRef)(!1),bN=(0,e.useRef)(""),bO=(0,e.useRef)(null),bP=(0,e.useRef)(new Map),[bQ,bR]=(0,e.useState)(0),bS=(0,e.useRef)(null),bT=(0,e.useRef)(null);(0,e.useRef)("");let bU=(0,e.useRef)(at),bV=(0,e.useRef)(""),bW=(0,e.useRef)(av),bX=(0,e.useRef)([]);(0,e.useRef)(null);let bY=(0,e.useRef)(!1),bZ=(0,e.useRef)(!1),b$=Array.from(new Set([...b.designMockFiles.filter(a=>/\.html?$/i.test(a)),...a0]));bX.current=b$;let b_=b.designMockFiles.filter(a=>a.startsWith("design-mock/components/")),b0="approved"===ab,b1=aO&&b$.includes(aO)?aO:b$[0]??"";bV.current=b1,bY.current=b0,bZ.current=a$,bU.current=at,bW.current=av;let b2=b$.length>0&&null!=aQ&&!aS,b3=ar/100,b4=null!=an?{w:Math.max(320,Math.min(1920,an)),h:Math.max(560,Math.round(1.5*Math.max(320,Math.min(1920,an))))}:"tablet"===al?{w:768,h:1024}:"mobile"===al?{w:390,h:844}:null,b5=null!=b4,b6=b5?b4.w:Math.max(1,a8.w/b3),b7=b5?b4.h:Math.max(1,a8.h/b3),b8=Math.max(1,a6.docW||a6.viewportW||1),b9=Math.max(1,a6.docH||a6.viewportH||1),ca=a=>({left:a.x-a6.scrollX,top:a.y-a6.scrollY,width:a.w,height:a.h}),cb=a=>({left:a.x/100*b8-a6.scrollX,top:a.y/100*b9-a6.scrollY,width:a.w/100*b8,height:a.h/100*b9}),cc=(a,b)=>({left:a/100*b8-a6.scrollX,top:b/100*b9-a6.scrollY}),{canUndo:cd,canRedo:ce}=(0,e.useMemo)(()=>{let a=bP.current.get(b1);return{canUndo:!!a&&a.pos>0,canRedo:!!a&&a.pos<a.stack.length-1}},[bQ,b1]);(0,e.useEffect)(()=>{if(!b1)return void aR(null);if(bM.current&&b1===bN.current)return;bM.current&&(bM.current=!1,bN.current="",bL("idle")),a7(a=>({...a,scrollX:0,scrollY:0}));let a=!0;return aT(""),l(b1).then(b=>{a&&(b.ok&&null!=b.html?aR(b.html):(aR(null),aT(b.error||aa("design.toast.screenLoadFail"))))}),()=>{a=!1}},[b$.join("|"),b1]);let cf=async()=>{try{let a=await (0,D.p)("design");if(a.used>=a.max&&!bA){bB(!0);try{await (0,E.L)("design"),a=await (0,D.p)("design")}finally{bB(!1)}}bz(a)}catch{}};async function cg(){if(!bA){bB(!0);try{await (0,E.L)("design"),await cf()}finally{bB(!1)}}}(0,e.useRef)(!1);let ch=a=>aw(b=>({...b,...a}));function ci(a,b,c=""){let e=String(av[b]??"");return(0,d.jsxs)("div",{className:"dz-trow",children:[(0,d.jsx)("label",{children:a}),(0,d.jsxs)("div",{className:"dz-colorrow",children:[(0,d.jsx)("input",{type:"color",value:e||c||"#888888",onChange:a=>ch({[b]:a.target.value})}),(0,d.jsx)("input",{type:"text",value:e,placeholder:c||aa("design.styles.auto"),spellCheck:!1,onChange:a=>ch({[b]:a.target.value})})]})]},String(b))}function cj(a,b,c,e,f,g=""){let h=Number(av[b]??0);return(0,d.jsxs)("div",{className:"dz-trow",children:[(0,d.jsxs)("label",{children:[a,(0,d.jsxs)("span",{className:"v",children:[h,g]})]}),(0,d.jsx)("input",{type:"range",min:c,max:e,step:f,value:h,onChange:a=>ch({[b]:Number(a.target.value)})})]},String(b))}function ck(a,b){let c=b.stack[b.pos];bf(null),bj(!1),bM.current=!0,bN.current=a,bL("saving"),bO.current&&(clearTimeout(bO.current),bO.current=null);try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:setBody",html:c},"*")}catch{}p(a,c).then(()=>{bL("saved"),bJ(a=>a+1),bO.current&&clearTimeout(bO.current),bO.current=setTimeout(()=>{bM.current=!1,bN.current="",bL("idle"),bO.current=null},1400)}),bR(a=>a+1)}async function cl(){let a=bV.current;if(!a||!b2)return;aA(!0);let b=await q(a);aA(!1),b.ok?(cm(aa("design.toast.savedCheckpoint",{label:b.label??""})),bJ(a=>a+1)):cm(b.error||aa("design.toast.couldNotSaveCheckpoint"))}function cm(a){aE(a),setTimeout(()=>aE(b=>b===a?"":b),2400)}async function cn(a){if(!a)return;let b=Array.from(a).filter(a=>a instanceof File);if(!b.length)return;aM("");let c=b.slice(0,Math.max(0,6-aF.length));if(!c.length)return void aM(aa("design.toast.upTo6"));let d=new FormData;for(let a of c)d.append("files",a);aK(!0);try{let a=await fetch("/api/upload",{method:"POST",body:d}),b=await a.json();if(!a.ok||!b.ok)return void aM(b.error||aa("design.toast.uploadFailed"));aG(a=>[...a,...b.attachments].slice(0,6))}catch{aM(aa("design.toast.uploadFailed"))}finally{aK(!1),aN.current&&(aN.current.value="")}}function co(a){let b=(a??ax).trim();if(!b&&!aF.length&&!bk||a$)return;a_(!0);let c=aF.slice();ay(""),aG([]),aM(""),bl(null),m(b||(bk?"Adjust this element.":"Use the attached image(s) as the visual reference."),c,bk??void 0).then(a=>{a.ok||(cm(a.error||aa("design.toast.couldNotStart")),a_(!1))})}async function cp(){aA(!0);let a=await r();(aA(!1),a.ok)?(ac("approved"),cm(aa("design.toast.designApproved")),_.refresh()):cm(a.error||aa("design.toast.approveFailed"))}async function cq(){aA(!0);let a=await s();(aA(!1),a.ok)?(ac("approved"),ae(!1),a_(!0),ag("docs"),cm(aa("design.toast.sentToExec"))):cm(a.error||aa("design.toast.couldNotSendExec"))}async function cr(){aA(!0);let a=await t();(aA(!1),a.ok)?(a_(!0),ag("docs"),cm("Resuming handoff — Grace is finishing the documentation, then Ada plans it.")):cm(a.error||"Couldn't resume the handoff.")}async function cs(){aA(!0);let a=await u();if(aA(!1),!a.ok)return void cm(a.error||aa("design.toast.buildFailed"));let b=a.built.reduce((a,b)=>a+b.before,0),c=a.built.reduce((a,b)=>a+b.after,0),d=b?Math.round((1-c/b)*100):0,e=a.built.filter(a=>a.obfuscated).length;cm(aa("design.toast.built",{count:a.built.length,plural:1===a.built.length?"":"s",pct:d,obf:e?aa("design.toast.builtObf",{n:e}):""})),_.refresh()}async function ct(a=!1){if(!bo){bp(null),br(""),bn(null);return}if(bo.markup){let b=bq.trim(),c=bo.markup;if(await v(bV.current,c,b),bp(null),br(""),bn(null),bJ(a=>a+1),ag("comments"),a){a_(!0);let a=X(c);m(`On screen ${bV.current}, I marked a region for review (${a}).${b?` My note: "${b}"`:" Please review and refine it."} Update the screen accordingly.`)}return}if(!bq.trim()){bp(null),br("");return}let b=bo.selection??be,c=b?{...b,pageId:bV.current}:void 0;await w(bV.current,bo.xpPct,bo.ypPct,bq.trim(),c),bp(null),br(""),bJ(a=>a+1),ag("comments")}let cu=[...aU].sort((a,b)=>(a.createdAt?new Date(a.createdAt).getTime():0)-(b.createdAt?new Date(b.createdAt).getTime():0)).at(-1),cv=a$||0!==aU.length&&cu?.fromKind!=="agent"?[]:function(a,b,c){let d=[],e=a=>(a??"").replace(/\s+/g," ").replace(/^[-•*\s]+/,"").replace(/[.:;,!?]+$/,"").trim(),f=(a,b)=>{let c=e(a);c.length>=2&&c.length<=42&&!d.some(a=>a.label.toLowerCase()===c.toLowerCase())&&d.push({label:c?c.charAt(0).toUpperCase()+c.slice(1):c,prompt:b})},g=[...a].reverse().find(a=>"agent"===a.fromKind&&a.text);if(g?.text)for(let a of g.text.matchAll(/\*\*(.+?)\*\*/g)){let b=e(a[1]);if(b.length<2||b.length>42||R.test(b)||(b.match(/\s+/g)||[]).length>6||f(b,b),d.length>=4)break}for(let[a,e]of b.designMockFiles.some(a=>/\.html?$/i.test(a))?S:T)if(f(c(a),e),d.length>=4)break;return d.slice(0,4)}(aU,b,aa),cw=a?{id:a.id,handle:a.handle,name:a.name,role:"Frontend",color:a.color,image:a.image??null,adapter:"claude",status:"idle",health:null}:null,cx=cw?[cw]:[],cy={};for(let a of aW)(cy[a.runId]??=[]).push(a);let cz=new Set(aU.map(a=>a.id)),cA=Object.entries(cy).filter(([a])=>!cz.has(a)),cB=a$||cA.length>0,cC=bs.filter(a=>a.pageKey===b1&&!V(a)),cD=bs.filter(a=>a.pageKey===b1&&V(a)),cE=[];cE.push(["layers",aa("design.tab.layers")],["screens",aa("design.tab.screens")],["docs",aa("design.tab.docs")],["styles",aa("design.tab.styles")],["history",aa("design.tab.history")],["comments",`${aa("design.tab.comments")}${cC.length?" "+cC.length:""}`],["versions",`${aa("design.tab.versions")}${bu.length?" "+bu.length:""}`]);let cF=cE.some(([a])=>a===af)?af:"screens",cG=a2?ca(a2):null,cH=be?ca(be.boundingBox):null;return(0,d.jsxs)("div",{className:"dz-wrap",children:[ah?(0,d.jsxs)("div",{className:"dz-chat",children:[(0,d.jsxs)("div",{className:"dz-chat-head",children:[(0,d.jsx)(i.e,{name:a?.name||"Grace",color:a?.color||"#84aef5",image:a?.image,size:28}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"dz-ch-t",children:[a?.name||"Grace"," \xb7 ",aa("design.chat.role")]}),(0,d.jsx)("div",{className:"dz-ch-s",children:aa("design.chat.subtitle")})]}),cB&&(0,d.jsxs)("span",{className:"dz-live",children:[(0,d.jsx)("span",{className:"dot"})," ",aa("design.chat.live")]}),(0,d.jsx)("button",{className:"dz-collapse-btn",title:aa("design.chat.collapse"),onClick:()=>ai(!1),children:(0,d.jsx)(h.I,{name:"chevronLeft",size:15})})]}),by&&(0,d.jsxs)("div",{className:"ctx-bar",children:[(0,d.jsx)(F.m,{stat:by,onCompact:cg,compacting:bA}),(0,d.jsx)("span",{})]}),(0,d.jsx)(j.H8,{msgs:aU,typing:a$&&cw?[cw.handle]:[],agents:cx,byRun:cy,liveRuns:cA,loading:aY,markdownAgent:!0,avatarSize:28,emptyHint:aa("design.chat.emptyHint")}),(0,d.jsxs)("div",{className:"dz-composer"+(aH?" drag":""),onDragOver:a=>{a.preventDefault(),aI(!0)},onDragLeave:a=>{a.preventDefault(),aI(!1)},onDrop:a=>{a.preventDefault(),aI(!1),cn(a.dataTransfer.files)},children:[!b0&&cv.length>0&&!bk&&(0,d.jsx)("div",{className:"dz-chips",children:cv.map(a=>(0,d.jsx)("span",{className:"dz-chip",onClick:()=>co(a.prompt),children:a.label},a.label))}),bk&&(0,d.jsxs)("div",{className:"dz-attach",children:[(0,d.jsx)("span",{className:"sw",style:{background:av.accent}})," ",aa("design.composer.elementLabel")," ",(0,d.jsx)("b",{style:{fontWeight:700},children:bk.componentName}),(0,d.jsx)("span",{className:"x",onClick:()=>bl(null),children:(0,d.jsx)(h.I,{name:"close",size:12})})]}),aL&&(0,d.jsx)("div",{className:"dz-uperr",children:aL}),aF.length>0&&(0,d.jsx)("div",{className:"dz-atts",children:aF.map((a,b)=>(0,d.jsxs)("span",{className:"dz-att",children:[a.type.startsWith("image/")&&(0,d.jsx)("img",{src:`/api/upload?path=${encodeURIComponent(a.path)}`,alt:""}),(0,d.jsx)("span",{className:"nm",children:a.name}),(0,d.jsx)("span",{className:"rm",title:aa("design.composer.remove"),onClick:()=>aG(a=>a.filter((a,c)=>c!==b)),children:(0,d.jsx)(h.I,{name:"close",size:11})})]},a.path))}),(0,d.jsxs)("div",{className:"dz-input",children:[(0,d.jsx)("button",{className:"dz-clip",disabled:a$||aJ,title:aa("design.composer.attach"),onClick:()=>aN.current?.click(),children:(0,d.jsx)(h.I,{name:aJ?"refresh":"add",size:15,className:aJ?"sync-spin":""})}),(0,d.jsx)("input",{placeholder:bk?aa("design.composer.changePlaceholder",{name:bk.componentName}):aa("design.composer.placeholder"),value:ax,disabled:a$,onChange:a=>ay(a.target.value),onKeyDown:a=>{"Enter"===a.key&&co()},onPaste:function(a){let b=Array.from(a.clipboardData?.items||[]).filter(a=>"file"===a.kind&&a.type.startsWith("image/")).map(a=>a.getAsFile()).filter(a=>!!a);b.length&&(a.preventDefault(),cn(b))}}),(0,d.jsx)("button",{className:"dz-send",disabled:a$||!ax.trim()&&!aF.length&&!bk,onClick:()=>co(),children:(0,d.jsx)(h.I,{name:a$?"refresh":"send",size:15,className:a$?"sync-spin":""})})]}),(0,d.jsx)("input",{ref:aN,type:"file",accept:"image/*,.pdf",multiple:!0,style:{display:"none"},onChange:a=>cn(a.target.files)})]})]}):(0,d.jsxs)("div",{className:"dz-strip left",onClick:()=>ai(!0),title:aa("design.chat.expand"),children:[(0,d.jsx)(h.I,{name:"chevronRight",size:16}),(0,d.jsx)(h.I,{name:"chat",size:16}),cB&&(0,d.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"var(--accent)"}})]}),(0,d.jsxs)("div",{className:"dz-center",children:[b.handoffPending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:"linear-gradient(90deg,rgba(224,164,78,.20),rgba(224,164,78,.03))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:"rgba(224,164,78,.22)",color:"var(--accent)"},children:(0,d.jsx)(h.I,{name:cB?"refresh":"warn",size:17,className:cB?"sync-spin":""})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:cB?aa("design.handoff.finishing"):aa("design.handoff.interrupted")}),(0,d.jsx)("div",{className:"dz-ab-s",children:cB?aa("design.handoff.finishingSub"):aa("design.handoff.interruptedSub")})]}),!cB&&(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az,onClick:cr,children:[(0,d.jsx)(h.I,{name:az?"refresh":"sync",size:13,className:az?"sync-spin":""})," ",aa("design.handoff.resume")]})})]}),b.handoffDone&&!b.handoffPending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:ad?"linear-gradient(90deg,rgba(224,164,78,.22),rgba(224,164,78,.03))":"linear-gradient(90deg,rgba(74,165,114,.20),rgba(74,165,114,.03))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:ad?"rgba(224,164,78,.22)":"rgba(74,165,114,.22)",color:ad?"var(--accent)":"#3fa971"},children:(0,d.jsx)(h.I,{name:ad?"edit":"goto",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:ad?"Design updated \xb7 send it to Ada":"Handed off to execution \xb7 Ada is building"}),(0,d.jsx)("div",{className:"dz-ab-s",children:ad?"You edited the design after the last hand-off — send the update so Ada applies it on top (backend wiring preserved).":"This design is the real frontend. Keep refining it with Grace — re-send to push an update (engineers&apos; backend wiring is preserved)."})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent"+(ad?" dz-pulse":""),disabled:az,onClick:cq,children:[(0,d.jsx)(h.I,{name:az?"refresh":ad?"goto":"sync",size:13,className:az?"sync-spin":""})," ",ad?"Send update to execution":"Re-send update"]})})]}),b0&&!b.handoffPending&&!b.handoffDone&&(0,d.jsxs)("div",{className:"dz-approve-banner",children:[(0,d.jsx)("div",{className:"dz-ab-ic",children:(0,d.jsx)(h.I,{name:ad?"edit":"check",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:ad?"Design updated \xb7 ready to send":aa("design.banner.approvedTitle")}),(0,d.jsx)("div",{className:"dz-ab-s",children:ad?"You edited the approved design — send it to execution to push the update.":aa("design.banner.approvedSub")})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn accent"+(ad?" dz-pulse":""),disabled:az,onClick:cq,children:[(0,d.jsx)(h.I,{name:az?"refresh":"goto",size:13,className:az?"sync-spin":""})," ",ad?"Send update to execution":aa("design.banner.sendToExecution")]})})]}),!b0&&b.gatePending&&(0,d.jsxs)("div",{className:"dz-approve-banner",style:{background:"linear-gradient(90deg,rgba(99,102,241,.16),rgba(99,102,241,.02))"},children:[(0,d.jsx)("div",{className:"dz-ab-ic",style:{background:"rgba(99,102,241,.18)",color:"#6366f1"},children:(0,d.jsx)(h.I,{name:"bot",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"dz-ab-t",children:aa("design.banner.adaWaitingTitle")}),(0,d.jsxs)("div",{className:"dz-ab-s",children:[aa("design.banner.adaWaitingPre")," ",(0,d.jsx)("b",{children:aa("design.banner.adaWaitingAction")})," ",aa("design.banner.adaWaitingPost")," ",cB?aa("design.banner.gridSettingUp"):aa("design.banner.gridStart")]})]}),(0,d.jsx)("div",{className:"dz-ab-actions",children:(0,d.jsxs)("button",{className:"dz-mini-btn",disabled:a$,onClick:()=>{a_(!0),o().then(a=>{a.ok||a_(!1)})},children:[(0,d.jsx)(h.I,{name:a$?"refresh":"skill",size:13,className:a$?"sync-spin":""})," ",aa("design.banner.setUpWithGrace")]})})]}),(0,d.jsxs)("div",{className:"dz-bar",children:[(0,d.jsx)("div",{className:"dz-modes",children:O.map(a=>(0,d.jsxs)("span",{className:"dz-mode "+(at===a.id?"on":""),onClick:()=>au(a.id),title:aa("design.mode."+a.id),children:[(0,d.jsx)(h.I,{name:a.ic,size:13})," ",aa("design.mode."+a.id)]},a.id))}),b$.length>0&&(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos<=0)&&(b.pos--,ck(a,b))},disabled:!cd,title:aa("design.toolbar.undo"),children:(0,d.jsx)(h.I,{name:"chevronLeft",size:13})}),(0,d.jsx)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos>=b.stack.length-1)&&(b.pos++,ck(a,b))},disabled:!ce,title:aa("design.toolbar.redo"),children:(0,d.jsx)(h.I,{name:"chevronRight",size:13})}),(0,d.jsxs)("button",{onClick:function(){let a=bV.current,b=bP.current.get(a);b&&!(b.pos<=0)&&(b.pos=0,ck(a,b),cm(aa("design.toast.reset")))},disabled:!cd,title:aa("design.toolbar.resetTitle"),children:[(0,d.jsx)(h.I,{name:"repeat",size:13})," ",aa("design.toolbar.reset")]}),(0,d.jsxs)("button",{onClick:cl,disabled:az||!b2,title:aa("design.toolbar.saveTitle"),children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",aa("design.toolbar.save")]}),(0,d.jsxs)("button",{onClick:function(){let a=bV.current;a&&(a_(!0),m(`I manually edited the screen ${a} directly on the canvas — it now has inline-style overrides, transform:translate offsets and data-cstla-id/data-cstla-tx attributes added by the visual editor. Refactor it into CLEAN, token-driven, professional CSS per the CSS STANDARD: fold the inline styles into the <style> sheet under semantic BEM-ish classes, turn transform offsets into real layout (flex/grid/margins/gap), drop every data-cstla-* attribute, and keep the screen VISUALLY IDENTICAL. Then summarize what you cleaned up.`))},title:aa("design.toolbar.cleanUpTitle"),children:[(0,d.jsx)(h.I,{name:"skill",size:13})," ",aa("design.toolbar.cleanUp")]})]}),(0,d.jsx)("div",{className:"dz-spacer"}),(0,d.jsx)("div",{className:"dz-seg",children:[50,75,100].map(a=>(0,d.jsxs)("button",{className:ar===a?"on":"",onClick:()=>as(a),title:aa("design.toolbar.zoom",{pct:a}),children:[a,"%"]},a))}),(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{className:"desktop"===al&&null==an?"on":"",onClick:()=>{am("desktop"),ao(null)},title:aa("design.toolbar.desktop"),children:(0,d.jsx)(h.I,{name:"sidebarIcon",size:13})}),(0,d.jsx)("button",{className:"tablet"===al&&null==an?"on":"",onClick:()=>{am("tablet"),ao(null)},title:aa("design.toolbar.tabletTitle"),children:aa("design.toolbar.tablet")}),(0,d.jsx)("button",{className:"mobile"===al&&null==an?"on":"",onClick:()=>{am("mobile"),ao(null)},title:aa("design.toolbar.mobileTitle"),children:aa("design.toolbar.mobile")}),(0,d.jsx)("input",{className:"dz-bpw",type:"number",min:320,max:1920,placeholder:"px",value:an??"",title:aa("design.toolbar.customWidth"),onChange:a=>{let b=parseInt(a.target.value,10);ao(Number.isFinite(b)&&b>0?Math.max(320,Math.min(1920,b)):null)}})]}),(0,d.jsxs)("div",{className:"dz-seg",children:[(0,d.jsx)("button",{className:"dark"===av.theme?"on":"",onClick:()=>aw(a=>({...a,theme:"dark"})),title:aa("design.toolbar.dark"),children:(0,d.jsx)(h.I,{name:"moon",size:13})}),(0,d.jsx)("button",{className:"light"===av.theme?"on":"",onClick:()=>aw(a=>({...a,theme:"light"})),title:aa("design.toolbar.light"),children:(0,d.jsx)(h.I,{name:"sun",size:13})})]}),(0,d.jsxs)("div",{className:"dz-seg",title:aa("design.mode2.tip"),children:[(0,d.jsxs)("button",{className:ap?"":"on",onClick:()=>aq(!1),children:[(0,d.jsx)(h.I,{name:"grid",size:13})," ",aa("design.mode2.design")]}),(0,d.jsxs)("button",{className:ap?"on":"",onClick:()=>aq(!0),children:[(0,d.jsx)(h.I,{name:"play",size:13})," ",aa("design.mode2.live")]})]}),bc?(0,d.jsxs)("span",{className:"dz-save preview",title:aa("design.toolbar.previewOnlyTitle"),children:[(0,d.jsx)(h.I,{name:"play",size:12})," ",aa("design.toolbar.previewOnly")]}):"idle"!==bK&&(0,d.jsxs)("span",{className:"dz-save "+bK,title:"saving"===bK?aa("design.toolbar.savingTitle"):aa("design.toolbar.savedTitle"),children:[(0,d.jsx)(h.I,{name:"saving"===bK?"refresh":"check",size:12,className:"saving"===bK?"sync-spin":""})," ","saving"===bK?aa("design.toolbar.saving"):aa("design.toolbar.saved")]}),(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>aC(!0),children:[(0,d.jsx)(h.I,{name:"arrowDown",size:13})," ",aa("design.toolbar.export")]}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az,onClick:cp,title:b0?"Re-approve the current design as the official reference":void 0,children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",b0?"Approve changes":aa("design.toolbar.approve")]})]}),b$.length>0&&(0,d.jsxs)("div",{className:"dz-pagestrip",children:[(0,d.jsx)("div",{className:"dz-ptabs",children:b$.slice(0,8).map(a=>(0,d.jsxs)("span",{className:"dz-ptab "+(b1===a?"active":""),onClick:()=>{aP(a),bf(null),bj(!1)},children:[(0,d.jsx)(h.I,{name:"grid",size:13})," ",Q(a)]},a))}),(0,d.jsxs)("span",{className:"dz-hint",children:[(0,d.jsx)(h.I,{name:O.find(a=>a.id===at).ic,size:12})," ","edit"===at?"Click to select \xb7 double-click to edit text (the design stays faithful to the mock — no move/resize/add)":"select"===at?"Click to select an element \xb7 switch to Edit to edit its text":aa("design.hint."+at)]})]}),(0,d.jsxs)("div",{className:"dz-canvas"+(b2?` has-screen ${b5?"framed":"desktop"}`:""),ref:bT,children:[ap&&(0,d.jsx)(K,{onAskGrace:a=>co(a),asking:a$}),b2?(0,d.jsxs)("div",{className:"dz-artwrap",style:{width:b6*b3,height:b7*b3},children:[(0,d.jsxs)("div",{className:"dz-art","data-viewport":al,style:{width:b6,height:b7,transform:`scale(${b3})`,transformOrigin:"top left"},children:[(0,d.jsx)("iframe",{ref:bS,title:aa("design.canvas.previewTitle"),sandbox:"allow-scripts",srcDoc:(G=aQ??"",H=`<script data-cstla-instrument>${C}</script>`,/<\/body>/i.test(G)?G.replace(/<\/body>/i,`${H}</body>`):G+H),onLoad:()=>{try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:setMode",mode:bU.current},"*")}catch{}let a=bW.current;try{let b,c;bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:applyTokens",tokens:{accent:a.accent,accentFg:a.accentFg||(b=a.accent.replace("#",""),c=parseInt(3===b.length?b.split("").map(a=>a+a).join(""):b,16),(.299*(c>>16&255)+.587*(c>>8&255)+.114*(255&c))/255>.6?"#15171c":"#ffffff"),secondary:a.secondary,surface:a.surface,success:a.success,warning:a.warning,danger:a.danger,font:a.font,headingFont:a.headingFont,fontWeight:a.fontWeight,lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,radius:a.radius,borderWidth:a.borderWidth,borderColor:a.borderColor,shadow:a.shadow,space:a.density,containerWidth:a.containerWidth,motionMs:a.motionMs,ease:a.ease,fontScale:a.fontScale,theme:a.theme}},"*")}catch{}},style:{width:"100%",height:"100%",border:"none",background:"#fff",display:"block"}}),(0,d.jsxs)("div",{className:"dz-ovl",children:[a4&&"edit"===at&&(0,d.jsxs)(d.Fragment,{children:[a4.v.map((a,b)=>(0,d.jsx)("div",{className:"dz-guide v",style:{left:a-a6.scrollX}},"gv"+b)),a4.h.map((a,b)=>(0,d.jsx)("div",{className:"dz-guide h",style:{top:a-a6.scrollY}},"gh"+b))]}),a2&&cG&&!be&&"preview"!==at&&"markup"!==at&&"comments"!==at&&(0,d.jsx)("div",{className:"dz-hl",style:cG,children:(0,d.jsx)("span",{className:"tag",children:a2.label})}),"preview"!==at&&bg.map(a=>(0,d.jsx)("div",{className:"dz-selbox",style:ca(a.boundingBox)},a.cstlaId)),cD.map(a=>(0,d.jsx)("div",{className:"dz-mk",style:cb(W(a))},a.id)),bm&&(0,d.jsx)("div",{className:"dz-mk",style:cb({x:bm.xPct,y:bm.yPct,w:bm.wPct,h:bm.hPct})}),cC.map((a,b)=>(0,d.jsx)("div",{className:"dz-pin",style:cc(a.xp,a.yp),onClick:a=>{a.stopPropagation(),ag("comments")},children:b+1},a.id))]})]}),bi&&be&&cH&&"preview"!==at&&bg.length<=1&&(0,d.jsxs)("div",{className:"dz-ctx",style:{left:Math.max(6,cH.left*b3),top:Math.max(4,cH.top*b3-40)},onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("button",{className:"ask",onClick:()=>{bl(be),bj(!1),cm(aa("design.toast.elementAttached"))},children:[(0,d.jsx)(h.I,{name:"bot",size:13})," ",aa("design.ctx.askFront")]}),(0,d.jsx)("button",{onClick:()=>bj(!1),children:(0,d.jsx)(h.I,{name:"close",size:13})})]}),bo&&(0,d.jsxs)("div",{className:"dz-cpop",style:{left:Math.max(6,Math.min((I=cc(bo.xpPct,bo.ypPct)).left*b3,Math.max(6,b6*b3-226))),top:Math.max(6,Math.min(I.top*b3,Math.max(6,b7*b3-120)))},onClick:a=>a.stopPropagation(),children:[(0,d.jsx)("textarea",{rows:3,autoFocus:!0,placeholder:bo.markup?aa("design.cmt.markupPlaceholder"):aa("design.cmt.pointPlaceholder"),value:bq,onChange:a=>br(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),ct())}}),bo.markup?(0,d.jsxs)("div",{className:"row",style:{flexDirection:"column",alignItems:"stretch"},children:[(0,d.jsxs)("button",{className:"dz-mini-btn accent",style:{justifyContent:"center"},onClick:()=>ct(!0),children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.cmt.markAskGrace")]}),(0,d.jsx)("button",{className:"dz-mini-btn",style:{justifyContent:"center"},onClick:()=>ct(!1),children:aa("design.cmt.markRegion")}),(0,d.jsx)("button",{className:"dz-mini-btn",style:{justifyContent:"center"},onClick:()=>{bp(null),br(""),bn(null)},children:aa("design.cmt.cancel")})]}):(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>{bp(null),br(""),bn(null)},children:aa("design.cmt.cancel")}),(0,d.jsx)("button",{className:"dz-mini-btn accent",onClick:()=>ct(),children:aa("design.cmt.comment")})]})]}),cB&&(0,d.jsxs)("div",{className:"dz-build-bar",children:[(0,d.jsx)(h.I,{name:"skill",size:13})," ",aa("design.canvas.working")," ",(0,d.jsx)("span",{className:"sh"})]})]}):(0,d.jsx)("div",{className:"dz-emptywrap",children:aS?(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"error",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.loadErrTitle")}),(0,d.jsx)("div",{className:"s",children:aS})]}):0===b$.length&&b_.length>0?(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"doc",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.componentsTitle",{count:b_.length,plural:b_.length>1?"s":""})}),(0,d.jsx)("div",{className:"s",children:aa("design.empty.componentsBody")})]}):(0,d.jsxs)("div",{className:"dz-empty",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"grid",size:22})}),(0,d.jsx)("div",{className:"t",children:aa("design.empty.noPrototypeTitle")}),(0,d.jsxs)("div",{className:"s",children:[aa("design.empty.noPrototypePre")," ",(0,d.jsx)("span",{className:"mono",children:"design-mock/"}),". ",aa("design.empty.noPrototypePost")]})]})})]})]}),aj?(0,d.jsxs)("div",{className:"dz-rail",children:[(0,d.jsxs)("div",{className:"dz-rail-tabs",children:[cE.map(([a,b])=>(0,d.jsx)("div",{className:"dz-rt "+(cF===a?"active":""),onClick:()=>ag(a),children:b},a)),(0,d.jsx)("button",{className:"dz-collapse-btn",title:aa("design.rail.collapse"),onClick:()=>ak(!1),children:(0,d.jsx)(h.I,{name:"chevronRight",size:15})})]}),(0,d.jsxs)("div",{className:"dz-rail-body",children:["layers"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.layers.title")}),b2?0===ba.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.layers.reading")}):ba.map(a=>(0,d.jsxs)("div",{className:"dz-layer"+(be?.nodePath===a.path?" active":""),style:{paddingLeft:8+11*a.depth},onClick:()=>(function(a){try{bS.current?.contentWindow?.postMessage({__cstlaHost:1,type:"canvas:selectByPath",path:a},"*")}catch{}})(a.path),title:`<${a.tag}>`,children:[(0,d.jsx)(h.I,{name:a.kids>0?"grid":"dot",size:10}),(0,d.jsx)("span",{className:"lt",children:a.label}),(0,d.jsxs)("span",{className:"lg",children:[a.tag,a.kids>0?` \xb7 ${a.kids}`:""]})]},a.path)):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.layers.openScreen")})]}),"screens"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.screens.title")}),0===b$.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.screens.empty")}):b$.map(a=>(0,d.jsxs)("div",{className:"dz-row "+(b1===a?"active":""),onClick:()=>{aP(a),bf(null),bj(!1)},children:[(0,d.jsx)("div",{className:"dz-r-ic",children:(0,d.jsx)(h.I,{name:"grid",size:14})}),(0,d.jsxs)("div",{style:{minWidth:0},children:[(0,d.jsx)("div",{className:"dz-r-t",children:Q(a)}),(0,d.jsx)("div",{className:"dz-r-s",children:a.replace(/^design-mock\//,"")})]}),b1===a&&(0,d.jsx)("span",{className:"dz-r-meta",children:aa("design.screens.active")})]},a)),(0,d.jsxs)("div",{className:"dz-addrow",onClick:()=>co("Build a new screen for the prototype."),children:[(0,d.jsx)(h.I,{name:"add",size:13})," ",aa("design.screens.newScreen")]}),b_.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:16},children:aa("design.screens.components",{count:b_.length})}),(0,d.jsx)("div",{className:"dz-comp-grid",children:b_.slice(0,8).map((a,b)=>(0,d.jsxs)("div",{className:"dz-comp",children:[(0,d.jsx)("div",{style:{height:30,borderRadius:7,background:b%2?P(av.accent,.16):"var(--bg-app)",border:"1px solid var(--border)",display:"grid",placeItems:"center",color:"var(--accent)",fontSize:12},children:"◧"}),(0,d.jsx)("div",{className:"nm",children:(a.split("/").pop()||a).replace(/\.[a-z]+$/i,"")})]},a))})]})]}),"docs"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.docs.title")}),0===bC.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.docs.empty")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-docnav",children:bC.map(a=>(0,d.jsxs)("div",{className:"dz-doctab "+(bE===a.path?"active":""),onClick:()=>{var b;bF(b=a.path),bH(""),n(b).then(a=>{a.ok&&null!=a.body?bH(a.body):bH(aa("design.docs.readErr"))})},title:a.label,children:[(0,d.jsx)(h.I,{name:/APPROVED/i.test(a.path)?"check":"doc",size:12}),(0,d.jsx)("span",{children:a.label})]},a.path))}),(0,d.jsx)("div",{className:"dz-docbody md",children:bG?(0,d.jsx)(A.oz,{remarkPlugins:[B.A],children:bG}):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)"},children:aa("design.docs.reading")})})]})]}),"styles"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.styles.palette")}),(0,d.jsx)("div",{className:"dz-swatches",children:L.map(a=>(0,d.jsx)("span",{title:a.name,className:"dz-sw "+(av.accent===a.c?"on":""),style:{background:a.c},onClick:()=>ch({accent:a.c,accentName:a.name})},a.name))}),ci(aa("design.styles.accentCustom"),"accent"),ci(aa("design.styles.secondary"),"secondary"),ci(aa("design.styles.surface"),"surface"),(0,d.jsxs)("details",{className:"dz-adv",children:[(0,d.jsx)("summary",{children:aa("design.styles.semanticColors")}),ci(aa("design.styles.success"),"success","#10b981"),ci(aa("design.styles.warning"),"warning","#f59e0b"),ci(aa("design.styles.danger"),"danger","#ef4444"),ci(aa("design.styles.accentText"),"accentFg")]}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.typography")}),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.bodyFont")}),(0,d.jsx)("div",{className:"dz-opt",children:M.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.fontName===a.n?"on":""),onClick:()=>ch({font:a.s,fontName:a.n}),children:a.n},a.n))}),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.headingFont")}),(0,d.jsx)("div",{className:"dz-opt",children:M.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.headingFontName===a.n?"on":""),onClick:()=>ch({headingFont:a.s,headingFontName:a.n}),children:a.n},a.n))}),cj(aa("design.styles.weight"),"fontWeight",300,800,100),cj(aa("design.styles.lineHeight"),"lineHeight",1,2,.05),cj(aa("design.styles.letterSpacing"),"letterSpacing",-1,4,.1,"px"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.textSize")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.sizeSmall"),.9],[aa("design.styles.sizeDefault"),1],[aa("design.styles.sizeLarge"),1.15]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.fontScale===b?"on":""),onClick:()=>ch({fontScale:b}),children:a},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.shapeDepth")}),(0,d.jsx)("div",{className:"dz-opt",children:N.map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.radius===a.r?"on":""),onClick:()=>ch({radius:a.r}),children:aa("design.styles.radius"+a.n)},a.n))}),cj(aa("design.styles.radius"),"radius",0,32,1,"px"),cj(aa("design.styles.borderWidth"),"borderWidth",0,4,1,"px"),ci(aa("design.styles.borderColor"),"borderColor"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.shadow")}),(0,d.jsx)("div",{className:"dz-opt",children:["none","sm","md","lg"].map(a=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.shadow===a?"on":""),onClick:()=>ch({shadow:a}),children:"none"===a?aa("design.styles.shadowNone"):a.toUpperCase()},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.theme")}),(0,d.jsxs)("div",{className:"dz-opt",children:[(0,d.jsx)("span",{className:"dz-pill2 "+("dark"===av.theme?"on":""),onClick:()=>ch({theme:"dark"}),children:aa("design.styles.dark")}),(0,d.jsx)("span",{className:"dz-pill2 "+("light"===av.theme?"on":""),onClick:()=>ch({theme:"light"}),children:aa("design.styles.light")})]}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.spacingLayoutMotion")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.densityCompact"),8],[aa("design.styles.densityCozy"),12],[aa("design.styles.densityComfy"),16]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.density===b?"on":""),onClick:()=>ch({density:b}),children:a},a))}),cj(aa("design.styles.density"),"density",4,28,1,"px"),cj(aa("design.styles.containerWidth"),"containerWidth",880,1600,20,"px"),cj(aa("design.styles.motionSpeed"),"motionMs",0,600,20,"ms"),(0,d.jsx)("div",{className:"dz-sub",children:aa("design.styles.easing")}),(0,d.jsx)("div",{className:"dz-opt",children:[[aa("design.styles.easeEase"),"ease"],[aa("design.styles.easeInOut"),"ease-in-out"],[aa("design.styles.easeLinear"),"linear"],[aa("design.styles.easeSmooth"),"cubic-bezier(.4,0,.2,1)"]].map(([a,b])=>(0,d.jsx)("span",{className:"dz-pill2 "+(av.ease===b?"on":""),onClick:()=>ch({ease:b}),children:a},a))}),(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:18},children:aa("design.styles.spacingScale")}),(0,d.jsx)("div",{style:{display:"flex",gap:5,alignItems:"flex-end"},children:[.5,1,1.5,2,3,4].map(a=>{let b=Math.round(av.density*a);return(0,d.jsxs)("div",{style:{textAlign:"center"},children:[(0,d.jsx)("div",{style:{width:20,height:Math.max(3,b),background:P(av.accent,.5),borderRadius:3}}),(0,d.jsx)("div",{style:{fontSize:9,color:"var(--text-faint)",marginTop:3},children:b})]},a)})}),(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:16,gap:8},children:[(0,d.jsx)("span",{style:{fontSize:10.5,color:"var(--text-faint)"},children:aa("design.styles.restyleNote")}),(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>ch(U),children:aa("design.styles.reset")})]})]}),"comments"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.comments.title")}),0===cC.length&&(0,d.jsxs)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:[aa("design.comments.emptyPre")," ",(0,d.jsx)("b",{children:aa("design.comments.emptyTool")})," ",aa("design.comments.emptyPost")]}),cC.map((a,b)=>(0,d.jsxs)("div",{className:"dz-cmt",children:[(0,d.jsxs)("div",{className:"h",children:[(0,d.jsx)("span",{className:"pin",children:b+1})," ",aa("design.comments.comment")," ",(0,d.jsx)("span",{className:"x",onClick:()=>{x(a.id).then(()=>bJ(a=>a+1))},children:(0,d.jsx)(h.I,{name:"trash",size:12})})]}),(0,d.jsx)("div",{className:"bd",children:a.body}),a.reply?(0,d.jsxs)("div",{className:"rep",children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",a.reply]}):(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>{a_(!0);let b=a.selection&&"object"==typeof a.selection&&a.selection.componentName?a.selection:void 0;m(`Apply this canvas comment on screen ${b1}${b?` (it is pinned on the ${b.componentName} element)`:""}: "${a.body}"`,void 0,b)},children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.comments.askGrace")]})]},a.id)),cD.length>0&&(0,d.jsx)("div",{className:"dz-sec",style:{marginTop:14},children:aa("design.comments.markedRegions",{count:cD.length})}),cD.map((a,b)=>{let c=a.body&&"(region marked for review)"!==a.body?a.body:"";return(0,d.jsxs)("div",{className:"dz-cmt",children:[(0,d.jsxs)("div",{className:"h",children:[(0,d.jsxs)("span",{className:"pin",children:["M",b+1]})," ",aa("design.comments.region")," ",(0,d.jsx)("span",{className:"x",onClick:()=>{x(a.id).then(()=>bJ(a=>a+1))},children:(0,d.jsx)(h.I,{name:"trash",size:12})})]}),c&&(0,d.jsx)("div",{className:"bd",children:c}),a.reply?(0,d.jsxs)("div",{className:"rep",children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",a.reply]}):(0,d.jsxs)("button",{className:"dz-mini-btn",onClick:()=>{a_(!0);let b=X(W(a));m(`On screen ${b1}, I marked a region for review (${b}).${c?` My note: "${c}"`:" Please review and refine it."} Update the screen accordingly.`)},children:[(0,d.jsx)(h.I,{name:"bot",size:12})," ",aa("design.comments.askGrace")]})]},a.id)})]}),"history"===cF&&(J=bP.current.get(b1),Z=J?.pos??-1,$=J?J.labels.map((a,b)=>({lab:a,i:b})):[],(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:J&&J.stack.length>1?aa("design.history.pos",{pos:Z+1,total:J.stack.length}):aa("design.history.title")}),b2?$.length<=1?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.history.noEdits")}):(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:2},children:$.slice().reverse().map(({lab:a,i:b})=>(0,d.jsxs)("div",{onClick:()=>{let a,c;return a=bV.current,void((c=bP.current.get(a))&&!(b<0)&&!(b>=c.stack.length)&&b!==c.pos&&(c.pos=b,ck(a,c)))},style:{display:"flex",alignItems:"center",gap:8,padding:"7px 9px",borderRadius:8,cursor:"pointer",fontSize:12,background:b===Z?"rgba(224,164,78,.12)":"transparent",color:b===Z?"var(--accent)":"var(--text-dim)",border:"1px solid "+(b===Z?"var(--accent)":"transparent")},children:[(0,d.jsx)("span",{style:{fontVariantNumeric:"tabular-nums",opacity:.6,minWidth:16,textAlign:"right"},children:0===b?"•":b}),(0,d.jsx)("span",{style:{flex:1,fontWeight:b===Z?700:500},children:a||aa("design.history.edited")}),b===Z&&(0,d.jsx)("span",{style:{fontSize:10,fontWeight:700},children:aa("design.history.current")})]},b))}):(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)"},children:aa("design.history.openScreen")})]})),"versions"===cF&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"dz-sec",children:aa("design.versions.title")}),0===bu.length?(0,d.jsx)("div",{style:{fontSize:11.5,color:"var(--text-dim)",lineHeight:1.5},children:aa("design.versions.empty")}):bu.map(a=>(0,d.jsxs)("div",{className:"dz-vnode"+(bw===a.id?" active":""),onClick:()=>bx(bw===a.id?null:a.id),title:aa("design.versions.revertHint"),children:[(0,d.jsxs)("div",{className:"vt",children:[a.label," ",(0,d.jsx)("span",{className:"dz-tag",children:aa("design.versions.files",{count:a.files.length,plural:1===a.files.length?"":"s"})})]}),(0,d.jsx)("div",{className:"vs",children:a.note}),(0,d.jsx)("div",{className:"vtime",children:function(a,b){let c=Math.max(0,Math.round((new Date().getTime()-a)/1e3));if(c<60)return b("design.time.justNow");let d=Math.round(c/60);if(d<60)return b("design.time.minAgo",{n:d});let e=Math.round(d/60);return e<24?b("design.time.hAgo",{n:e}):b("design.time.dAgo",{n:Math.round(e/24)})}(a.createdAt,aa)}),bw===a.id&&(0,d.jsxs)("div",{className:"dz-addrow",style:{marginTop:8,padding:"6px"},onClick:b=>{b.stopPropagation(),a.restorable?y(a.id).then(async b=>{if(!b.ok)return void cm(b.error||aa("design.toast.restoreFailed"));let c=bV.current;bM.current=!1,bN.current="",bP.current.delete(c),bR(a=>a+1);let d=await l(c);d.ok&&null!=d.html&&(aR(d.html),bf(null)),cm(aa("design.toast.restored",{label:a.label}))}):(a_(!0),z(a.label,a.note)),bx(null)},children:[(0,d.jsx)(h.I,{name:"refresh",size:12})," ",aa("design.versions.revertTo",{label:a.label})]})]},a.id))]})]})]}):(0,d.jsxs)("div",{className:"dz-strip right",onClick:()=>ak(!0),title:aa("design.rail.expand"),children:[(0,d.jsx)(h.I,{name:"chevronLeft",size:16}),(0,d.jsx)(h.I,{name:"sidebarIcon",size:16})]}),aB&&(0,d.jsx)("div",{className:"dz-modal-bg",onClick:()=>aC(!1),children:(0,d.jsxs)("div",{className:"dz-modal",onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)("div",{className:"dz-modal-h",children:[(0,d.jsx)("div",{className:"ic",children:(0,d.jsx)(h.I,{name:"arrowDown",size:17})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"t",children:aa("design.export.title")}),(0,d.jsx)("div",{className:"s",children:aa("design.export.sub")})]}),(0,d.jsx)("div",{className:"x",onClick:()=>aC(!1),children:(0,d.jsx)(h.I,{name:"close",size:16})})]}),(0,d.jsx)("div",{className:"dz-modal-b",children:[[aa("design.export.row.screens"),String(b$.length)],[aa("design.export.row.comments"),String(bs.filter(a=>!V(a)).length)],[aa("design.export.row.versions"),String(bu.length)],[aa("design.export.row.tokens"),aa("design.export.row.tokensVal")],[aa("design.export.row.approvedMd"),""],[aa("design.export.row.kbRag"),""],[aa("design.export.row.adaNotified"),""],[aa("design.export.row.planner"),""]].map(a=>(0,d.jsxs)("div",{className:"dz-dl",children:[(0,d.jsx)("span",{className:"ck",children:(0,d.jsx)(h.I,{name:"check",size:11})}),a[0],a[1]&&(0,d.jsx)("span",{className:"n",children:a[1]})]},a[0]))}),(0,d.jsxs)("div",{className:"dz-modal-f",children:[(0,d.jsx)("span",{className:"note",children:aa("design.export.note")}),(0,d.jsx)("div",{className:"dz-spacer"}),(0,d.jsxs)("button",{className:"dz-mini-btn",disabled:az,onClick:cs,children:[(0,d.jsx)(h.I,{name:"cpu",size:13})," ",aa("design.export.buildProd")]}),(0,d.jsx)("button",{className:"dz-mini-btn",onClick:()=>aC(!1),children:aa("design.export.close")}),(0,d.jsxs)("button",{className:"dz-mini-btn accent",disabled:az||b0,onClick:()=>{aC(!1),cp()},children:[(0,d.jsx)(h.I,{name:"check",size:13})," ",aa("design.export.approveDesign")]})]})]})}),aD&&(0,d.jsx)("div",{className:"dz-flash",children:aD})]})}function Z(a){return(0,d.jsx)(Y,{grace:a.grace,context:a.context,status:a.status,tokens:a.tokens})}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[3050,658,9676,1845,7971,8762,4616,6719,3266,4832,1572,3131,8623,5060,3234,3882,6873,259,3440],()=>b(b.s=21308));module.exports=c})();