vibebusiness 1.2.87 → 1.2.89

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 (277) hide show
  1. package/.next/standalone/.env +27 -14
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/app-build-manifest.json +89 -72
  4. package/.next/standalone/.next/app-path-routes-manifest.json +1 -1
  5. package/.next/standalone/.next/build-manifest.json +8 -8
  6. package/.next/standalone/.next/prerender-manifest.json +1 -1
  7. package/.next/standalone/.next/required-server-files.json +1 -1
  8. package/.next/standalone/.next/routes-manifest.json +1 -1
  9. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  10. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/standalone/.next/server/app/api/analyze/route.js +1 -1
  14. package/.next/standalone/.next/server/app/api/analyze/route.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/api/briefing/route.js +1 -0
  16. package/.next/standalone/.next/server/app/api/briefing/route.js.nft.json +1 -0
  17. package/.next/standalone/.next/server/app/api/checkout/route.js +1 -1
  18. package/.next/standalone/.next/server/app/api/config/detect-repos/route.js +1 -1
  19. package/.next/standalone/.next/server/app/api/config/route.js +1 -1
  20. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/epics/[id]/ideas/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/epics/[id]/ideas/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/epics/[id]/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/epics/[id]/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/epics/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/epics/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/goals/[id]/kpis/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/goals/[id]/kpis/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/goals/[id]/route.js +1 -1
  30. package/.next/standalone/.next/server/app/api/goals/[id]/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/goals/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/goals/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/health/route.js +1 -1
  34. package/.next/standalone/.next/server/app/api/hypotheses/[id]/route.js +1 -1
  35. package/.next/standalone/.next/server/app/api/hypotheses/[id]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/hypotheses/route.js +1 -1
  37. package/.next/standalone/.next/server/app/api/hypotheses/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/ideas/[id]/card/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/ideas/[id]/card/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/ideas/[id]/comments/route.js +1 -1
  41. package/.next/standalone/.next/server/app/api/ideas/[id]/comments/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/ideas/[id]/implement/route.js +1 -1
  43. package/.next/standalone/.next/server/app/api/ideas/[id]/implement/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/ideas/[id]/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/ideas/[id]/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/ideas/[id]/transition/route.js +1 -1
  47. package/.next/standalone/.next/server/app/api/ideas/[id]/transition/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/ideas/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/ideas/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/implementations/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/implementations/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/investor-updates/generate/route.js +1 -1
  53. package/.next/standalone/.next/server/app/api/kpis/refresh/route.js +1 -1
  54. package/.next/standalone/.next/server/app/api/kpis/refresh/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/license/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/portal/route.js +1 -1
  57. package/.next/standalone/.next/server/app/api/provider-status/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js +1 -1
  59. package/.next/standalone/.next/server/app/api/social/[id]/publish/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/social/[id]/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/social/[id]/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/social/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/webhook/route.js +1 -1
  65. package/.next/standalone/.next/server/app/briefing/page.js +1 -0
  66. package/.next/standalone/.next/server/app/briefing/page.js.nft.json +1 -0
  67. package/.next/standalone/.next/server/app/briefing/page_client-reference-manifest.js +1 -0
  68. package/.next/standalone/.next/server/app/goals/[id]/page.js +1 -1
  69. package/.next/standalone/.next/server/app/goals/[id]/page.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/goals/[id]/page_client-reference-manifest.js +1 -1
  71. package/.next/standalone/.next/server/app/goals/page.js +1 -1
  72. package/.next/standalone/.next/server/app/goals/page.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/goals/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/hypotheses/[id]/page.js +1 -1
  75. package/.next/standalone/.next/server/app/hypotheses/[id]/page.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/hypotheses/[id]/page_client-reference-manifest.js +1 -1
  77. package/.next/standalone/.next/server/app/hypotheses/page.js +1 -1
  78. package/.next/standalone/.next/server/app/hypotheses/page.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/hypotheses/page_client-reference-manifest.js +1 -1
  80. package/.next/standalone/.next/server/app/ideas/[id]/page.js +1 -1
  81. package/.next/standalone/.next/server/app/ideas/[id]/page.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/ideas/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/standalone/.next/server/app/index.html +1 -0
  84. package/.next/standalone/.next/server/app/index.meta +6 -0
  85. package/.next/standalone/.next/server/app/index.rsc +6 -0
  86. package/.next/standalone/.next/server/app/kanban/page.js +1 -0
  87. package/.next/standalone/.next/server/app/kanban/page.js.nft.json +1 -0
  88. package/.next/standalone/.next/server/app/kanban/page_client-reference-manifest.js +1 -0
  89. package/.next/standalone/.next/server/app/page.js +1 -1
  90. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  91. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  92. package/.next/standalone/.next/server/app/roadmap/[id]/page.js +1 -1
  93. package/.next/standalone/.next/server/app/roadmap/[id]/page.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/roadmap/[id]/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/roadmap/investors/page.js +1 -1
  96. package/.next/standalone/.next/server/app/roadmap/investors/page.js.nft.json +1 -1
  97. package/.next/standalone/.next/server/app/roadmap/investors/page_client-reference-manifest.js +1 -1
  98. package/.next/standalone/.next/server/app/roadmap/page.js +1 -1
  99. package/.next/standalone/.next/server/app/roadmap/page.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/roadmap/page_client-reference-manifest.js +1 -1
  101. package/.next/standalone/.next/server/app/roadmap/public/page.js +1 -1
  102. package/.next/standalone/.next/server/app/roadmap/public/page.js.nft.json +1 -1
  103. package/.next/standalone/.next/server/app/roadmap/public/page_client-reference-manifest.js +1 -1
  104. package/.next/standalone/.next/server/app/sessions/page.js +1 -1
  105. package/.next/standalone/.next/server/app/sessions/page.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  107. package/.next/standalone/.next/server/app/settings/page.js +1 -1
  108. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  110. package/.next/standalone/.next/server/app/settings.html +1 -1
  111. package/.next/standalone/.next/server/app/settings.rsc +3 -3
  112. package/.next/standalone/.next/server/app/social/page.js +1 -1
  113. package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/social.html +1 -1
  116. package/.next/standalone/.next/server/app/social.rsc +3 -3
  117. package/.next/standalone/.next/server/app/updates/[id]/page.js +1 -1
  118. package/.next/standalone/.next/server/app/updates/[id]/page.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/updates/[id]/page_client-reference-manifest.js +1 -1
  120. package/.next/standalone/.next/server/app/updates/new/page.js +1 -1
  121. package/.next/standalone/.next/server/app/updates/new/page_client-reference-manifest.js +1 -1
  122. package/.next/standalone/.next/server/app/updates/new.html +1 -1
  123. package/.next/standalone/.next/server/app/updates/new.rsc +3 -3
  124. package/.next/standalone/.next/server/app/updates/page.js +1 -1
  125. package/.next/standalone/.next/server/app/updates/page.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/updates/page_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app-paths-manifest.json +18 -15
  128. package/.next/standalone/.next/server/chunks/3098.js +1 -0
  129. package/.next/standalone/.next/server/chunks/3871.js +1 -1
  130. package/.next/standalone/.next/server/chunks/4355.js +1 -0
  131. package/.next/standalone/.next/server/chunks/4471.js +2 -2
  132. package/.next/standalone/.next/server/chunks/7151.js +10 -10
  133. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  134. package/.next/standalone/.next/server/pages/404.html +1 -1
  135. package/.next/standalone/.next/server/pages/500.html +1 -1
  136. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  137. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  138. package/.next/standalone/data/business-context.json +31 -181
  139. package/.next/standalone/data/codebase-snapshot.json +64 -42
  140. package/.next/standalone/data/competitors.json +39 -559
  141. package/.next/standalone/data/config.json +16 -40
  142. package/.next/standalone/data/goals.json +35 -410
  143. package/.next/standalone/data/positioning.json +10 -127
  144. package/.next/standalone/data/sessions.json +84 -299
  145. package/.next/standalone/node_modules/@esbuild/{darwin-arm64 → darwin-x64}/bin/esbuild +0 -0
  146. package/.next/standalone/node_modules/@esbuild/{darwin-arm64 → darwin-x64}/package.json +3 -3
  147. package/.next/standalone/package.json +3 -2
  148. package/.next/standalone/scripts/analyze.ts +70 -21
  149. package/.next/standalone/scripts/implement.ts +67 -17
  150. package/.next/standalone/server.js +1 -1
  151. package/.next/standalone/templates/commands/distribution-google-ads.md +86 -0
  152. package/.next/standalone/templates/commands/distribution-meta-ads.md +106 -0
  153. package/.next/standalone/templates/commands/distribution-repurpose.md +121 -0
  154. package/.next/standalone/templates/commands/distribution-seo-content.md +115 -0
  155. package/.next/standalone/templates/commands/distribution-social-expansion.md +128 -0
  156. package/.next/static/chunks/147-b00f2ac2bbec93ae.js +1 -0
  157. package/.next/static/chunks/159-4ce492ccac6de8f7.js +1 -0
  158. package/.next/static/chunks/47-eba0f8b4f9b17641.js +1 -0
  159. package/.next/static/chunks/547-921898871311cd72.js +1 -0
  160. package/.next/static/chunks/619-2b2ff3b9eaef112c.js +1 -0
  161. package/.next/static/chunks/735-b33805b2b19d17ad.js +1 -0
  162. package/.next/static/chunks/879-7fbd95e93ddc4636.js +1 -0
  163. package/.next/static/chunks/930-330300153dfcbfc0.js +1 -0
  164. package/.next/static/chunks/app/briefing/page-683aba0c52e910d7.js +1 -0
  165. package/.next/static/chunks/app/goals/[id]/page-40818dc7e710eeda.js +1 -0
  166. package/.next/static/chunks/app/goals/page-f80a64a68854e357.js +1 -0
  167. package/.next/static/chunks/app/hypotheses/[id]/page-023c882fa395f3ed.js +1 -0
  168. package/.next/static/chunks/app/hypotheses/page-168748bde00e7d90.js +1 -0
  169. package/.next/static/chunks/app/ideas/[id]/page-5f33e0ecf590ddec.js +1 -0
  170. package/.next/static/chunks/app/kanban/page-4f18f1e4f56948a5.js +1 -0
  171. package/.next/static/chunks/app/layout-cd1571ba4ed4a0fa.js +1 -0
  172. package/.next/static/chunks/app/page-0a8b9a7b052e6eac.js +1 -0
  173. package/.next/static/chunks/app/roadmap/[id]/page-9ba8a537e30c633c.js +1 -0
  174. package/.next/static/chunks/app/roadmap/investors/{page-0095ea5695573796.js → page-a914223623f56df3.js} +1 -1
  175. package/.next/static/chunks/app/roadmap/page-30de1fdc304eb572.js +1 -0
  176. package/.next/static/chunks/app/roadmap/public/page-c481b3f9217919ac.js +1 -0
  177. package/.next/static/chunks/app/sessions/page-d7eefd2fd42b4d55.js +1 -0
  178. package/.next/static/chunks/app/settings/{page-3afa908a96ce4e51.js → page-caf6daf930e4f2c6.js} +1 -1
  179. package/.next/static/chunks/app/social/page-21daeca0cf8af46b.js +1 -0
  180. package/.next/static/chunks/app/updates/[id]/page-2807cd17ae4938d0.js +1 -0
  181. package/.next/static/chunks/app/updates/new/{page-dcc67ffca587dcc2.js → page-ac5b966024ce0ddc.js} +1 -1
  182. package/.next/static/chunks/app/updates/page-b6efcdaae7f4f6d2.js +1 -0
  183. package/.next/static/chunks/{main-6ee938c5db2d5eb4.js → main-3eb11800bc19ca7f.js} +1 -1
  184. package/.next/static/chunks/{main-app-f42d9aa726a818bf.js → main-app-06ab73909d2a44c7.js} +1 -1
  185. package/.next/static/chunks/webpack-616e068a201ad621.js +1 -0
  186. package/.next/static/css/ff70d16171b1c02c.css +3 -0
  187. package/dist/bin/vibebusiness.js +1 -8
  188. package/dist/scripts/analyze.js +161 -19
  189. package/dist/scripts/heartbeat.js +24 -129
  190. package/dist/scripts/implement.js +77 -15
  191. package/dist/scripts/scan.js +0 -3
  192. package/dist/scripts/social-routine.js +0 -3
  193. package/package.json +3 -2
  194. package/scripts/lib/video/compositions/DemoVideo.tsx +50 -134
  195. package/scripts/lib/video/compositions/Root.tsx +2 -21
  196. package/templates/commands/distribution-google-ads.md +86 -0
  197. package/templates/commands/distribution-meta-ads.md +106 -0
  198. package/templates/commands/distribution-repurpose.md +121 -0
  199. package/templates/commands/distribution-seo-content.md +115 -0
  200. package/templates/commands/distribution-social-expansion.md +128 -0
  201. package/.next/standalone/.next/server/chunks/6299.js +0 -1
  202. package/.next/standalone/.next/server/chunks/995.js +0 -1
  203. package/.next/standalone/data/.analysis-prompt.txt +0 -170
  204. package/.next/standalone/data/copy/landing-improvements-2026-02-20.md +0 -111
  205. package/.next/standalone/data/copy/landing-landing-page-2026-02-20.md +0 -68
  206. package/.next/standalone/data/email-campaigns/sequences/onboarding.md +0 -183
  207. package/.next/standalone/data/email-campaigns/welcome-2026-02-20.md +0 -42
  208. package/.next/standalone/data/heartbeat-sessions.json +0 -7550
  209. package/.next/standalone/data/hypotheses.json +0 -269
  210. package/.next/standalone/data/ideas.json +0 -10764
  211. package/.next/standalone/data/implementations.json +0 -3342
  212. package/.next/standalone/data/pages.json +0 -22
  213. package/.next/standalone/data/payments.json +0 -33
  214. package/.next/standalone/data/reports/visuals/idea-3f4595f7-card.png +0 -0
  215. package/.next/standalone/data/reports/visuals/idea-4rxt3mkj-card.png +0 -0
  216. package/.next/standalone/data/reports/visuals/idea-6631456b-card.png +0 -0
  217. package/.next/standalone/data/reports/visuals/idea-boot-001-card.png +0 -0
  218. package/.next/standalone/data/reports/visuals/idea-fb3eba74-card.png +0 -0
  219. package/.next/standalone/data/reports/visuals/idea-first-tweet-card.png +0 -0
  220. package/.next/standalone/data/reports/visuals/idea-lp-hero-specificity-card.png +0 -0
  221. package/.next/standalone/data/reports/visuals/idea-lp-og-meta-card.png +0 -0
  222. package/.next/standalone/data/reports/visuals/idea-lp-social-proof-card.png +0 -0
  223. package/.next/standalone/data/reports/visuals/idea-prqf3lob-card.png +0 -0
  224. package/.next/standalone/data/reports/visuals/idea-readme-landing-url-card.png +0 -0
  225. package/.next/standalone/data/reports/visuals/idea-stripe-integration-card.png +0 -0
  226. package/.next/standalone/data/reports/visuals/promo-launch.png +0 -0
  227. package/.next/standalone/data/reports/visuals/promo-ship-fast.png +0 -0
  228. package/.next/standalone/data/reports/visuals/promo-while-you-slept-v2.png +0 -0
  229. package/.next/standalone/data/reports/visuals/promo-while-you-slept-v3.png +0 -0
  230. package/.next/standalone/data/reports/visuals/promo-while-you-slept.png +0 -0
  231. package/.next/standalone/data/social.json +0 -194
  232. package/.next/standalone/data/social.json.backup +0 -179
  233. package/.next/standalone/data/videos/ad-solo-founder-burnout.mp4 +0 -0
  234. package/.next/standalone/data/videos/ai-gets-business-feed.mp4 +0 -0
  235. package/.next/standalone/data/videos/idea-graveyard-feed.mp4 +0 -0
  236. package/.next/standalone/data/videos/lonely-founder-feed.mp4 +0 -0
  237. package/.next/standalone/data/videos/staging/ad-solo-founder-burnout.json +0 -54
  238. package/.next/standalone/data/videos/staging/ai-gets-business.json +0 -55
  239. package/.next/standalone/data/videos/staging/idea-graveyard.json +0 -61
  240. package/.next/standalone/data/videos/staging/lonely-founder.json +0 -60
  241. package/.next/standalone/data/videos/staging/while-you-slept-v2-fast.json +0 -67
  242. package/.next/standalone/data/videos/staging/while-you-slept-v3-dynamic.json +0 -67
  243. package/.next/standalone/data/videos/while-you-slept-demo-feed.mp4 +0 -0
  244. package/.next/standalone/data/videos/while-you-slept-v2-fast-feed.mp4 +0 -0
  245. package/.next/standalone/data/videos/while-you-slept-v3-dynamic-feed.mp4 +0 -0
  246. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/48519e014fdef8bfe40a0d447e90c96c/0.pack +0 -0
  247. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/48519e014fdef8bfe40a0d447e90c96c/index.pack +0 -0
  248. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/0.pack +0 -0
  249. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/1.pack +0 -0
  250. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/2.pack +0 -0
  251. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/3.pack +0 -0
  252. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/index.pack +0 -0
  253. package/.next/standalone/node_modules/.cache/webpack/remotion-production-4.0.428/c99d23d3548030c8ff8de678c71eeb15/index.pack.old +0 -0
  254. package/.next/static/chunks/280-fd1092f75f985b1e.js +0 -1
  255. package/.next/static/chunks/354-d5bc9619159f46c5.js +0 -1
  256. package/.next/static/chunks/429-8f4030371ebef5c3.js +0 -1
  257. package/.next/static/chunks/809-833fcb9fe6e81fd6.js +0 -1
  258. package/.next/static/chunks/827-6cf4bfc10d1ff0c7.js +0 -1
  259. package/.next/static/chunks/851-65b033bf38847cbb.js +0 -1
  260. package/.next/static/chunks/app/goals/[id]/page-231bb4daae0f06eb.js +0 -1
  261. package/.next/static/chunks/app/goals/page-4dfa36ac38853b88.js +0 -1
  262. package/.next/static/chunks/app/hypotheses/[id]/page-6ec09d5470557c18.js +0 -1
  263. package/.next/static/chunks/app/hypotheses/page-1732b7466579493e.js +0 -1
  264. package/.next/static/chunks/app/ideas/[id]/page-b3dfe1e61fc656a4.js +0 -1
  265. package/.next/static/chunks/app/layout-eeef7928298d2198.js +0 -1
  266. package/.next/static/chunks/app/page-d325a95479e7c453.js +0 -1
  267. package/.next/static/chunks/app/roadmap/[id]/page-b93a96f017c8d3dd.js +0 -1
  268. package/.next/static/chunks/app/roadmap/page-eacd69a99fcfc658.js +0 -1
  269. package/.next/static/chunks/app/roadmap/public/page-6b791041894b76d2.js +0 -1
  270. package/.next/static/chunks/app/sessions/page-a56ea625acdfa13e.js +0 -1
  271. package/.next/static/chunks/app/social/page-5211c78a5f37df65.js +0 -1
  272. package/.next/static/chunks/app/updates/[id]/page-fa20533878416cd0.js +0 -1
  273. package/.next/static/chunks/app/updates/page-19a09d7046577f70.js +0 -1
  274. package/.next/static/chunks/webpack-a3c37fcbf859f6f9.js +0 -1
  275. package/.next/static/css/654766eb547c6bab.css +0 -3
  276. /package/.next/static/{kgtR3Ls8MG4aQqwp3I0UE → UaMf1fmArAE78vyk_zQVK}/_buildManifest.js +0 -0
  277. /package/.next/static/{kgtR3Ls8MG4aQqwp3I0UE → UaMf1fmArAE78vyk_zQVK}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=5661,e.ids=[5661],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},2048:e=>{e.exports=require("fs")},9801:e=>{e.exports=require("os")},5315:e=>{e.exports=require("path")},1302:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>b,patchFetch:()=>T,requestAsyncStorage:()=>S,routeModule:()=>A,serverHooks:()=>w,staticGenerationAsyncStorage:()=>V});var a={};s.r(a),s.d(a,{GET:()=>h,POST:()=>R,dynamic:()=>v});var i=s(9303),r=s(8716),n=s(670),l=s(7070),o=s(2048),u=s(5315);let d=u.join(process.env.HOME||"",".vibebusiness"),c=u.join(d,"license.json"),p={trial:{maxRepos:999},solo:{maxRepos:3},pro:{maxRepos:999},team:{maxRepos:999},enterprise:{maxRepos:999}};function m(e){o.existsSync(d)||o.mkdirSync(d,{recursive:!0}),o.writeFileSync(c,JSON.stringify(e,null,2))}function x(e){return e.length<=8?"****":e.slice(0,4)+"****"+e.slice(-4)}async function y(e){try{let t=new AbortController,s=setTimeout(()=>t.abort(),1e4),a=await fetch("https://vibebusiness.com/api/license/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e}),signal:t.signal});if(clearTimeout(s),!a.ok)return{valid:!1};return await a.json()}catch{return null}}async function f(e,t){let a,i;if(!e||0===e.trim().length)return{status:"invalid",tier:"trial",keyMasked:"",lastValidated:null,expiresAt:null,maxRepos:0,message:"License key cannot be empty."};let r=await y(e),n=t;if(null===r)a=g(e),i="valid";else{if(!r.valid)return{status:"invalid",tier:"trial",keyMasked:x(e),lastValidated:null,expiresAt:null,maxRepos:0,message:"Invalid license key. Please check your key and try again."};a=r.tier||g(e),i="valid",n=r.email||t}let l=new Date,o={key:e,tier:a,status:i,email:n,lastValidated:l.toISOString(),expiresAt:null,activatedAt:l.toISOString(),instanceId:function(){let e=s(9801),t=e.hostname(),a=e.userInfo().username;return`${a}@${t}`}()};return m(o),{status:"valid",tier:a,keyMasked:x(e),lastValidated:o.lastValidated,expiresAt:null,maxRepos:p[a].maxRepos,email:n,message:`License activated (${a} tier). Key: ${x(e)}${null===r?" (validated offline — will re-check when connected)":""}`}}function g(e){let t=e.toUpperCase();return t.startsWith("PRO-")?"pro":t.startsWith("TEAM-")?"team":t.startsWith("ENT-")||t.startsWith("ENTERPRISE-")?"enterprise":"solo"}async function k(){let e=function(){try{if(o.existsSync(c))return JSON.parse(o.readFileSync(c,"utf-8"))}catch{}return null}();if(!e)return{status:"unknown",tier:"trial",keyMasked:"",lastValidated:null,expiresAt:null,maxRepos:0,message:"No license found. Run `vibebusiness init` to start a trial or enter a license key."};let t=new Date;if("trial"===e.status||"trial"===e.tier){if(e.expiresAt&&new Date(e.expiresAt)<t)return{status:"expired",tier:"trial",keyMasked:"(trial)",lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:0,message:"Trial expired. Enter a license key to continue using VibeBusiness."};let s=e.expiresAt?Math.ceil((new Date(e.expiresAt).getTime()-t.getTime())/864e5):0;return{status:"trial",tier:"trial",keyMasked:"(trial)",lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:p.trial.maxRepos,message:`Trial active. ${s} days remaining.`}}let s=e.lastValidated?new Date(e.lastValidated):null,a=s?(t.getTime()-s.getTime())/864e5:1/0;if(a>7&&e.key){let s=await y(e.key);if(null===s){if(a>30)return{status:"expired",tier:e.tier,keyMasked:x(e.key),lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:0,message:`License validation expired (last checked ${Math.floor(a)} days ago). Connect to the internet to re-validate.`}}else{if(!s.valid)return e.status="expired",e.lastValidated=t.toISOString(),m(e),{status:"expired",tier:e.tier,keyMasked:x(e.key),lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:0,message:"Subscription expired. Renew at https://vibebusiness.com/pricing to continue."};e.lastValidated=t.toISOString(),e.status="valid",s.email&&(e.email=s.email),s.tier&&(e.tier=s.tier),m(e)}}return{status:"valid",tier:e.tier,keyMasked:x(e.key),lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:p[e.tier].maxRepos,email:e.email,message:`License valid (${e.tier} tier).`}}let v="force-dynamic";async function h(){try{let e=await k();return l.NextResponse.json({success:!0,data:e})}catch(e){return console.error("Failed to get license info:",e),l.NextResponse.json({success:!1,error:"Failed to get license info"},{status:500})}}async function R(e){try{let{key:t}=await e.json();if(!t||"string"!=typeof t)return l.NextResponse.json({success:!1,error:"License key is required"},{status:400});let s=await f(t);if("invalid"===s.status)return l.NextResponse.json({success:!1,error:s.message},{status:400});return l.NextResponse.json({success:!0,data:s})}catch(e){return console.error("Failed to activate license:",e),l.NextResponse.json({success:!1,error:"Failed to activate license"},{status:500})}}let A=new i.AppRouteRouteModule({definition:{kind:r.x.APP_ROUTE,page:"/api/license/route",pathname:"/api/license",filename:"route",bundlePath:"app/api/license/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/license/route.ts",nextConfigOutput:"standalone",userland:a}),{requestAsyncStorage:S,staticGenerationAsyncStorage:V,serverHooks:w}=A,b="/api/license/route";function T(){return(0,n.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:V})}}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[9276,5972],()=>s(1302));module.exports=a})();
1
+ "use strict";(()=>{var e={};e.id=5661,e.ids=[5661],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},2048:e=>{e.exports=require("fs")},9801:e=>{e.exports=require("os")},5315:e=>{e.exports=require("path")},9039:(e,t,s)=>{s.r(t),s.d(t,{originalPathname:()=>b,patchFetch:()=>T,requestAsyncStorage:()=>S,routeModule:()=>A,serverHooks:()=>w,staticGenerationAsyncStorage:()=>V});var a={};s.r(a),s.d(a,{GET:()=>h,POST:()=>R,dynamic:()=>v});var i=s(9303),r=s(8716),n=s(670),l=s(7070),o=s(2048),u=s(5315);let d=u.join(process.env.HOME||"",".vibebusiness"),c=u.join(d,"license.json"),p={trial:{maxRepos:999},solo:{maxRepos:3},pro:{maxRepos:999},team:{maxRepos:999},enterprise:{maxRepos:999}};function m(e){o.existsSync(d)||o.mkdirSync(d,{recursive:!0}),o.writeFileSync(c,JSON.stringify(e,null,2))}function x(e){return e.length<=8?"****":e.slice(0,4)+"****"+e.slice(-4)}async function y(e){try{let t=new AbortController,s=setTimeout(()=>t.abort(),1e4),a=await fetch("https://vibebusiness.com/api/license/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e}),signal:t.signal});if(clearTimeout(s),!a.ok)return{valid:!1};return await a.json()}catch{return null}}async function f(e,t){let a,i;if(!e||0===e.trim().length)return{status:"invalid",tier:"trial",keyMasked:"",lastValidated:null,expiresAt:null,maxRepos:0,message:"License key cannot be empty."};let r=await y(e),n=t;if(null===r)a=g(e),i="valid";else{if(!r.valid)return{status:"invalid",tier:"trial",keyMasked:x(e),lastValidated:null,expiresAt:null,maxRepos:0,message:"Invalid license key. Please check your key and try again."};a=r.tier||g(e),i="valid",n=r.email||t}let l=new Date,o={key:e,tier:a,status:i,email:n,lastValidated:l.toISOString(),expiresAt:null,activatedAt:l.toISOString(),instanceId:function(){let e=s(9801),t=e.hostname(),a=e.userInfo().username;return`${a}@${t}`}()};return m(o),{status:"valid",tier:a,keyMasked:x(e),lastValidated:o.lastValidated,expiresAt:null,maxRepos:p[a].maxRepos,email:n,message:`License activated (${a} tier). Key: ${x(e)}${null===r?" (validated offline — will re-check when connected)":""}`}}function g(e){let t=e.toUpperCase();return t.startsWith("PRO-")?"pro":t.startsWith("TEAM-")?"team":t.startsWith("ENT-")||t.startsWith("ENTERPRISE-")?"enterprise":"solo"}async function k(){let e=function(){try{if(o.existsSync(c))return JSON.parse(o.readFileSync(c,"utf-8"))}catch{}return null}();if(!e)return{status:"unknown",tier:"trial",keyMasked:"",lastValidated:null,expiresAt:null,maxRepos:0,message:"No license found. Run `vibebusiness init` to start a trial or enter a license key."};let t=new Date;if("trial"===e.status||"trial"===e.tier){if(e.expiresAt&&new Date(e.expiresAt)<t)return{status:"expired",tier:"trial",keyMasked:"(trial)",lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:0,message:"Trial expired. Enter a license key to continue using VibeBusiness."};let s=e.expiresAt?Math.ceil((new Date(e.expiresAt).getTime()-t.getTime())/864e5):0;return{status:"trial",tier:"trial",keyMasked:"(trial)",lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:p.trial.maxRepos,message:`Trial active. ${s} days remaining.`}}let s=e.lastValidated?new Date(e.lastValidated):null,a=s?(t.getTime()-s.getTime())/864e5:1/0;if(a>7&&e.key){let s=await y(e.key);if(null===s){if(a>30)return{status:"expired",tier:e.tier,keyMasked:x(e.key),lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:0,message:`License validation expired (last checked ${Math.floor(a)} days ago). Connect to the internet to re-validate.`}}else{if(!s.valid)return e.status="expired",e.lastValidated=t.toISOString(),m(e),{status:"expired",tier:e.tier,keyMasked:x(e.key),lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:0,message:"Subscription expired. Renew at https://vibebusiness.com/pricing to continue."};e.lastValidated=t.toISOString(),e.status="valid",s.email&&(e.email=s.email),s.tier&&(e.tier=s.tier),m(e)}}return{status:"valid",tier:e.tier,keyMasked:x(e.key),lastValidated:e.lastValidated,expiresAt:e.expiresAt,maxRepos:p[e.tier].maxRepos,email:e.email,message:`License valid (${e.tier} tier).`}}let v="force-dynamic";async function h(){try{let e=await k();return l.NextResponse.json({success:!0,data:e})}catch(e){return console.error("Failed to get license info:",e),l.NextResponse.json({success:!1,error:"Failed to get license info"},{status:500})}}async function R(e){try{let{key:t}=await e.json();if(!t||"string"!=typeof t)return l.NextResponse.json({success:!1,error:"License key is required"},{status:400});let s=await f(t);if("invalid"===s.status)return l.NextResponse.json({success:!1,error:s.message},{status:400});return l.NextResponse.json({success:!0,data:s})}catch(e){return console.error("Failed to activate license:",e),l.NextResponse.json({success:!1,error:"Failed to activate license"},{status:500})}}let A=new i.AppRouteRouteModule({definition:{kind:r.x.APP_ROUTE,page:"/api/license/route",pathname:"/api/license",filename:"route",bundlePath:"app/api/license/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/license/route.ts",nextConfigOutput:"standalone",userland:a}),{requestAsyncStorage:S,staticGenerationAsyncStorage:V,serverHooks:w}=A,b="/api/license/route";function T(){return(0,n.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:V})}}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[9276,5972],()=>s(9039));module.exports=a})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=7949,e.ids=[7949],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},4770:e=>{e.exports=require("crypto")},7702:e=>{e.exports=require("events")},2615:e=>{e.exports=require("http")},8791:e=>{e.exports=require("https")},2827:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>m,patchFetch:()=>E,requestAsyncStorage:()=>d,routeModule:()=>l,serverHooks:()=>v,staticGenerationAsyncStorage:()=>x});var s={};t.r(s),t.d(s,{POST:()=>c,dynamic:()=>u});var o=t(9303),i=t(8716),n=t(670),a=t(7070),p=t(6029);let u="force-dynamic";async function c(e){try{let{customerId:r,returnUrl:t}=await e.json();if(!r)return a.NextResponse.json({success:!1,error:"customerId is required"},{status:400});let s=await p.A.billingPortal.sessions.create({customer:r,return_url:t||e.nextUrl.origin});return a.NextResponse.json({success:!0,url:s.url})}catch(e){return console.error("Portal session error:",e),a.NextResponse.json({success:!1,error:"Failed to create portal session"},{status:500})}}let l=new o.AppRouteRouteModule({definition:{kind:i.x.APP_ROUTE,page:"/api/portal/route",pathname:"/api/portal",filename:"route",bundlePath:"app/api/portal/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/portal/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:d,staticGenerationAsyncStorage:x,serverHooks:v}=l,m="/api/portal/route";function E(){return(0,n.patchFetch)({serverHooks:v,staticGenerationAsyncStorage:x})}},6029:(e,r,t)=>{t.d(r,{A:()=>o});var s=t(9777);if(!process.env.STRIPE_SECRET_KEY)throw Error("STRIPE_SECRET_KEY is not set in environment variables");let o=new s.Z(process.env.STRIPE_SECRET_KEY,{apiVersion:"2026-01-28.clover",typescript:!0})}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[9276,5972,9777],()=>t(2827));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=7949,e.ids=[7949],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},4770:e=>{e.exports=require("crypto")},7702:e=>{e.exports=require("events")},2615:e=>{e.exports=require("http")},8791:e=>{e.exports=require("https")},9820:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>v,patchFetch:()=>E,requestAsyncStorage:()=>d,routeModule:()=>l,serverHooks:()=>m,staticGenerationAsyncStorage:()=>x});var s={};t.r(s),t.d(s,{POST:()=>c,dynamic:()=>u});var o=t(9303),a=t(8716),n=t(670),i=t(7070),p=t(6029);let u="force-dynamic";async function c(e){try{let{customerId:r,returnUrl:t}=await e.json();if(!r)return i.NextResponse.json({success:!1,error:"customerId is required"},{status:400});let s=await p.A.billingPortal.sessions.create({customer:r,return_url:t||e.nextUrl.origin});return i.NextResponse.json({success:!0,url:s.url})}catch(e){return console.error("Portal session error:",e),i.NextResponse.json({success:!1,error:"Failed to create portal session"},{status:500})}}let l=new o.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/portal/route",pathname:"/api/portal",filename:"route",bundlePath:"app/api/portal/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/portal/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:d,staticGenerationAsyncStorage:x,serverHooks:m}=l,v="/api/portal/route";function E(){return(0,n.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:x})}},6029:(e,r,t)=>{t.d(r,{A:()=>o});var s=t(9777);if(!process.env.STRIPE_SECRET_KEY)throw Error("STRIPE_SECRET_KEY is not set in environment variables");let o=new s.Z(process.env.STRIPE_SECRET_KEY,{apiVersion:"2026-01-28.clover",typescript:!0})}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),s=r.X(0,[9276,5972,9777],()=>t(9820));module.exports=s})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=3119,e.ids=[3119],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},2048:e=>{e.exports=require("fs")},5315:e=>{e.exports=require("path")},1649:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>A,patchFetch:()=>P,requestAsyncStorage:()=>y,routeModule:()=>m,serverHooks:()=>g,staticGenerationAsyncStorage:()=>x});var i={};t.r(i),t.d(i,{GET:()=>h,dynamic:()=>c});var n=t(9303),o=t(8716),a=t(670),s=t(7070),u=t(2048),p=t(5315),l=t(1282);let c="force-dynamic",d=p.join(process.env.HOME||"",".vibebusiness","credentials.json"),v=p.join(process.env.HOME||"",".ai-analyst","provider.json");function f(e){return e.length<=12?"****":`${e.slice(0,4)}...${e.slice(-4)}`}async function h(){try{let e=function(){try{let e=(0,l.execSync)("claude --version 2>/dev/null",{timeout:5e3,encoding:"utf-8"}).trim();return{found:!0,version:e}}catch{return{found:!1}}}(),r=null,t=null;try{if(u.existsSync(v)){let e=JSON.parse(u.readFileSync(v,"utf-8"));r=e.type||null,t=e.model||null}}catch{}let i=null,n=null,o=null,a=[{envVar:"ANTHROPIC_API_KEY",provider:"anthropic-api"},{envVar:"OPENAI_API_KEY",provider:"openai-api"},{envVar:"GOOGLE_API_KEY",provider:"google-api"}];for(let{envVar:e,provider:r}of a)if(process.env[e]){i=f(process.env[e]),n="environment",o=r;break}if(!i)try{if(u.existsSync(d)){let e=JSON.parse(u.readFileSync(d,"utf-8"));for(let{envVar:r,provider:t}of a)if(e[r]){i=f(e[r]),n="credentials",o=t;break}}}catch{}let p=e.found?"claude-cli":o||r,c=!!i,h=e.found;return s.NextResponse.json({success:!0,data:{provider:p?({"claude-cli":"Claude Code CLI","anthropic-api":"Anthropic API","openai-api":"OpenAI API","google-api":"Google AI API"})[p]||p:null,providerType:p,keyMasked:i,keySource:n,model:t||("anthropic-api"===o?"claude-sonnet-4-6":null),cli:e.found?{version:e.version}:null,capabilities:{heartbeat_reasoning:c||h,idea_evaluation:c||h,idea_decomposition:c||h,codebase_analysis:h,implementation:h,interactive_chat:h}}})}catch(e){return s.NextResponse.json({success:!1,error:"Failed to get provider status"},{status:500})}}let m=new n.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/provider-status/route",pathname:"/api/provider-status",filename:"route",bundlePath:"app/api/provider-status/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/provider-status/route.ts",nextConfigOutput:"standalone",userland:i}),{requestAsyncStorage:y,staticGenerationAsyncStorage:x,serverHooks:g}=m,A="/api/provider-status/route";function P(){return(0,a.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:x})}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),i=r.X(0,[9276,5972],()=>t(1649));module.exports=i})();
1
+ "use strict";(()=>{var e={};e.id=3119,e.ids=[3119],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},2048:e=>{e.exports=require("fs")},5315:e=>{e.exports=require("path")},1330:(e,r,t)=>{t.r(r),t.d(r,{originalPathname:()=>A,patchFetch:()=>P,requestAsyncStorage:()=>y,routeModule:()=>h,serverHooks:()=>g,staticGenerationAsyncStorage:()=>x});var n={};t.r(n),t.d(n,{GET:()=>m,dynamic:()=>c});var i=t(9303),o=t(8716),a=t(670),s=t(7070),u=t(2048),p=t(5315),l=t(1282);let c="force-dynamic",d=p.join(process.env.HOME||"",".vibebusiness","credentials.json"),v=p.join(process.env.HOME||"",".ai-analyst","provider.json");function f(e){return e.length<=12?"****":`${e.slice(0,4)}...${e.slice(-4)}`}async function m(){try{let e=function(){try{let e=(0,l.execSync)("claude --version 2>/dev/null",{timeout:5e3,encoding:"utf-8"}).trim();return{found:!0,version:e}}catch{return{found:!1}}}(),r=null,t=null;try{if(u.existsSync(v)){let e=JSON.parse(u.readFileSync(v,"utf-8"));r=e.type||null,t=e.model||null}}catch{}let n=null,i=null,o=null,a=[{envVar:"ANTHROPIC_API_KEY",provider:"anthropic-api"},{envVar:"OPENAI_API_KEY",provider:"openai-api"},{envVar:"GOOGLE_API_KEY",provider:"google-api"}];for(let{envVar:e,provider:r}of a)if(process.env[e]){n=f(process.env[e]),i="environment",o=r;break}if(!n)try{if(u.existsSync(d)){let e=JSON.parse(u.readFileSync(d,"utf-8"));for(let{envVar:r,provider:t}of a)if(e[r]){n=f(e[r]),i="credentials",o=t;break}}}catch{}let p=e.found?"claude-cli":o||r,c=!!n,m=e.found;return s.NextResponse.json({success:!0,data:{provider:p?({"claude-cli":"Claude Code CLI","anthropic-api":"Anthropic API","openai-api":"OpenAI API","google-api":"Google AI API"})[p]||p:null,providerType:p,keyMasked:n,keySource:i,model:t||("anthropic-api"===o?"claude-sonnet-4-6":null),cli:e.found?{version:e.version}:null,capabilities:{heartbeat_reasoning:c||m,idea_evaluation:c||m,idea_decomposition:c||m,codebase_analysis:m,implementation:m,interactive_chat:m}}})}catch(e){return s.NextResponse.json({success:!1,error:"Failed to get provider status"},{status:500})}}let h=new i.AppRouteRouteModule({definition:{kind:o.x.APP_ROUTE,page:"/api/provider-status/route",pathname:"/api/provider-status",filename:"route",bundlePath:"app/api/provider-status/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/provider-status/route.ts",nextConfigOutput:"standalone",userland:n}),{requestAsyncStorage:y,staticGenerationAsyncStorage:x,serverHooks:g}=h,A="/api/provider-status/route";function P(){return(0,a.patchFetch)({serverHooks:g,staticGenerationAsyncStorage:x})}}};var r=require("../../../webpack-runtime.js");r.C(e);var t=e=>r(r.s=e),n=r.X(0,[9276,5972],()=>t(1330));module.exports=n})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=1369,e.ids=[1369],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},4770:e=>{e.exports=require("crypto")},7702:e=>{e.exports=require("events")},2048:e=>{e.exports=require("fs")},8791:e=>{e.exports=require("https")},5315:e=>{e.exports=require("path")},1568:e=>{e.exports=require("zlib")},2663:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>h,patchFetch:()=>w,requestAsyncStorage:()=>c,routeModule:()=>d,serverHooks:()=>f,staticGenerationAsyncStorage:()=>p});var s={};r.r(s),r.d(s,{POST:()=>l});var a=r(9303),n=r(8716),i=r(670),u=r(7070),o=r(3418);async function l(e,t){try{let e;let{id:s}=await t.params,a=await (0,o.pw)(s);if(!a)return u.NextResponse.json({success:!1,error:"Draft not found"},{status:404});if("draft"!==a.status)return u.NextResponse.json({success:!1,error:`Draft is already ${a.status}`},{status:400});try{e=(await r.e(7151).then(r.bind(r,7151))).executeSocialTask}catch{return u.NextResponse.json({success:!1,error:"Social media skill not available"},{status:500})}let n=await e(`social-publish-${s}`,`Publish draft ${s}`);if(!n.success)return u.NextResponse.json({success:!1,error:n.output},{status:500});let i=await (0,o.pw)(s);return u.NextResponse.json({success:!0,data:i,message:n.output})}catch(e){return console.error("Failed to publish social draft:",e),u.NextResponse.json({success:!1,error:"Failed to publish social draft"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/social/[id]/publish/route",pathname:"/api/social/[id]/publish",filename:"route",bundlePath:"app/api/social/[id]/publish/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/social/[id]/publish/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:c,staticGenerationAsyncStorage:p,serverHooks:f}=d,h="/api/social/[id]/publish/route";function w(){return(0,i.patchFetch)({serverHooks:f,staticGenerationAsyncStorage:p})}},9576:(e,t,r)=>{r.d(t,{Z:()=>l});var s=r(4770),a=r.n(s);let n={randomUUID:a().randomUUID},i=new Uint8Array(256),u=i.length,o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(n.randomUUID&&!t&&!e)return n.randomUUID();let s=(e=e||{}).random||(e.rng||function(){return u>i.length-16&&(a().randomFillSync(i),u=0),i.slice(u,u+=16)})();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=s[e];return t}return function(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}(s)}},3418:(e,t,r)=>{r.d(t,{FH:()=>m,PV:()=>h,SN:()=>x,ZT:()=>p,nQ:()=>w,pw:()=>f});var s=r(2048),a=r(5315),n=r.n(a),i=r(9576);function u(){return process.env.AI_ANALYST_DATA_DIR||n().join(process.cwd(),"data")}function o(){return n().join(u(),"social.json")}let l={last_updated:new Date().toISOString(),platform:"x",username:null,credentials_valid:!1,drafts:[],metrics:{followers_count:null,post_streak_days:0,total_posts:0,last_post_date:null}};async function d(){try{let e=await s.promises.readFile(o(),"utf-8");return JSON.parse(e)}catch{return{...l,drafts:[],metrics:{...l.metrics}}}}async function c(e){e.last_updated=new Date().toISOString();let t=u();try{await s.promises.access(t)}catch{await s.promises.mkdir(t,{recursive:!0})}await s.promises.writeFile(o(),JSON.stringify(e,null,2),"utf-8")}async function p(){return(await d()).drafts}async function f(e){return(await d()).drafts.find(t=>t.id===e)||null}async function h(e,t){let r=await d(),s=!!(t?.threadTweets&&t.threadTweets.length>0),a={id:`draft-${(0,i.Z)().slice(0,8)}`,text:e,source:s?"thread":"manual",source_ref:null,status:"draft",created_at:new Date().toISOString(),published_at:null,tweet_id:null,tweet_url:null,is_thread:s,thread_tweets:t?.threadTweets};return r.drafts.push(a),await c(r),a}async function w(e,t){let r=await d(),s=r.drafts.find(t=>t.id===e);return s&&"draft"===s.status?(void 0!==t.text&&(s.text=t.text),void 0!==t.threadTweets&&(s.thread_tweets=t.threadTweets,t.threadTweets.length>0&&(s.text=t.threadTweets[0])),await c(r),s):null}async function m(e){let t=await d(),r=t.drafts.findIndex(t=>t.id===e);return -1!==r&&(t.drafts[r].status="discarded",await c(t),!0)}async function x(){let e=await d();return{...e.metrics,username:e.username,credentials_valid:e.credentials_valid}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9276,5972],()=>r(2663));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=1369,e.ids=[1369],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},4770:e=>{e.exports=require("crypto")},7702:e=>{e.exports=require("events")},2048:e=>{e.exports=require("fs")},8791:e=>{e.exports=require("https")},5315:e=>{e.exports=require("path")},1568:e=>{e.exports=require("zlib")},1521:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>h,patchFetch:()=>w,requestAsyncStorage:()=>c,routeModule:()=>d,serverHooks:()=>f,staticGenerationAsyncStorage:()=>p});var s={};r.r(s),r.d(s,{POST:()=>l});var a=r(9303),n=r(8716),i=r(670),u=r(7070),o=r(3418);async function l(e,t){try{let e;let{id:s}=await t.params,a=await (0,o.pw)(s);if(!a)return u.NextResponse.json({success:!1,error:"Draft not found"},{status:404});if("draft"!==a.status)return u.NextResponse.json({success:!1,error:`Draft is already ${a.status}`},{status:400});try{e=(await r.e(7151).then(r.bind(r,7151))).executeSocialTask}catch{return u.NextResponse.json({success:!1,error:"Social media skill not available"},{status:500})}let n=await e(`social-publish-${s}`,`Publish draft ${s}`);if(!n.success)return u.NextResponse.json({success:!1,error:n.output},{status:500});let i=await (0,o.pw)(s);return u.NextResponse.json({success:!0,data:i,message:n.output})}catch(e){return console.error("Failed to publish social draft:",e),u.NextResponse.json({success:!1,error:"Failed to publish social draft"},{status:500})}}let d=new a.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/social/[id]/publish/route",pathname:"/api/social/[id]/publish",filename:"route",bundlePath:"app/api/social/[id]/publish/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/social/[id]/publish/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:c,staticGenerationAsyncStorage:p,serverHooks:f}=d,h="/api/social/[id]/publish/route";function w(){return(0,i.patchFetch)({serverHooks:f,staticGenerationAsyncStorage:p})}},9576:(e,t,r)=>{r.d(t,{Z:()=>l});var s=r(4770),a=r.n(s);let n={randomUUID:a().randomUUID},i=new Uint8Array(256),u=i.length,o=[];for(let e=0;e<256;++e)o.push((e+256).toString(16).slice(1));let l=function(e,t,r){if(n.randomUUID&&!t&&!e)return n.randomUUID();let s=(e=e||{}).random||(e.rng||function(){return u>i.length-16&&(a().randomFillSync(i),u=0),i.slice(u,u+=16)})();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=s[e];return t}return function(e,t=0){return o[e[t+0]]+o[e[t+1]]+o[e[t+2]]+o[e[t+3]]+"-"+o[e[t+4]]+o[e[t+5]]+"-"+o[e[t+6]]+o[e[t+7]]+"-"+o[e[t+8]]+o[e[t+9]]+"-"+o[e[t+10]]+o[e[t+11]]+o[e[t+12]]+o[e[t+13]]+o[e[t+14]]+o[e[t+15]]}(s)}},3418:(e,t,r)=>{r.d(t,{FH:()=>m,PV:()=>h,SN:()=>x,ZT:()=>p,nQ:()=>w,pw:()=>f});var s=r(2048),a=r(5315),n=r.n(a),i=r(9576);function u(){return process.env.AI_ANALYST_DATA_DIR||n().join(process.cwd(),"data")}function o(){return n().join(u(),"social.json")}let l={last_updated:new Date().toISOString(),platform:"x",username:null,credentials_valid:!1,drafts:[],metrics:{followers_count:null,post_streak_days:0,total_posts:0,last_post_date:null}};async function d(){try{let e=await s.promises.readFile(o(),"utf-8");return JSON.parse(e)}catch{return{...l,drafts:[],metrics:{...l.metrics}}}}async function c(e){e.last_updated=new Date().toISOString();let t=u();try{await s.promises.access(t)}catch{await s.promises.mkdir(t,{recursive:!0})}await s.promises.writeFile(o(),JSON.stringify(e,null,2),"utf-8")}async function p(){return(await d()).drafts}async function f(e){return(await d()).drafts.find(t=>t.id===e)||null}async function h(e,t){let r=await d(),s=!!(t?.threadTweets&&t.threadTweets.length>0),a={id:`draft-${(0,i.Z)().slice(0,8)}`,text:e,source:s?"thread":"manual",source_ref:null,status:"draft",created_at:new Date().toISOString(),published_at:null,tweet_id:null,tweet_url:null,is_thread:s,thread_tweets:t?.threadTweets};return r.drafts.push(a),await c(r),a}async function w(e,t){let r=await d(),s=r.drafts.find(t=>t.id===e);return s&&"draft"===s.status?(void 0!==t.text&&(s.text=t.text),void 0!==t.threadTweets&&(s.thread_tweets=t.threadTweets,t.threadTweets.length>0&&(s.text=t.threadTweets[0])),await c(r),s):null}async function m(e){let t=await d(),r=t.drafts.findIndex(t=>t.id===e);return -1!==r&&(t.drafts[r].status="discarded",await c(t),!0)}async function x(){let e=await d();return{...e.metrics,username:e.username,credentials_valid:e.credentials_valid}}}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9276,5972],()=>r(1521));module.exports=s})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../../data/.DS_Store","../../../../../../../data/.analysis-prompt.txt","../../../../../../../data/.gitkeep","../../../../../../../data/business-context.json","../../../../../../../data/codebase-snapshot.json","../../../../../../../data/competitors.json","../../../../../../../data/config.json","../../../../../../../data/copy/landing-improvements-2026-02-20.md","../../../../../../../data/copy/landing-landing-page-2026-02-20.md","../../../../../../../data/email-campaigns/sequences/onboarding.md","../../../../../../../data/email-campaigns/welcome-2026-02-20.md","../../../../../../../data/goals.json","../../../../../../../data/heartbeat-sessions.json","../../../../../../../data/hypotheses.json","../../../../../../../data/ideas.json","../../../../../../../data/implementations.json","../../../../../../../data/investor-updates.json","../../../../../../../data/marketing-plans/plan-1771884329778-7pxlrt7.json","../../../../../../../data/marketing-plans/plan-1771885743819-2d9m2nt.json","../../../../../../../data/marketing-plans/plan-1771886455031-mwdob3k.json","../../../../../../../data/marketing-strategies.json","../../../../../../../data/marketplace-positioning.json","../../../../../../../data/pages.json","../../../../../../../data/payments.json","../../../../../../../data/positioning.json","../../../../../../../data/posthog.json","../../../../../../../data/reports/.DS_Store","../../../../../../../data/reports/visuals/idea-3f4595f7-card.png","../../../../../../../data/reports/visuals/idea-4rxt3mkj-card.png","../../../../../../../data/reports/visuals/idea-6631456b-card.png","../../../../../../../data/reports/visuals/idea-boot-001-card.png","../../../../../../../data/reports/visuals/idea-fb3eba74-card.png","../../../../../../../data/reports/visuals/idea-first-tweet-card.png","../../../../../../../data/reports/visuals/idea-lp-hero-specificity-card.png","../../../../../../../data/reports/visuals/idea-lp-og-meta-card.png","../../../../../../../data/reports/visuals/idea-lp-social-proof-card.png","../../../../../../../data/reports/visuals/idea-prqf3lob-card.png","../../../../../../../data/reports/visuals/idea-readme-landing-url-card.png","../../../../../../../data/reports/visuals/idea-stripe-integration-card.png","../../../../../../../data/reports/visuals/promo-launch.png","../../../../../../../data/reports/visuals/promo-ship-fast.png","../../../../../../../data/reports/visuals/promo-while-you-slept-v2.png","../../../../../../../data/reports/visuals/promo-while-you-slept-v3.png","../../../../../../../data/reports/visuals/promo-while-you-slept.png","../../../../../../../data/roadmap.json","../../../../../../../data/sessions.json","../../../../../../../data/social.json","../../../../../../../data/social.json.backup","../../../../../../../data/video-ideas.md","../../../../../../../data/videos/ad-solo-founder-burnout.mp4","../../../../../../../data/videos/ai-gets-business-feed.mp4","../../../../../../../data/videos/idea-graveyard-feed.mp4","../../../../../../../data/videos/lonely-founder-feed.mp4","../../../../../../../data/videos/staging/ad-solo-founder-burnout.json","../../../../../../../data/videos/staging/ai-gets-business.json","../../../../../../../data/videos/staging/idea-graveyard.json","../../../../../../../data/videos/staging/lonely-founder.json","../../../../../../../data/videos/staging/while-you-slept-demo.json","../../../../../../../data/videos/staging/while-you-slept-v2-fast.json","../../../../../../../data/videos/staging/while-you-slept-v3-dynamic.json","../../../../../../../data/videos/while-you-slept-demo-feed.mp4","../../../../../../../data/videos/while-you-slept-v2-fast-feed.mp4","../../../../../../../data/videos/while-you-slept-v3-dynamic-feed.mp4","../../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../../scripts/skills/social-media.ts","../../../../../../package.json","../../../../../chunks/5972.js","../../../../../chunks/7151.js","../../../../../chunks/9276.js","../../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../../data/.gitkeep","../../../../../../../data/business-context.json","../../../../../../../data/codebase-snapshot.json","../../../../../../../data/competitors.json","../../../../../../../data/config.json","../../../../../../../data/goals.json","../../../../../../../data/investor-updates.json","../../../../../../../data/marketing-plans/plan-1771884329778-7pxlrt7.json","../../../../../../../data/marketing-plans/plan-1771885743819-2d9m2nt.json","../../../../../../../data/marketing-plans/plan-1771886455031-mwdob3k.json","../../../../../../../data/marketing-strategies.json","../../../../../../../data/marketplace-positioning.json","../../../../../../../data/positioning.json","../../../../../../../data/posthog.json","../../../../../../../data/roadmap.json","../../../../../../../data/sessions.json","../../../../../../../data/video-ideas.md","../../../../../../../data/videos/staging/while-you-slept-demo.json","../../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../../node_modules/next/package.json","../../../../../../../package.json","../../../../../../../scripts/skills/social-media.ts","../../../../../../package.json","../../../../../chunks/5972.js","../../../../../chunks/7151.js","../../../../../chunks/9276.js","../../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var t={};t.id=7122,t.ids=[7122],t.modules={399:t=>{t.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:t=>{t.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4770:t=>{t.exports=require("crypto")},2048:t=>{t.exports=require("fs")},5315:t=>{t.exports=require("path")},5154:(t,e,r)=>{r.r(e),r.d(e,{originalPathname:()=>x,patchFetch:()=>h,requestAsyncStorage:()=>p,routeModule:()=>l,serverHooks:()=>w,staticGenerationAsyncStorage:()=>f});var s={};r.r(s),r.d(s,{DELETE:()=>c,PATCH:()=>d});var a=r(9303),n=r(8716),i=r(670),o=r(7070),u=r(3418);async function d(t,e){try{let{id:r}=await e.params,s=await t.json();if(void 0!==s.text&&"string"!=typeof s.text)return o.NextResponse.json({success:!1,error:"Invalid text field"},{status:400});if(s.text&&s.text.length>280)return o.NextResponse.json({success:!1,error:"Tweet text exceeds 280 characters"},{status:400});let a=await (0,u.nQ)(r,{text:s.text});if(!a)return o.NextResponse.json({success:!1,error:"Draft not found or not editable"},{status:404});return o.NextResponse.json({success:!0,data:a})}catch(t){return console.error("Failed to update social draft:",t),o.NextResponse.json({success:!1,error:"Failed to update social draft"},{status:500})}}async function c(t,e){try{let{id:t}=await e.params;if(!await (0,u.FH)(t))return o.NextResponse.json({success:!1,error:"Draft not found"},{status:404});return o.NextResponse.json({success:!0})}catch(t){return console.error("Failed to delete social draft:",t),o.NextResponse.json({success:!1,error:"Failed to delete social draft"},{status:500})}}let l=new a.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/social/[id]/route",pathname:"/api/social/[id]",filename:"route",bundlePath:"app/api/social/[id]/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/social/[id]/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:p,staticGenerationAsyncStorage:f,serverHooks:w}=l,x="/api/social/[id]/route";function h(){return(0,i.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:f})}},9576:(t,e,r)=>{r.d(e,{Z:()=>d});var s=r(4770),a=r.n(s);let n={randomUUID:a().randomUUID},i=new Uint8Array(256),o=i.length,u=[];for(let t=0;t<256;++t)u.push((t+256).toString(16).slice(1));let d=function(t,e,r){if(n.randomUUID&&!e&&!t)return n.randomUUID();let s=(t=t||{}).random||(t.rng||function(){return o>i.length-16&&(a().randomFillSync(i),o=0),i.slice(o,o+=16)})();if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e){r=r||0;for(let t=0;t<16;++t)e[r+t]=s[t];return e}return function(t,e=0){return u[t[e+0]]+u[t[e+1]]+u[t[e+2]]+u[t[e+3]]+"-"+u[t[e+4]]+u[t[e+5]]+"-"+u[t[e+6]]+u[t[e+7]]+"-"+u[t[e+8]]+u[t[e+9]]+"-"+u[t[e+10]]+u[t[e+11]]+u[t[e+12]]+u[t[e+13]]+u[t[e+14]]+u[t[e+15]]}(s)}},3418:(t,e,r)=>{r.d(e,{FH:()=>h,PV:()=>w,SN:()=>m,ZT:()=>p,nQ:()=>x,pw:()=>f});var s=r(2048),a=r(5315),n=r.n(a),i=r(9576);function o(){return process.env.AI_ANALYST_DATA_DIR||n().join(process.cwd(),"data")}function u(){return n().join(o(),"social.json")}let d={last_updated:new Date().toISOString(),platform:"x",username:null,credentials_valid:!1,drafts:[],metrics:{followers_count:null,post_streak_days:0,total_posts:0,last_post_date:null}};async function c(){try{let t=await s.promises.readFile(u(),"utf-8");return JSON.parse(t)}catch{return{...d,drafts:[],metrics:{...d.metrics}}}}async function l(t){t.last_updated=new Date().toISOString();let e=o();try{await s.promises.access(e)}catch{await s.promises.mkdir(e,{recursive:!0})}await s.promises.writeFile(u(),JSON.stringify(t,null,2),"utf-8")}async function p(){return(await c()).drafts}async function f(t){return(await c()).drafts.find(e=>e.id===t)||null}async function w(t,e){let r=await c(),s=!!(e?.threadTweets&&e.threadTweets.length>0),a={id:`draft-${(0,i.Z)().slice(0,8)}`,text:t,source:s?"thread":"manual",source_ref:null,status:"draft",created_at:new Date().toISOString(),published_at:null,tweet_id:null,tweet_url:null,is_thread:s,thread_tweets:e?.threadTweets};return r.drafts.push(a),await l(r),a}async function x(t,e){let r=await c(),s=r.drafts.find(e=>e.id===t);return s&&"draft"===s.status?(void 0!==e.text&&(s.text=e.text),void 0!==e.threadTweets&&(s.thread_tweets=e.threadTweets,e.threadTweets.length>0&&(s.text=e.threadTweets[0])),await l(r),s):null}async function h(t){let e=await c(),r=e.drafts.findIndex(e=>e.id===t);return -1!==r&&(e.drafts[r].status="discarded",await l(e),!0)}async function m(){let t=await c();return{...t.metrics,username:t.username,credentials_valid:t.credentials_valid}}}};var e=require("../../../../webpack-runtime.js");e.C(t);var r=t=>e(e.s=t),s=e.X(0,[9276,5972],()=>r(5154));module.exports=s})();
1
+ "use strict";(()=>{var t={};t.id=7122,t.ids=[7122],t.modules={399:t=>{t.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:t=>{t.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4770:t=>{t.exports=require("crypto")},2048:t=>{t.exports=require("fs")},5315:t=>{t.exports=require("path")},8104:(t,e,r)=>{r.r(e),r.d(e,{originalPathname:()=>x,patchFetch:()=>m,requestAsyncStorage:()=>p,routeModule:()=>l,serverHooks:()=>w,staticGenerationAsyncStorage:()=>f});var a={};r.r(a),r.d(a,{DELETE:()=>c,PATCH:()=>d});var s=r(9303),n=r(8716),i=r(670),o=r(7070),u=r(3418);async function d(t,e){try{let{id:r}=await e.params,a=await t.json();if(void 0!==a.text&&"string"!=typeof a.text)return o.NextResponse.json({success:!1,error:"Invalid text field"},{status:400});if(a.text&&a.text.length>280)return o.NextResponse.json({success:!1,error:"Tweet text exceeds 280 characters"},{status:400});let s=await (0,u.nQ)(r,{text:a.text});if(!s)return o.NextResponse.json({success:!1,error:"Draft not found or not editable"},{status:404});return o.NextResponse.json({success:!0,data:s})}catch(t){return console.error("Failed to update social draft:",t),o.NextResponse.json({success:!1,error:"Failed to update social draft"},{status:500})}}async function c(t,e){try{let{id:t}=await e.params;if(!await (0,u.FH)(t))return o.NextResponse.json({success:!1,error:"Draft not found"},{status:404});return o.NextResponse.json({success:!0})}catch(t){return console.error("Failed to delete social draft:",t),o.NextResponse.json({success:!1,error:"Failed to delete social draft"},{status:500})}}let l=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/social/[id]/route",pathname:"/api/social/[id]",filename:"route",bundlePath:"app/api/social/[id]/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/social/[id]/route.ts",nextConfigOutput:"standalone",userland:a}),{requestAsyncStorage:p,staticGenerationAsyncStorage:f,serverHooks:w}=l,x="/api/social/[id]/route";function m(){return(0,i.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:f})}},9576:(t,e,r)=>{r.d(e,{Z:()=>d});var a=r(4770),s=r.n(a);let n={randomUUID:s().randomUUID},i=new Uint8Array(256),o=i.length,u=[];for(let t=0;t<256;++t)u.push((t+256).toString(16).slice(1));let d=function(t,e,r){if(n.randomUUID&&!e&&!t)return n.randomUUID();let a=(t=t||{}).random||(t.rng||function(){return o>i.length-16&&(s().randomFillSync(i),o=0),i.slice(o,o+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,e){r=r||0;for(let t=0;t<16;++t)e[r+t]=a[t];return e}return function(t,e=0){return u[t[e+0]]+u[t[e+1]]+u[t[e+2]]+u[t[e+3]]+"-"+u[t[e+4]]+u[t[e+5]]+"-"+u[t[e+6]]+u[t[e+7]]+"-"+u[t[e+8]]+u[t[e+9]]+"-"+u[t[e+10]]+u[t[e+11]]+u[t[e+12]]+u[t[e+13]]+u[t[e+14]]+u[t[e+15]]}(a)}},3418:(t,e,r)=>{r.d(e,{FH:()=>m,PV:()=>w,SN:()=>h,ZT:()=>p,nQ:()=>x,pw:()=>f});var a=r(2048),s=r(5315),n=r.n(s),i=r(9576);function o(){return process.env.AI_ANALYST_DATA_DIR||n().join(process.cwd(),"data")}function u(){return n().join(o(),"social.json")}let d={last_updated:new Date().toISOString(),platform:"x",username:null,credentials_valid:!1,drafts:[],metrics:{followers_count:null,post_streak_days:0,total_posts:0,last_post_date:null}};async function c(){try{let t=await a.promises.readFile(u(),"utf-8");return JSON.parse(t)}catch{return{...d,drafts:[],metrics:{...d.metrics}}}}async function l(t){t.last_updated=new Date().toISOString();let e=o();try{await a.promises.access(e)}catch{await a.promises.mkdir(e,{recursive:!0})}await a.promises.writeFile(u(),JSON.stringify(t,null,2),"utf-8")}async function p(){return(await c()).drafts}async function f(t){return(await c()).drafts.find(e=>e.id===t)||null}async function w(t,e){let r=await c(),a=!!(e?.threadTweets&&e.threadTweets.length>0),s={id:`draft-${(0,i.Z)().slice(0,8)}`,text:t,source:a?"thread":"manual",source_ref:null,status:"draft",created_at:new Date().toISOString(),published_at:null,tweet_id:null,tweet_url:null,is_thread:a,thread_tweets:e?.threadTweets};return r.drafts.push(s),await l(r),s}async function x(t,e){let r=await c(),a=r.drafts.find(e=>e.id===t);return a&&"draft"===a.status?(void 0!==e.text&&(a.text=e.text),void 0!==e.threadTweets&&(a.thread_tweets=e.threadTweets,e.threadTweets.length>0&&(a.text=e.threadTweets[0])),await l(r),a):null}async function m(t){let e=await c(),r=e.drafts.findIndex(e=>e.id===t);return -1!==r&&(e.drafts[r].status="discarded",await l(e),!0)}async function h(){let t=await c();return{...t.metrics,username:t.username,credentials_valid:t.credentials_valid}}}};var e=require("../../../../webpack-runtime.js");e.C(t);var r=t=>e(e.s=t),a=e.X(0,[9276,5972],()=>r(8104));module.exports=a})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../../data/.DS_Store","../../../../../../data/.analysis-prompt.txt","../../../../../../data/.gitkeep","../../../../../../data/business-context.json","../../../../../../data/codebase-snapshot.json","../../../../../../data/competitors.json","../../../../../../data/config.json","../../../../../../data/copy/landing-improvements-2026-02-20.md","../../../../../../data/copy/landing-landing-page-2026-02-20.md","../../../../../../data/email-campaigns/sequences/onboarding.md","../../../../../../data/email-campaigns/welcome-2026-02-20.md","../../../../../../data/goals.json","../../../../../../data/heartbeat-sessions.json","../../../../../../data/hypotheses.json","../../../../../../data/ideas.json","../../../../../../data/implementations.json","../../../../../../data/investor-updates.json","../../../../../../data/marketing-plans/plan-1771884329778-7pxlrt7.json","../../../../../../data/marketing-plans/plan-1771885743819-2d9m2nt.json","../../../../../../data/marketing-plans/plan-1771886455031-mwdob3k.json","../../../../../../data/marketing-strategies.json","../../../../../../data/marketplace-positioning.json","../../../../../../data/pages.json","../../../../../../data/payments.json","../../../../../../data/positioning.json","../../../../../../data/posthog.json","../../../../../../data/reports/.DS_Store","../../../../../../data/reports/visuals/idea-3f4595f7-card.png","../../../../../../data/reports/visuals/idea-4rxt3mkj-card.png","../../../../../../data/reports/visuals/idea-6631456b-card.png","../../../../../../data/reports/visuals/idea-boot-001-card.png","../../../../../../data/reports/visuals/idea-fb3eba74-card.png","../../../../../../data/reports/visuals/idea-first-tweet-card.png","../../../../../../data/reports/visuals/idea-lp-hero-specificity-card.png","../../../../../../data/reports/visuals/idea-lp-og-meta-card.png","../../../../../../data/reports/visuals/idea-lp-social-proof-card.png","../../../../../../data/reports/visuals/idea-prqf3lob-card.png","../../../../../../data/reports/visuals/idea-readme-landing-url-card.png","../../../../../../data/reports/visuals/idea-stripe-integration-card.png","../../../../../../data/reports/visuals/promo-launch.png","../../../../../../data/reports/visuals/promo-ship-fast.png","../../../../../../data/reports/visuals/promo-while-you-slept-v2.png","../../../../../../data/reports/visuals/promo-while-you-slept-v3.png","../../../../../../data/reports/visuals/promo-while-you-slept.png","../../../../../../data/roadmap.json","../../../../../../data/sessions.json","../../../../../../data/social.json","../../../../../../data/social.json.backup","../../../../../../data/video-ideas.md","../../../../../../data/videos/ad-solo-founder-burnout.mp4","../../../../../../data/videos/ai-gets-business-feed.mp4","../../../../../../data/videos/idea-graveyard-feed.mp4","../../../../../../data/videos/lonely-founder-feed.mp4","../../../../../../data/videos/staging/ad-solo-founder-burnout.json","../../../../../../data/videos/staging/ai-gets-business.json","../../../../../../data/videos/staging/idea-graveyard.json","../../../../../../data/videos/staging/lonely-founder.json","../../../../../../data/videos/staging/while-you-slept-demo.json","../../../../../../data/videos/staging/while-you-slept-v2-fast.json","../../../../../../data/videos/staging/while-you-slept-v3-dynamic.json","../../../../../../data/videos/while-you-slept-demo-feed.mp4","../../../../../../data/videos/while-you-slept-v2-fast-feed.mp4","../../../../../../data/videos/while-you-slept-v3-dynamic-feed.mp4","../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/5972.js","../../../../chunks/9276.js","../../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../../data/.gitkeep","../../../../../../data/business-context.json","../../../../../../data/codebase-snapshot.json","../../../../../../data/competitors.json","../../../../../../data/config.json","../../../../../../data/goals.json","../../../../../../data/investor-updates.json","../../../../../../data/marketing-plans/plan-1771884329778-7pxlrt7.json","../../../../../../data/marketing-plans/plan-1771885743819-2d9m2nt.json","../../../../../../data/marketing-plans/plan-1771886455031-mwdob3k.json","../../../../../../data/marketing-strategies.json","../../../../../../data/marketplace-positioning.json","../../../../../../data/positioning.json","../../../../../../data/posthog.json","../../../../../../data/roadmap.json","../../../../../../data/sessions.json","../../../../../../data/video-ideas.md","../../../../../../data/videos/staging/while-you-slept-demo.json","../../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../package.json","../../../../chunks/5972.js","../../../../chunks/9276.js","../../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=1453,e.ids=[1453],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4770:e=>{e.exports=require("crypto")},2048:e=>{e.exports=require("fs")},5315:e=>{e.exports=require("path")},9514:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>h,patchFetch:()=>x,requestAsyncStorage:()=>f,routeModule:()=>p,serverHooks:()=>m,staticGenerationAsyncStorage:()=>w});var a={};r.r(a),r.d(a,{GET:()=>d,POST:()=>l,dynamic:()=>c});var s=r(9303),n=r(8716),i=r(670),o=r(7070),u=r(3418);let c="force-dynamic";async function d(){try{let[e,t]=await Promise.all([(0,u.ZT)(),(0,u.SN)()]);return o.NextResponse.json({success:!0,data:{drafts:e,metrics:t}})}catch(e){return console.error("Failed to get social data:",e),o.NextResponse.json({success:!1,error:"Failed to get social data"},{status:500})}}async function l(e){try{let t=await e.json();if(!t.text||"string"!=typeof t.text)return o.NextResponse.json({success:!1,error:"Missing required field: text"},{status:400});if(t.text.length>280)return o.NextResponse.json({success:!1,error:"Tweet text exceeds 280 characters"},{status:400});let r=await (0,u.PV)(t.text);return o.NextResponse.json({success:!0,data:r},{status:201})}catch(e){return console.error("Failed to create social draft:",e),o.NextResponse.json({success:!1,error:"Failed to create social draft"},{status:500})}}let p=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/social/route",pathname:"/api/social",filename:"route",bundlePath:"app/api/social/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/social/route.ts",nextConfigOutput:"standalone",userland:a}),{requestAsyncStorage:f,staticGenerationAsyncStorage:w,serverHooks:m}=p,h="/api/social/route";function x(){return(0,i.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:w})}},9576:(e,t,r)=>{r.d(t,{Z:()=>c});var a=r(4770),s=r.n(a);let n={randomUUID:s().randomUUID},i=new Uint8Array(256),o=i.length,u=[];for(let e=0;e<256;++e)u.push((e+256).toString(16).slice(1));let c=function(e,t,r){if(n.randomUUID&&!t&&!e)return n.randomUUID();let a=(e=e||{}).random||(e.rng||function(){return o>i.length-16&&(s().randomFillSync(i),o=0),i.slice(o,o+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return function(e,t=0){return u[e[t+0]]+u[e[t+1]]+u[e[t+2]]+u[e[t+3]]+"-"+u[e[t+4]]+u[e[t+5]]+"-"+u[e[t+6]]+u[e[t+7]]+"-"+u[e[t+8]]+u[e[t+9]]+"-"+u[e[t+10]]+u[e[t+11]]+u[e[t+12]]+u[e[t+13]]+u[e[t+14]]+u[e[t+15]]}(a)}},3418:(e,t,r)=>{r.d(t,{FH:()=>h,PV:()=>w,SN:()=>x,ZT:()=>p,nQ:()=>m,pw:()=>f});var a=r(2048),s=r(5315),n=r.n(s),i=r(9576);function o(){return process.env.AI_ANALYST_DATA_DIR||n().join(process.cwd(),"data")}function u(){return n().join(o(),"social.json")}let c={last_updated:new Date().toISOString(),platform:"x",username:null,credentials_valid:!1,drafts:[],metrics:{followers_count:null,post_streak_days:0,total_posts:0,last_post_date:null}};async function d(){try{let e=await a.promises.readFile(u(),"utf-8");return JSON.parse(e)}catch{return{...c,drafts:[],metrics:{...c.metrics}}}}async function l(e){e.last_updated=new Date().toISOString();let t=o();try{await a.promises.access(t)}catch{await a.promises.mkdir(t,{recursive:!0})}await a.promises.writeFile(u(),JSON.stringify(e,null,2),"utf-8")}async function p(){return(await d()).drafts}async function f(e){return(await d()).drafts.find(t=>t.id===e)||null}async function w(e,t){let r=await d(),a=!!(t?.threadTweets&&t.threadTweets.length>0),s={id:`draft-${(0,i.Z)().slice(0,8)}`,text:e,source:a?"thread":"manual",source_ref:null,status:"draft",created_at:new Date().toISOString(),published_at:null,tweet_id:null,tweet_url:null,is_thread:a,thread_tweets:t?.threadTweets};return r.drafts.push(s),await l(r),s}async function m(e,t){let r=await d(),a=r.drafts.find(t=>t.id===e);return a&&"draft"===a.status?(void 0!==t.text&&(a.text=t.text),void 0!==t.threadTweets&&(a.thread_tweets=t.threadTweets,t.threadTweets.length>0&&(a.text=t.threadTweets[0])),await l(r),a):null}async function h(e){let t=await d(),r=t.drafts.findIndex(t=>t.id===e);return -1!==r&&(t.drafts[r].status="discarded",await l(t),!0)}async function x(){let e=await d();return{...e.metrics,username:e.username,credentials_valid:e.credentials_valid}}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[9276,5972],()=>r(9514));module.exports=a})();
1
+ "use strict";(()=>{var e={};e.id=1453,e.ids=[1453],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},4770:e=>{e.exports=require("crypto")},2048:e=>{e.exports=require("fs")},5315:e=>{e.exports=require("path")},8112:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>h,patchFetch:()=>x,requestAsyncStorage:()=>f,routeModule:()=>p,serverHooks:()=>m,staticGenerationAsyncStorage:()=>w});var a={};r.r(a),r.d(a,{GET:()=>d,POST:()=>l,dynamic:()=>c});var s=r(9303),n=r(8716),i=r(670),o=r(7070),u=r(3418);let c="force-dynamic";async function d(){try{let[e,t]=await Promise.all([(0,u.ZT)(),(0,u.SN)()]);return o.NextResponse.json({success:!0,data:{drafts:e,metrics:t}})}catch(e){return console.error("Failed to get social data:",e),o.NextResponse.json({success:!1,error:"Failed to get social data"},{status:500})}}async function l(e){try{let t=await e.json();if(!t.text||"string"!=typeof t.text)return o.NextResponse.json({success:!1,error:"Missing required field: text"},{status:400});if(t.text.length>280)return o.NextResponse.json({success:!1,error:"Tweet text exceeds 280 characters"},{status:400});let r=await (0,u.PV)(t.text);return o.NextResponse.json({success:!0,data:r},{status:201})}catch(e){return console.error("Failed to create social draft:",e),o.NextResponse.json({success:!1,error:"Failed to create social draft"},{status:500})}}let p=new s.AppRouteRouteModule({definition:{kind:n.x.APP_ROUTE,page:"/api/social/route",pathname:"/api/social",filename:"route",bundlePath:"app/api/social/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/social/route.ts",nextConfigOutput:"standalone",userland:a}),{requestAsyncStorage:f,staticGenerationAsyncStorage:w,serverHooks:m}=p,h="/api/social/route";function x(){return(0,i.patchFetch)({serverHooks:m,staticGenerationAsyncStorage:w})}},9576:(e,t,r)=>{r.d(t,{Z:()=>c});var a=r(4770),s=r.n(a);let n={randomUUID:s().randomUUID},i=new Uint8Array(256),o=i.length,u=[];for(let e=0;e<256;++e)u.push((e+256).toString(16).slice(1));let c=function(e,t,r){if(n.randomUUID&&!t&&!e)return n.randomUUID();let a=(e=e||{}).random||(e.rng||function(){return o>i.length-16&&(s().randomFillSync(i),o=0),i.slice(o,o+=16)})();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,t){r=r||0;for(let e=0;e<16;++e)t[r+e]=a[e];return t}return function(e,t=0){return u[e[t+0]]+u[e[t+1]]+u[e[t+2]]+u[e[t+3]]+"-"+u[e[t+4]]+u[e[t+5]]+"-"+u[e[t+6]]+u[e[t+7]]+"-"+u[e[t+8]]+u[e[t+9]]+"-"+u[e[t+10]]+u[e[t+11]]+u[e[t+12]]+u[e[t+13]]+u[e[t+14]]+u[e[t+15]]}(a)}},3418:(e,t,r)=>{r.d(t,{FH:()=>h,PV:()=>w,SN:()=>x,ZT:()=>p,nQ:()=>m,pw:()=>f});var a=r(2048),s=r(5315),n=r.n(s),i=r(9576);function o(){return process.env.AI_ANALYST_DATA_DIR||n().join(process.cwd(),"data")}function u(){return n().join(o(),"social.json")}let c={last_updated:new Date().toISOString(),platform:"x",username:null,credentials_valid:!1,drafts:[],metrics:{followers_count:null,post_streak_days:0,total_posts:0,last_post_date:null}};async function d(){try{let e=await a.promises.readFile(u(),"utf-8");return JSON.parse(e)}catch{return{...c,drafts:[],metrics:{...c.metrics}}}}async function l(e){e.last_updated=new Date().toISOString();let t=o();try{await a.promises.access(t)}catch{await a.promises.mkdir(t,{recursive:!0})}await a.promises.writeFile(u(),JSON.stringify(e,null,2),"utf-8")}async function p(){return(await d()).drafts}async function f(e){return(await d()).drafts.find(t=>t.id===e)||null}async function w(e,t){let r=await d(),a=!!(t?.threadTweets&&t.threadTweets.length>0),s={id:`draft-${(0,i.Z)().slice(0,8)}`,text:e,source:a?"thread":"manual",source_ref:null,status:"draft",created_at:new Date().toISOString(),published_at:null,tweet_id:null,tweet_url:null,is_thread:a,thread_tweets:t?.threadTweets};return r.drafts.push(s),await l(r),s}async function m(e,t){let r=await d(),a=r.drafts.find(t=>t.id===e);return a&&"draft"===a.status?(void 0!==t.text&&(a.text=t.text),void 0!==t.threadTweets&&(a.thread_tweets=t.threadTweets,t.threadTweets.length>0&&(a.text=t.threadTweets[0])),await l(r),a):null}async function h(e){let t=await d(),r=t.drafts.findIndex(t=>t.id===e);return -1!==r&&(t.drafts[r].status="discarded",await l(t),!0)}async function x(){let e=await d();return{...e.metrics,username:e.username,credentials_valid:e.credentials_valid}}}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),a=t.X(0,[9276,5972],()=>r(8112));module.exports=a})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../data/.DS_Store","../../../../../data/.analysis-prompt.txt","../../../../../data/.gitkeep","../../../../../data/business-context.json","../../../../../data/codebase-snapshot.json","../../../../../data/competitors.json","../../../../../data/config.json","../../../../../data/copy/landing-improvements-2026-02-20.md","../../../../../data/copy/landing-landing-page-2026-02-20.md","../../../../../data/email-campaigns/sequences/onboarding.md","../../../../../data/email-campaigns/welcome-2026-02-20.md","../../../../../data/goals.json","../../../../../data/heartbeat-sessions.json","../../../../../data/hypotheses.json","../../../../../data/ideas.json","../../../../../data/implementations.json","../../../../../data/investor-updates.json","../../../../../data/marketing-plans/plan-1771884329778-7pxlrt7.json","../../../../../data/marketing-plans/plan-1771885743819-2d9m2nt.json","../../../../../data/marketing-plans/plan-1771886455031-mwdob3k.json","../../../../../data/marketing-strategies.json","../../../../../data/marketplace-positioning.json","../../../../../data/pages.json","../../../../../data/payments.json","../../../../../data/positioning.json","../../../../../data/posthog.json","../../../../../data/reports/.DS_Store","../../../../../data/reports/visuals/idea-3f4595f7-card.png","../../../../../data/reports/visuals/idea-4rxt3mkj-card.png","../../../../../data/reports/visuals/idea-6631456b-card.png","../../../../../data/reports/visuals/idea-boot-001-card.png","../../../../../data/reports/visuals/idea-fb3eba74-card.png","../../../../../data/reports/visuals/idea-first-tweet-card.png","../../../../../data/reports/visuals/idea-lp-hero-specificity-card.png","../../../../../data/reports/visuals/idea-lp-og-meta-card.png","../../../../../data/reports/visuals/idea-lp-social-proof-card.png","../../../../../data/reports/visuals/idea-prqf3lob-card.png","../../../../../data/reports/visuals/idea-readme-landing-url-card.png","../../../../../data/reports/visuals/idea-stripe-integration-card.png","../../../../../data/reports/visuals/promo-launch.png","../../../../../data/reports/visuals/promo-ship-fast.png","../../../../../data/reports/visuals/promo-while-you-slept-v2.png","../../../../../data/reports/visuals/promo-while-you-slept-v3.png","../../../../../data/reports/visuals/promo-while-you-slept.png","../../../../../data/roadmap.json","../../../../../data/sessions.json","../../../../../data/social.json","../../../../../data/social.json.backup","../../../../../data/video-ideas.md","../../../../../data/videos/ad-solo-founder-burnout.mp4","../../../../../data/videos/ai-gets-business-feed.mp4","../../../../../data/videos/idea-graveyard-feed.mp4","../../../../../data/videos/lonely-founder-feed.mp4","../../../../../data/videos/staging/ad-solo-founder-burnout.json","../../../../../data/videos/staging/ai-gets-business.json","../../../../../data/videos/staging/idea-graveyard.json","../../../../../data/videos/staging/lonely-founder.json","../../../../../data/videos/staging/while-you-slept-demo.json","../../../../../data/videos/staging/while-you-slept-v2-fast.json","../../../../../data/videos/staging/while-you-slept-v3-dynamic.json","../../../../../data/videos/while-you-slept-demo-feed.mp4","../../../../../data/videos/while-you-slept-v2-fast-feed.mp4","../../../../../data/videos/while-you-slept-v3-dynamic-feed.mp4","../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/5972.js","../../../chunks/9276.js","../../../webpack-runtime.js"]}
1
+ {"version":1,"files":["../../../../../data/.gitkeep","../../../../../data/business-context.json","../../../../../data/codebase-snapshot.json","../../../../../data/competitors.json","../../../../../data/config.json","../../../../../data/goals.json","../../../../../data/investor-updates.json","../../../../../data/marketing-plans/plan-1771884329778-7pxlrt7.json","../../../../../data/marketing-plans/plan-1771885743819-2d9m2nt.json","../../../../../data/marketing-plans/plan-1771886455031-mwdob3k.json","../../../../../data/marketing-strategies.json","../../../../../data/marketplace-positioning.json","../../../../../data/positioning.json","../../../../../data/posthog.json","../../../../../data/roadmap.json","../../../../../data/sessions.json","../../../../../data/video-ideas.md","../../../../../data/videos/staging/while-you-slept-demo.json","../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/5972.js","../../../chunks/9276.js","../../../webpack-runtime.js"]}
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=7570,e.ids=[7570],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},4770:e=>{e.exports=require("crypto")},7702:e=>{e.exports=require("events")},2615:e=>{e.exports=require("http")},8791:e=>{e.exports=require("https")},3258:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>m,patchFetch:()=>v,requestAsyncStorage:()=>l,routeModule:()=>u,serverHooks:()=>b,staticGenerationAsyncStorage:()=>h});var o={};r.r(o),r.d(o,{POST:()=>d,dynamic:()=>p});var s=r(9303),a=r(8716),n=r(670),i=r(7070),c=r(6029);let p="force-dynamic";async function d(e){let t;let r=await e.text(),o=e.headers.get("stripe-signature");if(!o)return i.NextResponse.json({error:"Missing stripe-signature header"},{status:400});try{t=c.A.webhooks.constructEvent(r,o,process.env.STRIPE_WEBHOOK_SECRET)}catch(t){let e=t instanceof Error?t.message:"Unknown error";return console.error("Webhook signature verification failed:",e),i.NextResponse.json({error:`Webhook Error: ${e}`},{status:400})}try{switch(t.type){case"checkout.session.completed":{let e=t.data.object;console.log("Checkout completed:",e.id);break}case"customer.subscription.updated":{let e=t.data.object;console.log("Subscription updated:",e.id,e.status);break}case"customer.subscription.deleted":{let e=t.data.object;console.log("Subscription cancelled:",e.id);break}case"invoice.paid":{let e=t.data.object;console.log("Payment confirmed:",e.id,e.amount_paid);break}case"invoice.payment_failed":{let e=t.data.object;console.log("Payment failed:",e.id);break}default:console.log("Unhandled event type:",t.type)}return i.NextResponse.json({received:!0})}catch(e){return console.error("Webhook handler error:",e),i.NextResponse.json({error:"Webhook handler failed"},{status:500})}}let u=new s.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/webhook/route",pathname:"/api/webhook",filename:"route",bundlePath:"app/api/webhook/route"},resolvedPagePath:"/Users/luismey/Code/vibebusiness/src/app/api/webhook/route.ts",nextConfigOutput:"standalone",userland:o}),{requestAsyncStorage:l,staticGenerationAsyncStorage:h,serverHooks:b}=u,m="/api/webhook/route";function v(){return(0,n.patchFetch)({serverHooks:b,staticGenerationAsyncStorage:h})}},6029:(e,t,r)=>{r.d(t,{A:()=>s});var o=r(9777);if(!process.env.STRIPE_SECRET_KEY)throw Error("STRIPE_SECRET_KEY is not set in environment variables");let s=new o.Z(process.env.STRIPE_SECRET_KEY,{apiVersion:"2026-01-28.clover",typescript:!0})}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),o=t.X(0,[9276,5972,9777],()=>r(3258));module.exports=o})();
1
+ "use strict";(()=>{var e={};e.id=7570,e.ids=[7570],e.modules={399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},1282:e=>{e.exports=require("child_process")},4770:e=>{e.exports=require("crypto")},7702:e=>{e.exports=require("events")},2615:e=>{e.exports=require("http")},8791:e=>{e.exports=require("https")},5859:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>m,patchFetch:()=>v,requestAsyncStorage:()=>l,routeModule:()=>u,serverHooks:()=>b,staticGenerationAsyncStorage:()=>h});var o={};r.r(o),r.d(o,{POST:()=>d,dynamic:()=>p});var s=r(9303),a=r(8716),n=r(670),i=r(7070),c=r(6029);let p="force-dynamic";async function d(e){let t;let r=await e.text(),o=e.headers.get("stripe-signature");if(!o)return i.NextResponse.json({error:"Missing stripe-signature header"},{status:400});try{t=c.A.webhooks.constructEvent(r,o,process.env.STRIPE_WEBHOOK_SECRET)}catch(t){let e=t instanceof Error?t.message:"Unknown error";return console.error("Webhook signature verification failed:",e),i.NextResponse.json({error:`Webhook Error: ${e}`},{status:400})}try{switch(t.type){case"checkout.session.completed":{let e=t.data.object;console.log("Checkout completed:",e.id);break}case"customer.subscription.updated":{let e=t.data.object;console.log("Subscription updated:",e.id,e.status);break}case"customer.subscription.deleted":{let e=t.data.object;console.log("Subscription cancelled:",e.id);break}case"invoice.paid":{let e=t.data.object;console.log("Payment confirmed:",e.id,e.amount_paid);break}case"invoice.payment_failed":{let e=t.data.object;console.log("Payment failed:",e.id);break}default:console.log("Unhandled event type:",t.type)}return i.NextResponse.json({received:!0})}catch(e){return console.error("Webhook handler error:",e),i.NextResponse.json({error:"Webhook handler failed"},{status:500})}}let u=new s.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/webhook/route",pathname:"/api/webhook",filename:"route",bundlePath:"app/api/webhook/route"},resolvedPagePath:"/Users/luismey/Code/100xmanager/src/app/api/webhook/route.ts",nextConfigOutput:"standalone",userland:o}),{requestAsyncStorage:l,staticGenerationAsyncStorage:h,serverHooks:b}=u,m="/api/webhook/route";function v(){return(0,n.patchFetch)({serverHooks:b,staticGenerationAsyncStorage:h})}},6029:(e,t,r)=>{r.d(t,{A:()=>s});var o=r(9777);if(!process.env.STRIPE_SECRET_KEY)throw Error("STRIPE_SECRET_KEY is not set in environment variables");let s=new o.Z(process.env.STRIPE_SECRET_KEY,{apiVersion:"2026-01-28.clover",typescript:!0})}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),o=t.X(0,[9276,5972,9777],()=>r(5859));module.exports=o})();
@@ -0,0 +1 @@
1
+ (()=>{var e={};e.id=3086,e.ids=[3086],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},7785:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>n.a,__next_app__:()=>m,originalPathname:()=>x,pages:()=>o,routeModule:()=>g,tree:()=>c}),s(7878),s(2029),s(5866);var r=s(3191),a=s(8716),l=s(7922),n=s.n(l),i=s(5231),d={};for(let e in i)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>i[e]);s.d(t,d);let c=["",{children:["briefing",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,7878)),"/Users/luismey/Code/100xmanager/src/app/briefing/page.tsx"]}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,2029)),"/Users/luismey/Code/100xmanager/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,5866,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/luismey/Code/100xmanager/src/app/briefing/page.tsx"],x="/briefing/page",m={require:s,loadChunk:()=>Promise.resolve()},g=new r.AppPageRouteModule({definition:{kind:a.x.APP_PAGE,page:"/briefing/page",pathname:"/briefing",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},1803:(e,t,s)=>{Promise.resolve().then(s.bind(s,5327)),Promise.resolve().then(s.bind(s,4773))},7358:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},1291:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},361:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("CircleCheckBig",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},8998:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},4802:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},1019:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},9163:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]])},7069:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},949:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(2881).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},4773:(e,t,s)=>{"use strict";s.d(t,{default:()=>A});var r=s(326),a=s(7577),l=s(1291),n=s(7358);function i({data:e}){let t=new Date(e.date).toLocaleDateString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric"}),s=e.alerts.filter(e=>"critical"===e.severity).length,a=e.alerts.filter(e=>"warning"===e.severity).length;return(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6 flex items-center justify-between",children:[(0,r.jsxs)("div",{children:[r.jsx("h1",{className:"text-2xl font-bold text-gray-900",children:"Morning Briefing"}),(0,r.jsxs)("div",{className:"flex items-center gap-2 mt-1 text-sm text-gray-500",children:[r.jsx(n.Z,{className:"w-4 h-4"}),r.jsx("span",{children:t})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[s>0&&(0,r.jsxs)("span",{className:"px-3 py-1 bg-red-100 text-red-700 text-sm font-medium rounded-full",children:[s," critical"]}),a>0&&(0,r.jsxs)("span",{className:"px-3 py-1 bg-yellow-100 text-yellow-700 text-sm font-medium rounded-full",children:[a," warning",1!==a?"s":""]}),(0,r.jsxs)("span",{className:"px-3 py-1 bg-blue-100 text-blue-700 text-sm font-medium rounded-full",children:[e.recommendations.length," recommendations"]})]})]})}var d=s(949),c=s(2881);let o=(0,c.Z)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),x={critical:{icon:l.Z,bg:"bg-red-50",border:"border-red-200",text:"text-red-700",iconColor:"text-red-500"},warning:{icon:d.Z,bg:"bg-yellow-50",border:"border-yellow-200",text:"text-yellow-700",iconColor:"text-yellow-500"},info:{icon:o,bg:"bg-blue-50",border:"border-blue-200",text:"text-blue-700",iconColor:"text-blue-500"}};function m({alerts:e}){return 0===e.length?(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:"Alerts"}),r.jsx("p",{className:"text-sm text-gray-500",children:"No active alerts."})]}):(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[(0,r.jsxs)("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:["Alerts ",(0,r.jsxs)("span",{className:"text-sm font-normal text-gray-500",children:["(",e.length,")"]})]}),r.jsx("div",{className:"space-y-3",children:e.map(e=>{let t=x[e.severity],s=t.icon;return(0,r.jsxs)("div",{className:`flex items-start gap-3 p-3 rounded-md border ${t.bg} ${t.border}`,children:[r.jsx(s,{className:`w-5 h-5 mt-0.5 shrink-0 ${t.iconColor}`}),(0,r.jsxs)("div",{children:[r.jsx("p",{className:`text-sm font-medium ${t.text}`,children:e.message}),r.jsx("p",{className:"text-xs text-gray-500 mt-1",children:e.type})]})]},e.id)})})]})}var g=s(4802);let h={critical:"bg-red-100 text-red-700",high:"bg-orange-100 text-orange-700",medium:"bg-yellow-100 text-yellow-700",low:"bg-gray-100 text-gray-600"};function u({recommendations:e}){return 0===e.length?(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:"Recommendations"}),r.jsx("p",{className:"text-sm text-gray-500",children:"No recommendations right now."})]}):(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[(0,r.jsxs)("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:["Recommendations ",(0,r.jsxs)("span",{className:"text-sm font-normal text-gray-500",children:["(",e.length,")"]})]}),r.jsx("div",{className:"space-y-3",children:e.map(e=>r.jsx("div",{className:"p-3 rounded-md border bg-white hover:bg-gray-50 transition-colors",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[r.jsx(g.Z,{className:"w-5 h-5 mt-0.5 shrink-0 text-amber-500"}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[r.jsx("span",{className:"text-sm font-medium text-gray-900 truncate",children:e.title}),r.jsx("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full shrink-0 ${h[e.priority]||h.low}`,children:e.priority})]}),r.jsx("p",{className:"text-sm text-gray-600 line-clamp-2",children:e.summary}),(0,r.jsxs)("div",{className:"flex gap-3 mt-2 text-xs text-gray-500",children:[(0,r.jsxs)("span",{children:["Effort: ",e.effort]}),(0,r.jsxs)("span",{children:["Impact: ",e.impact]})]})]})]})},e.id))})]})}var p=s(7069),y=s(9163),b=s(1019);let f={on_track:"text-green-600",at_risk:"text-yellow-600",behind:"text-red-600",no_data:"text-gray-400"},j={on_track:"bg-green-50 border-green-200",at_risk:"bg-yellow-50 border-yellow-200",behind:"bg-red-50 border-red-200",no_data:"bg-gray-50 border-gray-200"};function N({trend:e}){return"up"===e?r.jsx(p.Z,{className:"w-4 h-4 text-green-500"}):"down"===e?r.jsx(y.Z,{className:"w-4 h-4 text-red-500"}):r.jsx(b.Z,{className:"w-4 h-4 text-gray-400"})}function v({snapshots:e}){return 0===e.length?(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:"KPI Snapshots"}),r.jsx("p",{className:"text-sm text-gray-500",children:"No KPIs configured yet."})]}):(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900 mb-4",children:"KPI Snapshots"}),r.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",children:e.map(e=>(0,r.jsxs)("div",{className:`p-4 rounded-lg border ${j[e.status]}`,children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[r.jsx("span",{className:"text-xs font-medium text-gray-500 truncate",children:e.goal_title}),r.jsx(N,{trend:e.trend})]}),r.jsx("p",{className:"text-sm font-medium text-gray-900 truncate",children:e.kpi_name}),(0,r.jsxs)("div",{className:"mt-2 flex items-baseline gap-1",children:[r.jsx("span",{className:`text-2xl font-bold ${f[e.status]}`,children:null!==e.current_value?e.current_value:"--"}),r.jsx("span",{className:"text-xs text-gray-500",children:e.unit}),null!==e.target_value&&(0,r.jsxs)("span",{className:"text-xs text-gray-400 ml-1",children:["/ ",e.target_value]})]}),null!==e.trend_pct&&(0,r.jsxs)("p",{className:`text-xs mt-1 ${"up"===e.trend?"text-green-600":"down"===e.trend?"text-red-600":"text-gray-500"}`,children:[e.trend_pct>0?"+":"",e.trend_pct,"%"]})]},e.kpi_id))})]})}var w=s(8998);let k=(0,c.Z)("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);var _=s(361);function Z(e){return new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})}let M={idle:{label:"Idle",color:"text-gray-500",bg:"bg-gray-100",icon:w.Z},running:{label:"Running",color:"text-blue-600",bg:"bg-blue-100",icon:k},error:{label:"Error",color:"text-red-600",bg:"bg-red-100",icon:l.Z}};function P({heartbeat:e}){let t=M[e.status],s=t.icon;return(0,r.jsxs)("div",{className:"bg-white rounded-lg border p-6",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[r.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:"Heartbeat Activity"}),(0,r.jsxs)("div",{className:`flex items-center gap-1.5 px-3 py-1 rounded-full text-sm font-medium ${t.bg} ${t.color}`,children:[r.jsx(s,{className:"w-4 h-4"}),t.label]})]}),(0,r.jsxs)("div",{className:"flex gap-6 text-sm text-gray-500 mb-4",children:[e.last_run_at&&(0,r.jsxs)("span",{children:["Last run: ",function(e){let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<60)return`${t}m ago`;let s=Math.floor(t/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`}(e.last_run_at)]}),e.next_run_at&&(0,r.jsxs)("span",{children:["Next: ",Z(e.next_run_at)]})]}),0===e.recent_activities.length?r.jsx("p",{className:"text-sm text-gray-500",children:"No recent activity."}):r.jsx("div",{className:"space-y-2",children:e.recent_activities.slice(0,10).map((e,t)=>(0,r.jsxs)("div",{className:"flex items-start gap-3 text-sm",children:[r.jsx("span",{className:"text-xs text-gray-400 w-14 shrink-0 pt-0.5",children:Z(e.timestamp)}),r.jsx(_.Z,{className:"w-4 h-4 text-green-400 shrink-0 mt-0.5"}),r.jsx("span",{className:"text-gray-700",children:e.description})]},t))})]})}function C(){return(0,r.jsxs)("div",{className:"p-6 space-y-6 max-w-6xl mx-auto animate-pulse",children:[r.jsx("div",{className:"h-20 bg-gray-200 rounded-lg"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[r.jsx("div",{className:"h-64 bg-gray-200 rounded-lg"}),r.jsx("div",{className:"h-64 bg-gray-200 rounded-lg"})]}),r.jsx("div",{className:"h-48 bg-gray-200 rounded-lg"}),r.jsx("div",{className:"h-48 bg-gray-200 rounded-lg"})]})}function A(){let[e,t]=(0,a.useState)(null),[s,n]=(0,a.useState)(!0),[d,c]=(0,a.useState)(null),o=(0,a.useCallback)(async()=>{n(!0),c(null);let e=performance.now();try{let s=await fetch("/api/briefing"),r=await s.json();if(!r.success)throw Error(r.error??"Unknown error");let a=Math.round(performance.now()-e);console.log(`[BriefingView] Briefing loaded in ${a}ms`),t(r.data)}catch(e){console.error("[BriefingView] Failed to fetch briefing data:",e),c("Failed to load briefing. Try refreshing the page.")}finally{n(!1)}},[]);return s?r.jsx(C,{}):d?(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-64 gap-4 p-6",children:[r.jsx(l.Z,{className:"w-10 h-10 text-red-500"}),r.jsx("p",{className:"text-gray-700 text-center",children:d}),r.jsx("button",{onClick:o,className:"px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 transition-colors",children:"Retry"})]}):e?(0,r.jsxs)("main",{className:"p-6 space-y-6 max-w-6xl mx-auto",children:[r.jsx(i,{data:e}),(0,r.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[r.jsx(m,{alerts:e.alerts}),r.jsx(u,{recommendations:e.recommendations})]}),r.jsx(v,{snapshots:e.kpi_snapshots}),r.jsx(P,{heartbeat:e.heartbeat})]}):null}},7878:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d,dynamic:()=>n,metadata:()=>i});var r=s(9510),a=s(2548);let l=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/100xmanager/src/components/BriefingView.tsx#default`),n="force-dynamic",i={title:"Morning Briefing — VibeBusiness"};function d(){return r.jsx(a.Z,{children:r.jsx(l,{})})}},2548:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});let r=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/100xmanager/src/components/AnalystLayout.tsx#default`)}};var t=require("../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),r=t.X(0,[9276,4471,9404,3098],()=>s(7785));module.exports=r})();
@@ -0,0 +1 @@
1
+ {"version":1,"files":["../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/package.json","../../../../package.json","../../../package.json","../../chunks/3098.js","../../chunks/4471.js","../../chunks/9276.js","../../chunks/9404.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
@@ -0,0 +1 @@
1
+ globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/briefing/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"47":{"*":{"id":"4812","name":"*","chunks":[],"async":false}},"80":{"*":{"id":"1868","name":"*","chunks":[],"async":false}},"786":{"*":{"id":"1855","name":"*","chunks":[],"async":false}},"1034":{"*":{"id":"625","name":"*","chunks":[],"async":false}},"1060":{"*":{"id":"9727","name":"*","chunks":[],"async":false}},"1259":{"*":{"id":"5327","name":"*","chunks":[],"async":false}},"2674":{"*":{"id":"9973","name":"*","chunks":[],"async":false}},"2846":{"*":{"id":"2994","name":"*","chunks":[],"async":false}},"2972":{"*":{"id":"9404","name":"*","chunks":[],"async":false}},"3032":{"*":{"id":"1828","name":"*","chunks":[],"async":false}},"3453":{"*":{"id":"4773","name":"*","chunks":[],"async":false}},"4067":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"4553":{"*":{"id":"8022","name":"*","chunks":[],"async":false}},"4687":{"*":{"id":"8696","name":"*","chunks":[],"async":false}},"4707":{"*":{"id":"9671","name":"*","chunks":[],"async":false}},"5701":{"*":{"id":"1264","name":"*","chunks":[],"async":false}},"6423":{"*":{"id":"4759","name":"*","chunks":[],"async":false}},"6682":{"*":{"id":"5313","name":"*","chunks":[],"async":false}},"8013":{"*":{"id":"8841","name":"*","chunks":[],"async":false}},"8301":{"*":{"id":"8206","name":"*","chunks":[],"async":false}},"8825":{"*":{"id":"4663","name":"*","chunks":[],"async":false}},"8935":{"*":{"id":"1358","name":"*","chunks":[],"async":false}},"9107":{"*":{"id":"6114","name":"*","chunks":[],"async":false}},"9525":{"*":{"id":"4107","name":"*","chunks":[],"async":false}},"9534":{"*":{"id":"7805","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/components/app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/components/app-router.js":{"id":2846,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/components/client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/components/client-page.js":{"id":9107,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/components/error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":1060,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/components/layout-router.js":{"id":4707,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":80,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/components/render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":6423,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/app/globals.css":{"id":2778,"name":"*","chunks":["185","static/chunks/app/layout-cd1571ba4ed4a0fa.js"],"async":false},"/Users/luismey/Code/100xmanager/src/app/goals/[id]/page.tsx":{"id":8935,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/app/hypotheses/[id]/page.tsx":{"id":4553,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/app/settings/page.tsx":{"id":8301,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/app/roadmap/[id]/page.tsx":{"id":47,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/app/social/page.tsx":{"id":4687,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/app/updates/new/page.tsx":{"id":9525,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/AnalystLayout.tsx":{"id":1259,"name":"*","chunks":["972","static/chunks/972-8c4b4e19760b26af.js","147","static/chunks/147-b00f2ac2bbec93ae.js","86","static/chunks/app/briefing/page-683aba0c52e910d7.js"],"async":false},"/Users/luismey/Code/100xmanager/src/components/BriefingView.tsx":{"id":3453,"name":"*","chunks":["972","static/chunks/972-8c4b4e19760b26af.js","147","static/chunks/147-b00f2ac2bbec93ae.js","86","static/chunks/app/briefing/page-683aba0c52e910d7.js"],"async":false},"/Users/luismey/Code/100xmanager/src/app/DashboardHeader.tsx":{"id":4067,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/IdeaKanban.tsx":{"id":8825,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/GoalCard.tsx":{"id":2674,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/IdeaDetail.tsx":{"id":9534,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/HypothesisCard.tsx":{"id":786,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/public-roadmap/ShareButtons.tsx":{"id":6682,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/RoadmapViewToggle.tsx":{"id":3032,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/client/link.js":{"id":2972,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/node_modules/next/dist/esm/client/link.js":{"id":2972,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/public-roadmap/PhaseNarrative.tsx":{"id":5701,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/public-roadmap/PhaseTimeline.tsx":{"id":8013,"name":"*","chunks":[],"async":false},"/Users/luismey/Code/100xmanager/src/components/public-roadmap/PublicEpicCard.tsx":{"id":1034,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/luismey/Code/100xmanager/src/":[],"/Users/luismey/Code/100xmanager/src/app/layout":["static/css/ff70d16171b1c02c.css"],"/Users/luismey/Code/100xmanager/src/app/page":[],"/Users/luismey/Code/100xmanager/src/app/briefing/page":[]}}
@@ -1 +1 @@
1
- (()=>{var e={};e.id=6945,e.ids=[6945],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},9278:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>i.a,__next_app__:()=>h,originalPathname:()=>x,pages:()=>o,routeModule:()=>u,tree:()=>c}),s(2139),s(2029),s(5866);var a=s(3191),l=s(8716),r=s(7922),i=s.n(r),n=s(5231),d={};for(let e in n)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>n[e]);s.d(t,d);let c=["",{children:["goals",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,2139)),"/Users/luismey/Code/vibebusiness/src/app/goals/[id]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,2029)),"/Users/luismey/Code/vibebusiness/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,5866,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/luismey/Code/vibebusiness/src/app/goals/[id]/page.tsx"],x="/goals/[id]/page",h={require:s,loadChunk:()=>Promise.resolve()},u=new a.AppPageRouteModule({definition:{kind:l.x.APP_PAGE,page:"/goals/[id]/page",pathname:"/goals/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},1168:(e,t,s)=>{Promise.resolve().then(s.bind(s,1358))},6333:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},7358:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},6307:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},7027:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},4802:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},1019:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},3855:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},1405:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9163:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]])},7069:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},949:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},1358:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>Z});var a=s(326),l=s(7577),r=s(5047),i=s(434),n=s(7069),d=s(949),c=s(9163),o=s(6307),x=s(1405),h=s(6333),u=s(3468),m=s(7358),p=s(4802),g=s(7027),j=s(1135),b=s(502),y=s(6087),f=s(1019),v=s(3855),N=s(9526),w=s(2728);function k({kpis:e,goalId:t,onUpdateKPI:s}){let[r,i]=(0,l.useState)(null),[d,o]=(0,l.useState)(null),[x,h]=(0,l.useState)(""),[u,m]=(0,l.useState)(!1),p=async e=>{if(!s||!x.trim())return;let t=parseFloat(x);if(!isNaN(t)){m(!0);try{await s(e,t),o(null),h("")}catch(e){console.error("Failed to update KPI:",e)}finally{m(!1)}}};return a.jsx("div",{className:"bg-white rounded-lg border border-slate-200 overflow-hidden",children:(0,a.jsxs)("table",{className:"w-full",children:[a.jsx("thead",{className:"bg-slate-50 border-b border-slate-200",children:(0,a.jsxs)("tr",{children:[a.jsx("th",{className:"text-left text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3",children:"KPI"}),a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-24",children:"Trend"}),a.jsx("th",{className:"text-right text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-24",children:"Current"}),a.jsx("th",{className:"text-right text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-24",children:"Target"}),a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-20",children:"Progress"}),a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-16",children:"Source"}),s&&a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-16",children:"Action"})]})}),a.jsx("tbody",{className:"divide-y divide-slate-100",children:e.map(e=>{let t=function(e){if(e.history.length<2)return{icon:f.Z,color:"text-slate-400",label:"No trend"};let t=e.history[0].value,s=e.history[e.history.length-1].value,a="higher_is_better"===e.direction?s>t:s<t;return t===s?{icon:f.Z,color:"text-slate-400",label:"Stable"}:a?{icon:n.Z,color:"text-emerald-500",label:"Improving"}:{icon:c.Z,color:"text-red-500",label:"Declining"}}(e),l=null===e.current_value||null===e.target_value?null:"higher_is_better"===e.direction?e.current_value/e.target_value*100:e.current_value<=e.target_value?100:e.target_value/e.current_value*100,m=t.icon,g=r===e.id,b=d===e.id;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("tr",{className:(0,j.Z)("hover:bg-slate-50 cursor-pointer transition-colors",g&&"bg-slate-50"),onClick:()=>i(g?null:e.id),children:[a.jsx("td",{className:"px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-16 h-8",children:a.jsx(w.Z,{kpi:e,height:32,width:64})}),(0,a.jsxs)("div",{children:[a.jsx("p",{className:"text-sm font-medium text-slate-900",children:e.name}),a.jsx("p",{className:"text-xs text-slate-500 line-clamp-1",children:e.description})]})]})}),a.jsx("td",{className:"px-4 py-3 text-center",children:a.jsx("span",{className:(0,j.Z)("inline-flex items-center gap-1",t.color),title:t.label,children:a.jsx(m,{className:"w-4 h-4"})})}),a.jsx("td",{className:"px-4 py-3 text-right",children:a.jsx("span",{className:"text-sm font-medium text-slate-900",children:null!==e.current_value?`${e.current_value}${e.unit}`:"--"})}),a.jsx("td",{className:"px-4 py-3 text-right",children:a.jsx("span",{className:"text-sm text-slate-500",children:null!==e.target_value?`${e.target_value}${e.unit}`:"--"})}),a.jsx("td",{className:"px-4 py-3",children:null!==l?a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"w-12 h-1.5 bg-slate-100 rounded-full overflow-hidden",children:a.jsx("div",{className:(0,j.Z)("h-full rounded-full",l>=100?"bg-emerald-500":l>=70?"bg-amber-500":"bg-red-500"),style:{width:`${Math.min(l,100)}%`}})})}):a.jsx("span",{className:"text-xs text-slate-400 text-center block",children:"--"})}),a.jsx("td",{className:"px-4 py-3 text-center",children:a.jsx("span",{className:(0,j.Z)("text-xs px-1.5 py-0.5 rounded","manual"===e.source?"bg-slate-100 text-slate-600":"bg-blue-50 text-blue-600"),children:N.en[e.source]})}),s&&a.jsx("td",{className:"px-4 py-3 text-center",onClick:e=>e.stopPropagation(),children:"manual"===e.source&&a.jsx("button",{onClick:t=>{t.stopPropagation(),o(e.id),h(e.current_value?.toString()||"")},className:"p-1 text-slate-400 hover:text-emerald-600 transition-colors",title:"Add value",children:a.jsx(v.Z,{className:"w-4 h-4"})})})]},e.id),g&&a.jsx("tr",{children:(0,a.jsxs)("td",{colSpan:s?7:6,className:"px-4 py-4 bg-slate-50",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,a.jsxs)("div",{children:[a.jsx("h4",{className:"text-xs font-medium text-slate-500 uppercase mb-2",children:"History"}),e.history.length>0?a.jsx("div",{className:"h-32 bg-white rounded border border-slate-200 p-2",children:a.jsx(w.Z,{kpi:e,height:112,showTarget:!0})}):a.jsx("div",{className:"h-32 bg-white rounded border border-slate-200 flex items-center justify-center text-sm text-slate-400",children:"No historical data"})]}),(0,a.jsxs)("div",{children:[a.jsx("h4",{className:"text-xs font-medium text-slate-500 uppercase mb-2",children:"Details"}),(0,a.jsxs)("dl",{className:"space-y-2 text-sm",children:[(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"Direction"}),a.jsx("dd",{className:"text-slate-900",children:"higher_is_better"===e.direction?"Higher is better":"Lower is better"})]}),(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"Data points"}),a.jsx("dd",{className:"text-slate-900",children:e.history.length})]}),e.history.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"First recorded"}),a.jsx("dd",{className:"text-slate-900",children:e.history[0].date})]}),(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"Last updated"}),a.jsx("dd",{className:"text-slate-900",children:e.history[e.history.length-1].date})]})]})]}),(0,a.jsxs)("div",{className:"mt-4",children:[a.jsx("h4",{className:"text-xs font-medium text-slate-500 uppercase mb-1",children:"Query"}),a.jsx("pre",{className:"text-xs text-slate-600 bg-white p-2 rounded border border-slate-200 overflow-x-auto",children:e.query})]})]})]}),b&&"manual"===e.source&&s&&(0,a.jsxs)("div",{className:"mt-4 pt-4 border-t border-slate-200 flex items-center gap-3",children:[a.jsx("label",{className:"text-sm text-slate-600",children:"Add new value:"}),a.jsx("input",{type:"number",value:x,onChange:e=>h(e.target.value),className:"w-24 px-2 py-1 text-sm border border-slate-300 rounded focus:ring-2 focus:ring-emerald-500 focus:border-emerald-500",placeholder:"Value",step:"any"}),a.jsx("span",{className:"text-sm text-slate-500",children:e.unit}),a.jsx("button",{onClick:()=>p(e.id),disabled:u||!x.trim(),className:"px-3 py-1 text-sm bg-emerald-600 text-white rounded hover:bg-emerald-700 disabled:opacity-50 disabled:cursor-not-allowed",children:u?"Saving...":"Save"}),a.jsx("button",{onClick:()=>{o(null),h("")},className:"px-3 py-1 text-sm text-slate-600 hover:text-slate-900",children:"Cancel"})]})]})},`${e.id}-expanded`)]})})})]})})}function _({status:e}){switch(e){case"on_track":return a.jsx(n.Z,{className:"w-5 h-5"});case"at_risk":return a.jsx(d.Z,{className:"w-5 h-5"});case"behind":return a.jsx(c.Z,{className:"w-5 h-5"});case"achieved":return a.jsx(o.Z,{className:"w-5 h-5"})}}function Z({params:e}){(0,r.useRouter)();let{id:t}=e,[s,n]=(0,l.useState)(null),[d,c]=(0,l.useState)([]),[o,f]=(0,l.useState)(!0),[v,w]=(0,l.useState)(!1),[Z,M]=(0,l.useState)(null),P=async()=>{try{let e=await fetch(`/api/goals/${t}`),s=await e.json();if(!s.success){M(s.error||"Failed to load goal");return}if(n(s.data),s.data.related_ideas.length>0){let e=await fetch("/api/ideas"),t=await e.json();if(t.success){let e=t.data.filter(e=>s.data.related_ideas.includes(e.id));c(e)}}}catch(e){M("Failed to load goal"),console.error("Error fetching goal:",e)}finally{f(!1)}},$=async(e,s)=>{try{let a=await fetch(`/api/goals/${t}/kpis`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kpi_id:e,action:"add_history",value:s})}),l=await a.json();if(l.success)await P();else throw Error(l.error)}catch(e){throw console.error("Failed to update KPI:",e),e}},C=async e=>{try{let s=await fetch(`/api/goals/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})}),a=await s.json();a.success&&n(a.data)}catch(e){console.error("Failed to update status:",e)}},S=async()=>{w(!0);try{let e=await fetch("/api/kpis/refresh",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({goal_id:t})}),s=await e.json();s.success||console.error("KPI refresh failed:",s.error),await P()}catch(e){console.error("Error refreshing KPIs:",e)}finally{w(!1)}};return o?a.jsx(b.default,{children:a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx(x.Z,{className:"w-8 h-8 text-slate-400 animate-spin"})})}):Z||!s?a.jsx(b.default,{children:(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)(i.default,{href:"/goals",className:"inline-flex items-center gap-2 text-slate-600 hover:text-slate-900 mb-6",children:[a.jsx(h.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Back to Goals"})]}),a.jsx("div",{className:"bg-red-50 border border-red-200 rounded-lg p-6 text-center",children:a.jsx("p",{className:"text-red-600",children:Z||"Goal not found"})})]})}):a.jsx(b.default,{children:(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)(i.default,{href:"/goals",className:"inline-flex items-center gap-2 text-slate-600 hover:text-slate-900 mb-6",children:[a.jsx(h.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Back to Goals"})]}),(0,a.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[a.jsx("div",{className:"w-14 h-14 bg-emerald-100 rounded-xl flex items-center justify-center flex-shrink-0",children:a.jsx(u.Z,{className:"w-7 h-7 text-emerald-600"})}),(0,a.jsxs)("div",{children:[a.jsx("div",{className:"flex items-center gap-2 mb-1",children:a.jsx("span",{className:(0,j.Z)("text-xs px-2 py-0.5 rounded-full",N.l5[s.category]),children:N.kT[s.category]})}),a.jsx("h1",{className:"text-2xl font-bold text-slate-900 mb-1",children:s.title}),a.jsx("p",{className:"text-slate-500",children:s.description})]})]}),(0,a.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,a.jsxs)("span",{className:(0,j.Z)("inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm font-medium border",N.i2[s.status]),children:[a.jsx(_,{status:s.status}),a.jsx("span",{children:N.tV[s.status]})]}),(0,a.jsxs)("select",{value:s.status,onChange:e=>C(e.target.value),className:"text-xs border border-slate-200 rounded px-2 py-1 text-slate-600",children:[a.jsx("option",{value:"on_track",children:"On Track"}),a.jsx("option",{value:"at_risk",children:"At Risk"}),a.jsx("option",{value:"behind",children:"Behind"}),a.jsx("option",{value:"achieved",children:"Achieved"})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-6 text-sm text-slate-500 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(m.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Deadline: ",a.jsx("span",{className:"font-medium text-slate-700",children:s.deadline})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(p.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:[s.related_ideas.length," linked ideas"]})]})]}),a.jsx(y.Z,{current:s.current_value,target:s.target_value,unit:s.target_unit,status:s.status})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[(0,a.jsxs)("div",{className:"lg:col-span-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsxs)("h2",{className:"text-lg font-semibold text-slate-900",children:["Key Performance Indicators (",s.kpis.length,")"]}),(0,a.jsxs)("button",{onClick:S,disabled:v,className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm text-slate-600 hover:text-slate-900 border border-slate-200 rounded-lg hover:bg-slate-50 disabled:opacity-50",children:[a.jsx(x.Z,{className:(0,j.Z)("w-4 h-4",v&&"animate-spin")}),a.jsx("span",{children:v?"Refreshing...":"Refresh KPIs"})]})]}),s.kpis.length>0?a.jsx(k,{kpis:s.kpis,goalId:s.id,onUpdateKPI:$}):a.jsx("div",{className:"bg-white rounded-lg border border-slate-200 p-8 text-center",children:a.jsx("p",{className:"text-slate-500",children:"No KPIs defined for this goal."})})]}),(0,a.jsxs)("div",{children:[a.jsx("h2",{className:"text-lg font-semibold text-slate-900 mb-4",children:"Related Ideas"}),d.length>0?a.jsx("div",{className:"space-y-3",children:d.map(e=>(0,a.jsxs)(i.default,{href:`/ideas/${e.id}`,className:"block bg-white rounded-lg border border-slate-200 p-4 hover:border-emerald-300 hover:shadow-sm transition-all",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,a.jsxs)("div",{children:[a.jsx("h3",{className:"text-sm font-medium text-slate-900 mb-1",children:e.title}),a.jsx("p",{className:"text-xs text-slate-500 line-clamp-2",children:e.summary})]}),a.jsx(g.Z,{className:"w-4 h-4 text-slate-400 flex-shrink-0"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[a.jsx("span",{className:(0,j.Z)("text-xs px-1.5 py-0.5 rounded","shipped"===e.stage?"bg-green-100 text-green-700":"in_progress"===e.stage?"bg-violet-100 text-violet-700":"bg-slate-100 text-slate-600"),children:e.stage.replace("_"," ")}),e.expected_impact&&a.jsx("span",{className:"text-xs text-slate-400",children:e.expected_impact})]})]},e.id))}):(0,a.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200 p-6 text-center",children:[a.jsx(p.Z,{className:"w-8 h-8 text-slate-300 mx-auto mb-2"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"No ideas linked to this goal yet."}),a.jsx(i.default,{href:"/",className:"text-sm text-emerald-600 hover:text-emerald-700",children:"Browse Ideas"})]}),(0,a.jsxs)("div",{className:"mt-6 bg-slate-50 rounded-lg border border-slate-200 p-4",children:[a.jsx("h3",{className:"text-sm font-medium text-slate-700 mb-2",children:"Tip: Link Ideas to Goals"}),a.jsx("p",{className:"text-xs text-slate-500",children:"When approving ideas, link them to this goal to track which improvements support your business objectives. Ideas linked to goals are prioritized in the analysis process."})]})]})]}),(0,a.jsxs)("div",{className:"mt-6 text-xs text-slate-400",children:[(0,a.jsxs)("p",{children:["Created: ",new Date(s.created_at).toLocaleString()]}),(0,a.jsxs)("p",{children:["Last updated: ",new Date(s.updated_at).toLocaleString()]})]})]})})}},6087:(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var a=s(326),l=s(1135);let r={on_track:"bg-emerald-500",at_risk:"bg-amber-500",behind:"bg-red-500",achieved:"bg-blue-500"};function i({current:e,target:t,unit:s,status:i,showLabels:n=!0}){let d=null!==e?Math.min(e/t*100,100):0,c=e=>null===e?"--":"percent"===s||"%"===s?`${e}%`:"hours"===s?`${e}h`:`${e} ${s}`;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"relative h-2 bg-slate-100 rounded-full overflow-hidden",children:[a.jsx("div",{className:(0,l.Z)("absolute left-0 top-0 h-full rounded-full transition-all duration-500",r[i]),style:{width:`${d}%`}}),a.jsx("div",{className:"absolute top-0 w-0.5 h-full bg-slate-400",style:{left:"100%"},title:`Target: ${c(t)}`})]}),n&&(0,a.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Current: ",a.jsx("span",{className:"font-medium text-slate-700",children:c(e)})]}),(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Target: ",a.jsx("span",{className:"font-medium text-slate-700",children:c(t)})]})]})]})}},2728:(e,t,s)=>{"use strict";s.d(t,{Z:()=>r});var a=s(326),l=s(7577);function r({kpi:e,height:t=40,width:s,showTarget:r=!1}){let{path:i,areaPath:n,minValue:d,maxValue:c,points:o}=(0,l.useMemo)(()=>{let a=e.history;if(0===a.length)return{path:"",areaPath:"",minValue:0,maxValue:0,points:[]};let l=a.map(e=>e.value),i=r&&null!==e.target_value?[...l,e.target_value]:l,n=Math.min(...i),d=Math.max(...i),c=d-n||1,o=n-.1*c,x=d+.1*c-o||1,h=t-4,u=(s||100)/Math.max(a.length-1,1),m=a.map((e,t)=>({x:t*u,y:h-(e.value-o)/x*h+2,value:e.value,date:e.date}));return 1===m.length?{path:`M ${m[0].x} ${m[0].y}`,areaPath:"",minValue:n,maxValue:d,points:m}:{path:m.map((e,t)=>0===t?`M ${e.x} ${e.y}`:`L ${e.x} ${e.y}`).join(" "),areaPath:[`M ${m[0].x} ${h+2}`,`L ${m[0].x} ${m[0].y}`,...m.slice(1).map(e=>`L ${e.x} ${e.y}`),`L ${m[m.length-1].x} ${h+2}`,"Z"].join(" "),minValue:n,maxValue:d,points:m}},[e.history,e.target_value,t,s,r]),x=(()=>{if(e.history.length<2)return{stroke:"#94a3b8",fill:"rgba(148, 163, 184, 0.1)"};let t=e.history[0].value,s=e.history[e.history.length-1].value;return("higher_is_better"===e.direction?s>=t:s<=t)?{stroke:"#10b981",fill:"rgba(16, 185, 129, 0.1)"}:{stroke:"#ef4444",fill:"rgba(239, 68, 68, 0.1)"}})();if(0===e.history.length)return a.jsx("div",{className:"flex items-center justify-center text-xs text-slate-400",style:{height:t,width:s||"100%"},children:"No data"});let h=(()=>{if(!r||null===e.target_value||0===e.history.length)return null;let s=[...e.history.map(e=>e.value),e.target_value],a=Math.min(...s),l=Math.max(...s),i=l-a||1,n=a-.1*i,d=t-4;return d-(e.target_value-n)/(l+.1*i-n||1)*d+2})();return(0,a.jsxs)("svg",{width:s||"100%",height:t,viewBox:`0 0 ${s||100} ${t}`,preserveAspectRatio:"none",className:"overflow-visible",children:[n&&a.jsx("path",{d:n,fill:x.fill}),a.jsx("path",{d:i,fill:"none",stroke:x.stroke,strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),r&&null!==h&&a.jsx("line",{x1:0,y1:h,x2:s||100,y2:h,stroke:"#94a3b8",strokeWidth:1,strokeDasharray:"4 2"}),o.length>0&&a.jsx("circle",{cx:o[o.length-1].x,cy:o[o.length-1].y,r:3,fill:x.stroke})]})}},2139:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>a});let a=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/vibebusiness/src/app/goals/[id]/page.tsx#default`)}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[9276,4471,9404,995],()=>s(9278));module.exports=a})();
1
+ (()=>{var e={};e.id=6945,e.ids=[6945],e.modules={2934:e=>{"use strict";e.exports=require("next/dist/client/components/action-async-storage.external.js")},4580:e=>{"use strict";e.exports=require("next/dist/client/components/request-async-storage.external.js")},5869:e=>{"use strict";e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},399:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},3196:(e,t,s)=>{"use strict";s.r(t),s.d(t,{GlobalError:()=>i.a,__next_app__:()=>h,originalPathname:()=>x,pages:()=>o,routeModule:()=>u,tree:()=>c}),s(2139),s(2029),s(5866);var a=s(3191),r=s(8716),l=s(7922),i=s.n(l),n=s(5231),d={};for(let e in n)0>["default","tree","pages","GlobalError","originalPathname","__next_app__","routeModule"].indexOf(e)&&(d[e]=()=>n[e]);s.d(t,d);let c=["",{children:["goals",{children:["[id]",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(s.bind(s,2139)),"/Users/luismey/Code/100xmanager/src/app/goals/[id]/page.tsx"]}]},{}]},{}]},{layout:[()=>Promise.resolve().then(s.bind(s,2029)),"/Users/luismey/Code/100xmanager/src/app/layout.tsx"],"not-found":[()=>Promise.resolve().then(s.t.bind(s,5866,23)),"next/dist/client/components/not-found-error"]}],o=["/Users/luismey/Code/100xmanager/src/app/goals/[id]/page.tsx"],x="/goals/[id]/page",h={require:s,loadChunk:()=>Promise.resolve()},u=new a.AppPageRouteModule({definition:{kind:r.x.APP_PAGE,page:"/goals/[id]/page",pathname:"/goals/[id]",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:c}})},3875:(e,t,s)=>{Promise.resolve().then(s.bind(s,1358))},6333:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},7358:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},6307:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},7027:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},4802:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},1019:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},3855:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},1405:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},9163:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TrendingDown",[["polyline",{points:"22 17 13.5 8.5 8.5 13.5 2 7",key:"1r2t7k"}],["polyline",{points:"16 17 22 17 22 11",key:"11uiuu"}]])},7069:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TrendingUp",[["polyline",{points:"22 7 13.5 15.5 8.5 10.5 2 17",key:"126l90"}],["polyline",{points:"16 7 22 7 22 13",key:"kwv8wd"}]])},949:(e,t,s)=>{"use strict";s.d(t,{Z:()=>a});let a=(0,s(2881).Z)("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},1358:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>Z});var a=s(326),r=s(7577),l=s(5047),i=s(434),n=s(7069),d=s(949),c=s(9163),o=s(6307),x=s(1405),h=s(6333),u=s(3468),m=s(7358),p=s(4802),g=s(7027),b=s(1135),j=s(5327),v=s(6087),y=s(1019),f=s(3855),N=s(9526),w=s(2728);function k({kpis:e,goalId:t,onUpdateKPI:s}){let[l,i]=(0,r.useState)(null),[d,o]=(0,r.useState)(null),[x,h]=(0,r.useState)(""),[u,m]=(0,r.useState)(!1),p=async e=>{if(!s||!x.trim())return;let t=parseFloat(x);if(!isNaN(t)){m(!0);try{await s(e,t),o(null),h("")}catch(e){console.error("Failed to update KPI:",e)}finally{m(!1)}}};return a.jsx("div",{className:"bg-white rounded-lg border border-slate-200 overflow-hidden",children:(0,a.jsxs)("table",{className:"w-full",children:[a.jsx("thead",{className:"bg-slate-50 border-b border-slate-200",children:(0,a.jsxs)("tr",{children:[a.jsx("th",{className:"text-left text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3",children:"KPI"}),a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-24",children:"Trend"}),a.jsx("th",{className:"text-right text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-24",children:"Current"}),a.jsx("th",{className:"text-right text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-24",children:"Target"}),a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-20",children:"Progress"}),a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-16",children:"Source"}),s&&a.jsx("th",{className:"text-center text-xs font-medium text-slate-500 uppercase tracking-wider px-4 py-3 w-16",children:"Action"})]})}),a.jsx("tbody",{className:"divide-y divide-slate-100",children:e.map(e=>{let t=function(e){if(e.history.length<2)return{icon:y.Z,color:"text-slate-400",label:"No trend"};let t=e.history[0].value,s=e.history[e.history.length-1].value,a="higher_is_better"===e.direction?s>t:s<t;return t===s?{icon:y.Z,color:"text-slate-400",label:"Stable"}:a?{icon:n.Z,color:"text-emerald-500",label:"Improving"}:{icon:c.Z,color:"text-red-500",label:"Declining"}}(e),r=null===e.current_value||null===e.target_value?null:"higher_is_better"===e.direction?e.current_value/e.target_value*100:e.current_value<=e.target_value?100:e.target_value/e.current_value*100,m=t.icon,g=l===e.id,j=d===e.id;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("tr",{className:(0,b.Z)("hover:bg-slate-50 cursor-pointer transition-colors",g&&"bg-slate-50"),onClick:()=>i(g?null:e.id),children:[a.jsx("td",{className:"px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"w-16 h-8",children:a.jsx(w.Z,{kpi:e,height:32,width:64})}),(0,a.jsxs)("div",{children:[a.jsx("p",{className:"text-sm font-medium text-slate-900",children:e.name}),a.jsx("p",{className:"text-xs text-slate-500 line-clamp-1",children:e.description})]})]})}),a.jsx("td",{className:"px-4 py-3 text-center",children:a.jsx("span",{className:(0,b.Z)("inline-flex items-center gap-1",t.color),title:t.label,children:a.jsx(m,{className:"w-4 h-4"})})}),a.jsx("td",{className:"px-4 py-3 text-right",children:a.jsx("span",{className:"text-sm font-medium text-slate-900",children:null!==e.current_value?`${e.current_value}${e.unit}`:"--"})}),a.jsx("td",{className:"px-4 py-3 text-right",children:a.jsx("span",{className:"text-sm text-slate-500",children:null!==e.target_value?`${e.target_value}${e.unit}`:"--"})}),a.jsx("td",{className:"px-4 py-3",children:null!==r?a.jsx("div",{className:"flex items-center justify-center",children:a.jsx("div",{className:"w-12 h-1.5 bg-slate-100 rounded-full overflow-hidden",children:a.jsx("div",{className:(0,b.Z)("h-full rounded-full",r>=100?"bg-emerald-500":r>=70?"bg-amber-500":"bg-red-500"),style:{width:`${Math.min(r,100)}%`}})})}):a.jsx("span",{className:"text-xs text-slate-400 text-center block",children:"--"})}),a.jsx("td",{className:"px-4 py-3 text-center",children:a.jsx("span",{className:(0,b.Z)("text-xs px-1.5 py-0.5 rounded","manual"===e.source?"bg-slate-100 text-slate-600":"bg-blue-50 text-blue-600"),children:N.en[e.source]})}),s&&a.jsx("td",{className:"px-4 py-3 text-center",onClick:e=>e.stopPropagation(),children:"manual"===e.source&&a.jsx("button",{onClick:t=>{t.stopPropagation(),o(e.id),h(e.current_value?.toString()||"")},className:"p-1 text-slate-400 hover:text-emerald-600 transition-colors",title:"Add value",children:a.jsx(f.Z,{className:"w-4 h-4"})})})]},e.id),g&&a.jsx("tr",{children:(0,a.jsxs)("td",{colSpan:s?7:6,className:"px-4 py-4 bg-slate-50",children:[(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,a.jsxs)("div",{children:[a.jsx("h4",{className:"text-xs font-medium text-slate-500 uppercase mb-2",children:"History"}),e.history.length>0?a.jsx("div",{className:"h-32 bg-white rounded border border-slate-200 p-2",children:a.jsx(w.Z,{kpi:e,height:112,showTarget:!0})}):a.jsx("div",{className:"h-32 bg-white rounded border border-slate-200 flex items-center justify-center text-sm text-slate-400",children:"No historical data"})]}),(0,a.jsxs)("div",{children:[a.jsx("h4",{className:"text-xs font-medium text-slate-500 uppercase mb-2",children:"Details"}),(0,a.jsxs)("dl",{className:"space-y-2 text-sm",children:[(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"Direction"}),a.jsx("dd",{className:"text-slate-900",children:"higher_is_better"===e.direction?"Higher is better":"Lower is better"})]}),(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"Data points"}),a.jsx("dd",{className:"text-slate-900",children:e.history.length})]}),e.history.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"First recorded"}),a.jsx("dd",{className:"text-slate-900",children:e.history[0].date})]}),(0,a.jsxs)("div",{className:"flex justify-between",children:[a.jsx("dt",{className:"text-slate-500",children:"Last updated"}),a.jsx("dd",{className:"text-slate-900",children:e.history[e.history.length-1].date})]})]})]}),(0,a.jsxs)("div",{className:"mt-4",children:[a.jsx("h4",{className:"text-xs font-medium text-slate-500 uppercase mb-1",children:"Query"}),a.jsx("pre",{className:"text-xs text-slate-600 bg-white p-2 rounded border border-slate-200 overflow-x-auto",children:e.query})]})]})]}),j&&"manual"===e.source&&s&&(0,a.jsxs)("div",{className:"mt-4 pt-4 border-t border-slate-200 flex items-center gap-3",children:[a.jsx("label",{className:"text-sm text-slate-600",children:"Add new value:"}),a.jsx("input",{type:"number",value:x,onChange:e=>h(e.target.value),className:"w-24 px-2 py-1 text-sm border border-slate-300 rounded focus:ring-2 focus:ring-emerald-500 focus:border-emerald-500",placeholder:"Value",step:"any"}),a.jsx("span",{className:"text-sm text-slate-500",children:e.unit}),a.jsx("button",{onClick:()=>p(e.id),disabled:u||!x.trim(),className:"px-3 py-1 text-sm bg-emerald-600 text-white rounded hover:bg-emerald-700 disabled:opacity-50 disabled:cursor-not-allowed",children:u?"Saving...":"Save"}),a.jsx("button",{onClick:()=>{o(null),h("")},className:"px-3 py-1 text-sm text-slate-600 hover:text-slate-900",children:"Cancel"})]})]})},`${e.id}-expanded`)]})})})]})})}function _({status:e}){switch(e){case"on_track":return a.jsx(n.Z,{className:"w-5 h-5"});case"at_risk":return a.jsx(d.Z,{className:"w-5 h-5"});case"behind":return a.jsx(c.Z,{className:"w-5 h-5"});case"achieved":return a.jsx(o.Z,{className:"w-5 h-5"})}}function Z({params:e}){(0,l.useRouter)();let{id:t}=e,[s,n]=(0,r.useState)(null),[d,c]=(0,r.useState)([]),[o,y]=(0,r.useState)(!0),[f,w]=(0,r.useState)(!1),[Z,P]=(0,r.useState)(null),M=async()=>{try{let e=await fetch(`/api/goals/${t}`),s=await e.json();if(!s.success){P(s.error||"Failed to load goal");return}if(n(s.data),s.data.related_ideas.length>0){let e=await fetch("/api/ideas"),t=await e.json();if(t.success){let e=t.data.filter(e=>s.data.related_ideas.includes(e.id));c(e)}}}catch(e){P("Failed to load goal"),console.error("Error fetching goal:",e)}finally{y(!1)}},$=async(e,s)=>{try{let a=await fetch(`/api/goals/${t}/kpis`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({kpi_id:e,action:"add_history",value:s})}),r=await a.json();if(r.success)await M();else throw Error(r.error)}catch(e){throw console.error("Failed to update KPI:",e),e}},S=async e=>{try{let s=await fetch(`/api/goals/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})}),a=await s.json();a.success&&n(a.data)}catch(e){console.error("Failed to update status:",e)}},C=async()=>{w(!0);try{let e=await fetch("/api/kpis/refresh",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({goal_id:t})}),s=await e.json();s.success||console.error("KPI refresh failed:",s.error),await M()}catch(e){console.error("Error refreshing KPIs:",e)}finally{w(!1)}};return o?a.jsx(j.default,{children:a.jsx("div",{className:"flex items-center justify-center h-full",children:a.jsx(x.Z,{className:"w-8 h-8 text-slate-400 animate-spin"})})}):Z||!s?a.jsx(j.default,{children:(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)(i.default,{href:"/goals",className:"inline-flex items-center gap-2 text-slate-600 hover:text-slate-900 mb-6",children:[a.jsx(h.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Back to Goals"})]}),a.jsx("div",{className:"bg-red-50 border border-red-200 rounded-lg p-6 text-center",children:a.jsx("p",{className:"text-red-600",children:Z||"Goal not found"})})]})}):a.jsx(j.default,{children:(0,a.jsxs)("div",{className:"p-6",children:[(0,a.jsxs)(i.default,{href:"/goals",className:"inline-flex items-center gap-2 text-slate-600 hover:text-slate-900 mb-6",children:[a.jsx(h.Z,{className:"w-4 h-4"}),a.jsx("span",{children:"Back to Goals"})]}),(0,a.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200 p-6 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between mb-4",children:[(0,a.jsxs)("div",{className:"flex items-start gap-4",children:[a.jsx("div",{className:"w-14 h-14 bg-emerald-100 rounded-xl flex items-center justify-center flex-shrink-0",children:a.jsx(u.Z,{className:"w-7 h-7 text-emerald-600"})}),(0,a.jsxs)("div",{children:[a.jsx("div",{className:"flex items-center gap-2 mb-1",children:a.jsx("span",{className:(0,b.Z)("text-xs px-2 py-0.5 rounded-full",N.l5[s.category]),children:N.kT[s.category]})}),a.jsx("h1",{className:"text-2xl font-bold text-slate-900 mb-1",children:s.title}),a.jsx("p",{className:"text-slate-500",children:s.description})]})]}),(0,a.jsxs)("div",{className:"flex flex-col items-end gap-2",children:[(0,a.jsxs)("span",{className:(0,b.Z)("inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm font-medium border",N.i2[s.status]),children:[a.jsx(_,{status:s.status}),a.jsx("span",{children:N.tV[s.status]})]}),(0,a.jsxs)("select",{value:s.status,onChange:e=>S(e.target.value),className:"text-xs border border-slate-200 rounded px-2 py-1 text-slate-600",children:[a.jsx("option",{value:"on_track",children:"On Track"}),a.jsx("option",{value:"at_risk",children:"At Risk"}),a.jsx("option",{value:"behind",children:"Behind"}),a.jsx("option",{value:"achieved",children:"Achieved"})]})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-6 text-sm text-slate-500 mb-6",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(m.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:["Deadline: ",a.jsx("span",{className:"font-medium text-slate-700",children:s.deadline})]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[a.jsx(p.Z,{className:"w-4 h-4"}),(0,a.jsxs)("span",{children:[s.related_ideas.length," linked ideas"]})]})]}),a.jsx(v.Z,{current:s.current_value,target:s.target_value,unit:s.target_unit,status:s.status})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[(0,a.jsxs)("div",{className:"lg:col-span-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsxs)("h2",{className:"text-lg font-semibold text-slate-900",children:["Key Performance Indicators (",s.kpis.length,")"]}),(0,a.jsxs)("button",{onClick:C,disabled:f,className:"inline-flex items-center gap-2 px-3 py-1.5 text-sm text-slate-600 hover:text-slate-900 border border-slate-200 rounded-lg hover:bg-slate-50 disabled:opacity-50",children:[a.jsx(x.Z,{className:(0,b.Z)("w-4 h-4",f&&"animate-spin")}),a.jsx("span",{children:f?"Refreshing...":"Refresh KPIs"})]})]}),s.kpis.length>0?a.jsx(k,{kpis:s.kpis,goalId:s.id,onUpdateKPI:$}):a.jsx("div",{className:"bg-white rounded-lg border border-slate-200 p-8 text-center",children:a.jsx("p",{className:"text-slate-500",children:"No KPIs defined for this goal."})})]}),(0,a.jsxs)("div",{children:[a.jsx("h2",{className:"text-lg font-semibold text-slate-900 mb-4",children:"Related Ideas"}),d.length>0?a.jsx("div",{className:"space-y-3",children:d.map(e=>(0,a.jsxs)(i.default,{href:`/ideas/${e.id}`,className:"block bg-white rounded-lg border border-slate-200 p-4 hover:border-emerald-300 hover:shadow-sm transition-all",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,a.jsxs)("div",{children:[a.jsx("h3",{className:"text-sm font-medium text-slate-900 mb-1",children:e.title}),a.jsx("p",{className:"text-xs text-slate-500 line-clamp-2",children:e.summary})]}),a.jsx(g.Z,{className:"w-4 h-4 text-slate-400 flex-shrink-0"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[a.jsx("span",{className:(0,b.Z)("text-xs px-1.5 py-0.5 rounded","shipped"===e.stage?"bg-green-100 text-green-700":"in_progress"===e.stage?"bg-violet-100 text-violet-700":"bg-slate-100 text-slate-600"),children:e.stage.replace("_"," ")}),e.expected_impact&&a.jsx("span",{className:"text-xs text-slate-400",children:e.expected_impact})]})]},e.id))}):(0,a.jsxs)("div",{className:"bg-white rounded-lg border border-slate-200 p-6 text-center",children:[a.jsx(p.Z,{className:"w-8 h-8 text-slate-300 mx-auto mb-2"}),a.jsx("p",{className:"text-sm text-slate-500 mb-3",children:"No ideas linked to this goal yet."}),a.jsx(i.default,{href:"/",className:"text-sm text-emerald-600 hover:text-emerald-700",children:"Browse Ideas"})]}),(0,a.jsxs)("div",{className:"mt-6 bg-slate-50 rounded-lg border border-slate-200 p-4",children:[a.jsx("h3",{className:"text-sm font-medium text-slate-700 mb-2",children:"Tip: Link Ideas to Goals"}),a.jsx("p",{className:"text-xs text-slate-500",children:"When approving ideas, link them to this goal to track which improvements support your business objectives. Ideas linked to goals are prioritized in the analysis process."})]})]})]}),(0,a.jsxs)("div",{className:"mt-6 text-xs text-slate-400",children:[(0,a.jsxs)("p",{children:["Created: ",new Date(s.created_at).toLocaleString()]}),(0,a.jsxs)("p",{children:["Last updated: ",new Date(s.updated_at).toLocaleString()]})]})]})})}},6087:(e,t,s)=>{"use strict";s.d(t,{Z:()=>i});var a=s(326),r=s(1135);let l={on_track:"bg-emerald-500",at_risk:"bg-amber-500",behind:"bg-red-500",achieved:"bg-blue-500"};function i({current:e,target:t,unit:s,status:i,showLabels:n=!0}){let d=null!==e?Math.min(e/t*100,100):0,c=e=>null===e?"--":"percent"===s||"%"===s?`${e}%`:"hours"===s?`${e}h`:`${e} ${s}`;return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"relative h-2 bg-slate-100 rounded-full overflow-hidden",children:[a.jsx("div",{className:(0,r.Z)("absolute left-0 top-0 h-full rounded-full transition-all duration-500",l[i]),style:{width:`${d}%`}}),a.jsx("div",{className:"absolute top-0 w-0.5 h-full bg-slate-400",style:{left:"100%"},title:`Target: ${c(t)}`})]}),n&&(0,a.jsxs)("div",{className:"flex items-center justify-between mt-1",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Current: ",a.jsx("span",{className:"font-medium text-slate-700",children:c(e)})]}),(0,a.jsxs)("span",{className:"text-xs text-slate-500",children:["Target: ",a.jsx("span",{className:"font-medium text-slate-700",children:c(t)})]})]})]})}},2728:(e,t,s)=>{"use strict";s.d(t,{Z:()=>l});var a=s(326),r=s(7577);function l({kpi:e,height:t=40,width:s,showTarget:l=!1}){let{path:i,areaPath:n,minValue:d,maxValue:c,points:o}=(0,r.useMemo)(()=>{let a=e.history;if(0===a.length)return{path:"",areaPath:"",minValue:0,maxValue:0,points:[]};let r=a.map(e=>e.value),i=l&&null!==e.target_value?[...r,e.target_value]:r,n=Math.min(...i),d=Math.max(...i),c=d-n||1,o=n-.1*c,x=d+.1*c-o||1,h=t-4,u=(s||100)/Math.max(a.length-1,1),m=a.map((e,t)=>({x:t*u,y:h-(e.value-o)/x*h+2,value:e.value,date:e.date}));return 1===m.length?{path:`M ${m[0].x} ${m[0].y}`,areaPath:"",minValue:n,maxValue:d,points:m}:{path:m.map((e,t)=>0===t?`M ${e.x} ${e.y}`:`L ${e.x} ${e.y}`).join(" "),areaPath:[`M ${m[0].x} ${h+2}`,`L ${m[0].x} ${m[0].y}`,...m.slice(1).map(e=>`L ${e.x} ${e.y}`),`L ${m[m.length-1].x} ${h+2}`,"Z"].join(" "),minValue:n,maxValue:d,points:m}},[e.history,e.target_value,t,s,l]),x=(()=>{if(e.history.length<2)return{stroke:"#94a3b8",fill:"rgba(148, 163, 184, 0.1)"};let t=e.history[0].value,s=e.history[e.history.length-1].value;return("higher_is_better"===e.direction?s>=t:s<=t)?{stroke:"#10b981",fill:"rgba(16, 185, 129, 0.1)"}:{stroke:"#ef4444",fill:"rgba(239, 68, 68, 0.1)"}})();if(0===e.history.length)return a.jsx("div",{className:"flex items-center justify-center text-xs text-slate-400",style:{height:t,width:s||"100%"},children:"No data"});let h=(()=>{if(!l||null===e.target_value||0===e.history.length)return null;let s=[...e.history.map(e=>e.value),e.target_value],a=Math.min(...s),r=Math.max(...s),i=r-a||1,n=a-.1*i,d=t-4;return d-(e.target_value-n)/(r+.1*i-n||1)*d+2})();return(0,a.jsxs)("svg",{width:s||"100%",height:t,viewBox:`0 0 ${s||100} ${t}`,preserveAspectRatio:"none",className:"overflow-visible",children:[n&&a.jsx("path",{d:n,fill:x.fill}),a.jsx("path",{d:i,fill:"none",stroke:x.stroke,strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"}),l&&null!==h&&a.jsx("line",{x1:0,y1:h,x2:s||100,y2:h,stroke:"#94a3b8",strokeWidth:1,strokeDasharray:"4 2"}),o.length>0&&a.jsx("circle",{cx:o[o.length-1].x,cy:o[o.length-1].y,r:3,fill:x.stroke})]})}},9526:(e,t,s)=>{"use strict";s.d(t,{G:()=>n,GK:()=>_,Gs:()=>o,Hs:()=>a,PN:()=>m,PW:()=>w,Q_:()=>p,R$:()=>f,Vr:()=>x,Wb:()=>u,aR:()=>h,bi:()=>d,en:()=>y,i2:()=>v,kT:()=>g,l5:()=>b,lE:()=>N,lv:()=>i,pG:()=>r,rF:()=>c,tV:()=>j,tl:()=>k,xP:()=>Z,yb:()=>l});let a={product:"Product",ux_design:"UX/Design",growth:"Growth",performance:"Performance",tech_debt:"Tech Debt",security:"Security",infrastructure:"Infrastructure",content:"Content",analytics:"Analytics",integration:"Integration"},r={product:"bg-blue-100 text-blue-800",ux_design:"bg-purple-100 text-purple-800",growth:"bg-green-100 text-green-800",performance:"bg-orange-100 text-orange-800",tech_debt:"bg-yellow-100 text-yellow-800",security:"bg-red-100 text-red-800",infrastructure:"bg-gray-100 text-gray-800",content:"bg-pink-100 text-pink-800",analytics:"bg-cyan-100 text-cyan-800",integration:"bg-indigo-100 text-indigo-800"},l={inbox:"Inbox",under_review:"Under Review",approved:"Approved",in_progress:"In Progress",testing:"Testing",shipped:"Shipped",deferred:"Deferred",rejected:"Rejected",rolled_back:"Rolled Back"},i={inbox:"bg-amber-500",under_review:"bg-blue-500",approved:"bg-emerald-500",in_progress:"bg-violet-500",testing:"bg-cyan-500",shipped:"bg-green-500",deferred:"bg-gray-500",rejected:"bg-red-500",rolled_back:"bg-orange-500"},n=["inbox","under_review","approved","in_progress","testing","shipped"],d={xs:"XS",s:"S",m:"M",l:"L",xl:"XL"},c={critical:"Critical",high:"High",medium:"Medium",low:"Low"},o={critical:"bg-red-100 text-red-800 border-red-300",high:"bg-orange-100 text-orange-800 border-orange-300",medium:"bg-yellow-100 text-yellow-800 border-yellow-300",low:"bg-gray-100 text-gray-800 border-gray-300"},x={codebase_analysis:"Codebase Analysis",metrics_review:"Metrics Review",market_research:"Market Research",seo_audit:"SEO Audit",growth_distribution:"Growth Distribution",manual:"Manual"},h={pending:"bg-slate-100 text-slate-700",validated:"bg-emerald-100 text-emerald-800",needs_investigation:"bg-amber-100 text-amber-800",inconclusive:"bg-slate-100 text-slate-600",invalidated:"bg-red-100 text-red-800"},u={pending:"Pending",validated:"Validated",needs_investigation:"Needs Investigation",inconclusive:"Inconclusive",invalidated:"Invalidated"},m={ship:"Ship",update:"Update",milestone:"Milestone",digest:"Digest",manual:"Manual",thread:"Thread",insight:"Insight"},p={ship:"bg-green-100 text-green-800",update:"bg-blue-100 text-blue-800",milestone:"bg-amber-100 text-amber-800",digest:"bg-purple-100 text-purple-800",manual:"bg-slate-100 text-slate-800",thread:"bg-indigo-100 text-indigo-800",insight:"bg-cyan-100 text-cyan-800"},g={acquisition:"Acquisition",activation:"Activation",retention:"Retention",revenue:"Revenue",referral:"Referral"},b={acquisition:"bg-blue-100 text-blue-800",activation:"bg-emerald-100 text-emerald-800",retention:"bg-purple-100 text-purple-800",revenue:"bg-amber-100 text-amber-800",referral:"bg-pink-100 text-pink-800"},j={on_track:"On Track",at_risk:"At Risk",behind:"Behind",achieved:"Achieved"},v={on_track:"bg-emerald-100 text-emerald-800 border-emerald-300",at_risk:"bg-amber-100 text-amber-800 border-amber-300",behind:"bg-red-100 text-red-800 border-red-300",achieved:"bg-blue-100 text-blue-800 border-blue-300"},y={manual:"Manual",rest_api:"REST API",posthog:"PostHog",firestore:"Firestore",stripe:"Stripe",whatsapp:"WhatsApp"},f={stated:"Stated",testing:"Testing",validated:"Validated",invalidated:"Invalidated",deferred:"Deferred"},N={stated:"bg-slate-100 text-slate-800 border-slate-300",testing:"bg-amber-100 text-amber-800 border-amber-300",validated:"bg-emerald-100 text-emerald-800 border-emerald-300",invalidated:"bg-red-100 text-red-800 border-red-300",deferred:"bg-slate-100 text-slate-500 border-slate-200"},w={acquisition:"Acquisition",engagement:"Engagement",conversion:"Conversion",monetization:"Monetization"},k={acquisition:"bg-blue-100 text-blue-800",engagement:"bg-purple-100 text-purple-800",conversion:"bg-amber-100 text-amber-800",monetization:"bg-emerald-100 text-emerald-800"},_={planned:"Planned",active:"Active",completed:"Completed",paused:"Paused"},Z={planned:"bg-slate-100 text-slate-700 border-slate-300",active:"bg-blue-100 text-blue-800 border-blue-300",completed:"bg-emerald-100 text-emerald-800 border-emerald-300",paused:"bg-amber-100 text-amber-800 border-amber-300"}},2139:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>a});let a=(0,s(8570).createProxy)(String.raw`/Users/luismey/Code/100xmanager/src/app/goals/[id]/page.tsx#default`)}};var t=require("../../../webpack-runtime.js");t.C(e);var s=e=>t(t.s=e),a=t.X(0,[9276,4471,9404,3098],()=>s(3196));module.exports=a})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/4471.js","../../../chunks/9276.js","../../../chunks/9404.js","../../../chunks/995.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]}
1
+ {"version":1,"files":["../../../../../node_modules/next/dist/client/components/action-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/action-async-storage.external.js","../../../../../node_modules/next/dist/client/components/async-local-storage.js","../../../../../node_modules/next/dist/client/components/request-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/request-async-storage.external.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage-instance.js","../../../../../node_modules/next/dist/client/components/static-generation-async-storage.external.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../node_modules/next/package.json","../../../../../package.json","../../../../package.json","../../../chunks/3098.js","../../../chunks/4471.js","../../../chunks/9276.js","../../../chunks/9404.js","../../../webpack-runtime.js","page_client-reference-manifest.js"]}