@shepai/cli 1.61.0 → 1.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +1 -1
  2. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +17 -0
  3. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -0
  4. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +23 -0
  5. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts +22 -0
  6. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.d.ts.map +1 -0
  7. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.stories.js +56 -0
  8. package/dist/src/presentation/web/components/common/base-drawer/index.d.ts +2 -0
  9. package/dist/src/presentation/web/components/common/base-drawer/index.d.ts.map +1 -0
  10. package/dist/src/presentation/web/components/common/base-drawer/index.js +1 -0
  11. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  12. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +11 -16
  13. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.d.ts +1 -1
  14. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.js +1 -1
  15. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.d.ts.map +1 -1
  16. package/dist/src/presentation/web/components/common/feature-drawer/feature-drawer.js +14 -14
  17. package/dist/src/presentation/web/components/common/repository-node/index.d.ts +1 -0
  18. package/dist/src/presentation/web/components/common/repository-node/index.d.ts.map +1 -1
  19. package/dist/src/presentation/web/components/common/repository-node/index.js +1 -0
  20. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts +7 -0
  21. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -0
  22. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +12 -0
  23. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts +9 -0
  24. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -0
  25. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +34 -0
  26. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -1
  27. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +4 -6
  28. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  29. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +20 -2
  30. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +3 -1
  31. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  32. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +4 -2
  33. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.d.ts.map +1 -1
  34. package/dist/src/presentation/web/components/features/skills/skill-detail-drawer.js +3 -6
  35. package/dist/tsconfig.build.tsbuildinfo +1 -1
  36. package/package.json +1 -1
  37. package/web/.next/BUILD_ID +1 -1
  38. package/web/.next/build-manifest.json +2 -2
  39. package/web/.next/cache/.previewinfo +1 -1
  40. package/web/.next/cache/.rscinfo +1 -1
  41. package/web/.next/cache/.tsbuildinfo +1 -1
  42. package/web/.next/cache/config.json +3 -3
  43. package/web/.next/fallback-build-manifest.json +2 -2
  44. package/web/.next/prerender-manifest.json +3 -3
  45. package/web/.next/required-server-files.js +1 -1
  46. package/web/.next/required-server-files.json +1 -1
  47. package/web/.next/server/app/_global-error.html +2 -2
  48. package/web/.next/server/app/_global-error.rsc +1 -1
  49. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  50. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  51. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  52. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  53. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  54. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  55. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  56. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  57. package/web/.next/server/app/page/server-reference-manifest.json +14 -14
  58. package/web/.next/server/app/page.js.nft.json +1 -1
  59. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  60. package/web/.next/server/app/skills/page/server-reference-manifest.json +1 -1
  61. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  62. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  63. package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  64. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  65. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  67. package/web/.next/server/app/version/page.js.nft.json +1 -1
  68. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  70. package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
  71. package/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js +3 -0
  72. package/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js.map +1 -0
  73. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  74. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
  75. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  76. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
  77. package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +4 -4
  78. package/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js.map +1 -1
  79. package/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js +3 -0
  80. package/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js.map +1 -0
  81. package/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js +2 -2
  82. package/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js.map +1 -1
  83. package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +1 -1
  84. package/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js.map +1 -1
  85. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js +3 -0
  86. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js.map +1 -0
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
  88. package/web/.next/server/chunks/ssr/_73d14b70._.js +3 -0
  89. package/web/.next/server/chunks/ssr/_73d14b70._.js.map +1 -0
  90. package/web/.next/server/chunks/ssr/_7f386377._.js +3 -0
  91. package/web/.next/server/chunks/ssr/_7f386377._.js.map +1 -0
  92. package/web/.next/server/chunks/ssr/_d3711354._.js +2 -2
  93. package/web/.next/server/chunks/ssr/_d3711354._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/{_a64b7b24._.js → _d81184e2._.js} +2 -2
  95. package/web/.next/server/chunks/ssr/_d81184e2._.js.map +1 -0
  96. package/web/.next/{standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_fe355030._.js → server/chunks/ssr/node_modules__pnpm_87f920e7._.js} +2 -2
  97. package/web/.next/server/chunks/ssr/{node_modules__pnpm_fe355030._.js.map → node_modules__pnpm_87f920e7._.js.map} +1 -1
  98. package/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js +3 -0
  99. package/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js.map +1 -0
  100. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +3 -0
  101. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -0
  102. package/web/.next/server/pages/500.html +2 -2
  103. package/web/.next/server/server-reference-manifest.js +1 -1
  104. package/web/.next/server/server-reference-manifest.json +15 -15
  105. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  106. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  107. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  108. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  109. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  110. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  111. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  112. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  113. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  114. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  115. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  116. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  117. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  118. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  119. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +14 -14
  120. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  121. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  122. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +1 -1
  123. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page.js.nft.json +1 -1
  124. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  125. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
  126. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page.js.nft.json +1 -1
  127. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  128. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  129. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  130. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  131. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
  132. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5e0f14e9._.js +3 -0
  133. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
  134. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
  135. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__9add7c3a._.js +4 -4
  136. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ae251147._.js +3 -0
  137. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__b6839c3f._.js +2 -2
  138. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__da0ade1f._.js +1 -1
  139. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__dd5b62cb._.js +3 -0
  140. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fbc89707._.js +1 -1
  141. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_73d14b70._.js +3 -0
  142. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_7f386377._.js +3 -0
  143. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_d3711354._.js +2 -2
  144. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_a64b7b24._.js → _d81184e2._.js} +2 -2
  145. package/web/.next/{server/chunks/ssr/node_modules__pnpm_fe355030._.js → standalone/src/presentation/web/.next/server/chunks/ssr/node_modules__pnpm_87f920e7._.js} +2 -2
  146. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_7a0b09da._.js +3 -0
  147. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +3 -0
  148. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  149. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  150. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +15 -15
  151. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.stories.tsx +207 -0
  152. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/base-drawer.tsx +90 -0
  153. package/web/.next/standalone/src/presentation/web/components/common/base-drawer/index.ts +1 -0
  154. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.stories.tsx +1 -1
  155. package/web/.next/standalone/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.tsx +145 -172
  156. package/web/.next/standalone/src/presentation/web/components/common/feature-drawer/feature-drawer.tsx +119 -133
  157. package/web/.next/standalone/src/presentation/web/components/common/repository-node/index.ts +1 -0
  158. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-drawer.stories.tsx +58 -0
  159. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-drawer.tsx +82 -0
  160. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +79 -96
  161. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +30 -2
  162. package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +7 -0
  163. package/web/.next/standalone/src/presentation/web/components/features/skills/skill-detail-drawer.tsx +71 -77
  164. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  165. package/web/.next/static/chunks/0c6654ec27f11c7e.js +1 -0
  166. package/web/.next/static/chunks/12c70bfd5951cf9b.js +1 -0
  167. package/web/.next/static/chunks/21541b346dd4dd28.js +1 -0
  168. package/web/.next/static/chunks/{cb1b27e4a21415d3.js → 3b941e59ac013e12.js} +2 -2
  169. package/web/.next/static/chunks/426292e5fb0b2a61.js +1 -0
  170. package/web/.next/static/chunks/{09d898be63c54f20.js → 78919481e7c5ad4f.js} +1 -1
  171. package/web/.next/static/chunks/a5b6a22de303e877.css +2 -0
  172. package/web/.next/static/chunks/af7a5bcb7c49e46e.js +1 -0
  173. package/web/.next/static/chunks/be784143669bb992.js +1 -0
  174. package/web/.next/static/chunks/ea57f9afe9055c7a.js +10 -0
  175. package/web/.next/trace +1 -1
  176. package/web/.next/trace-build +1 -1
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js +0 -3
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js.map +0 -1
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js +0 -3
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js.map +0 -1
  181. package/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js +0 -3
  182. package/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js.map +0 -1
  183. package/web/.next/server/chunks/ssr/_9915d2a7._.js +0 -3
  184. package/web/.next/server/chunks/ssr/_9915d2a7._.js.map +0 -1
  185. package/web/.next/server/chunks/ssr/_a64b7b24._.js.map +0 -1
  186. package/web/.next/server/chunks/ssr/_e7a4b0e4._.js +0 -3
  187. package/web/.next/server/chunks/ssr/_e7a4b0e4._.js.map +0 -1
  188. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__2395adc6._.js +0 -3
  189. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__87fda958._.js +0 -3
  190. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__ee7cffe1._.js +0 -3
  191. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9915d2a7._.js +0 -3
  192. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_e7a4b0e4._.js +0 -3
  193. package/web/.next/static/chunks/13664c029245afc8.js +0 -1
  194. package/web/.next/static/chunks/25f42652257ff43d.js +0 -1
  195. package/web/.next/static/chunks/2934854f0378f815.js +0 -1
  196. package/web/.next/static/chunks/2960a70537e4fd12.js +0 -10
  197. package/web/.next/static/chunks/45f510f84c7c417d.css +0 -2
  198. package/web/.next/static/chunks/79718b1f5713fdc0.js +0 -1
  199. /package/web/.next/static/{_DBWexyU1QkK02q15qod2 → 23Y-ea-5g4_fUHZyGpCb0}/_buildManifest.js +0 -0
  200. /package/web/.next/static/{_DBWexyU1QkK02q15qod2 → 23Y-ea-5g4_fUHZyGpCb0}/_clientMiddlewareManifest.json +0 -0
  201. /package/web/.next/static/{_DBWexyU1QkK02q15qod2 → 23Y-ea-5g4_fUHZyGpCb0}/_ssgManifest.js +0 -0
package/web/.next/trace CHANGED
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":214,"timestamp":69049718,"id":4,"parentId":1,"tags":{},"startTime":1772051493280,"traceId":"a8e233651c0a9963"},{"name":"load-custom-routes","duration":305,"timestamp":69050058,"id":5,"parentId":1,"tags":{},"startTime":1772051493281,"traceId":"a8e233651c0a9963"},{"name":"create-dist-dir","duration":234,"timestamp":69050394,"id":6,"parentId":1,"tags":{},"startTime":1772051493281,"traceId":"a8e233651c0a9963"},{"name":"clean","duration":205,"timestamp":69051070,"id":7,"parentId":1,"tags":{},"startTime":1772051493282,"traceId":"a8e233651c0a9963"},{"name":"create-pages-mapping","duration":229,"timestamp":69178981,"id":8,"parentId":1,"tags":{},"startTime":1772051493410,"traceId":"a8e233651c0a9963"},{"name":"collect-app-files","duration":2975,"timestamp":69179252,"id":9,"parentId":1,"tags":{},"startTime":1772051493410,"traceId":"a8e233651c0a9963"},{"name":"create-app-mapping","duration":1015,"timestamp":69182252,"id":10,"parentId":1,"tags":{},"startTime":1772051493413,"traceId":"a8e233651c0a9963"},{"name":"create-app-layouts","duration":138,"timestamp":69183293,"id":11,"parentId":1,"tags":{},"startTime":1772051493414,"traceId":"a8e233651c0a9963"},{"name":"collect-default-files","duration":870,"timestamp":69185682,"id":13,"parentId":1,"tags":{},"startTime":1772051493416,"traceId":"a8e233651c0a9963"},{"name":"generate-route-types","duration":12573,"timestamp":69185170,"id":12,"parentId":1,"tags":{},"startTime":1772051493416,"traceId":"a8e233651c0a9963"},{"name":"public-dir-conflict-check","duration":73,"timestamp":69197847,"id":14,"parentId":1,"tags":{},"startTime":1772051493428,"traceId":"a8e233651c0a9963"},{"name":"generate-routes-manifest","duration":2360,"timestamp":69197981,"id":15,"parentId":1,"tags":{},"startTime":1772051493429,"traceId":"a8e233651c0a9963"},{"name":"run-turbopack","duration":9538412,"timestamp":69211523,"id":17,"parentId":1,"tags":{},"startTime":1772051493442,"traceId":"a8e233651c0a9963"},{"name":"run-typescript","duration":7219684,"timestamp":78757246,"id":19,"parentId":1,"tags":{},"startTime":1772051502988,"traceId":"a8e233651c0a9963"},{"name":"generate-required-server-files","duration":1785,"timestamp":85977501,"id":21,"parentId":1,"tags":{},"startTime":1772051510208,"traceId":"a8e233651c0a9963"},{"name":"check-static-error-page","duration":4314,"timestamp":86051726,"id":23,"parentId":22,"tags":{},"startTime":1772051510282,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":271422,"timestamp":86059917,"id":37,"parentId":25,"tags":{},"startTime":1772051510291,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":277250,"timestamp":86054177,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1772051510285,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":278818,"timestamp":86059626,"id":36,"parentId":24,"tags":{},"startTime":1772051510290,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":285643,"timestamp":86052839,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1772051510283,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":324586,"timestamp":86061197,"id":40,"parentId":30,"tags":{},"startTime":1772051510292,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":330578,"timestamp":86055543,"id":30,"parentId":22,"tags":{"page":"/api/tools/[id]/launch"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":332204,"timestamp":86061260,"id":41,"parentId":31,"tags":{},"startTime":1772051510292,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":337932,"timestamp":86055621,"id":31,"parentId":22,"tags":{"page":"/api/tools"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":327417,"timestamp":86069751,"id":42,"parentId":26,"tags":{},"startTime":1772051510300,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":341977,"timestamp":86055229,"id":26,"parentId":22,"tags":{"page":"/api/agent-events/health"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":327700,"timestamp":86073638,"id":43,"parentId":27,"tags":{},"startTime":1772051510304,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":346042,"timestamp":86055317,"id":27,"parentId":22,"tags":{"page":"/api/agent-events"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":350948,"timestamp":86061128,"id":39,"parentId":29,"tags":{},"startTime":1772051510292,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":356643,"timestamp":86055472,"id":29,"parentId":22,"tags":{"page":"/api/tools/[id]/install"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":335411,"timestamp":86081664,"id":44,"parentId":33,"tags":{},"startTime":1772051510312,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":361411,"timestamp":86055774,"id":33,"parentId":22,"tags":{"page":"/skills"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":359291,"timestamp":86060881,"id":38,"parentId":28,"tags":{},"startTime":1772051510292,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":364803,"timestamp":86055398,"id":28,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":339693,"timestamp":86082094,"id":46,"parentId":34,"tags":{},"startTime":1772051510313,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":365946,"timestamp":86055856,"id":34,"parentId":22,"tags":{"page":"/tools"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":361296,"timestamp":86081699,"id":45,"parentId":35,"tags":{},"startTime":1772051510312,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":387121,"timestamp":86055932,"id":35,"parentId":22,"tags":{"page":"/version"},"startTime":1772051510287,"traceId":"a8e233651c0a9963"},{"name":"is-page-static","duration":373917,"timestamp":86082361,"id":47,"parentId":32,"tags":{},"startTime":1772051510313,"traceId":"a8e233651c0a9963"},{"name":"check-page","duration":400605,"timestamp":86055693,"id":32,"parentId":22,"tags":{"page":"/"},"startTime":1772051510286,"traceId":"a8e233651c0a9963"},{"name":"static-check","duration":405424,"timestamp":86050902,"id":22,"parentId":1,"tags":{},"startTime":1772051510282,"traceId":"a8e233651c0a9963"},{"name":"write-routes-manifest","duration":1943,"timestamp":86457083,"id":49,"parentId":1,"tags":{},"startTime":1772051510688,"traceId":"a8e233651c0a9963"},{"name":"load-dotenv","duration":32,"timestamp":86466751,"id":52,"parentId":51,"tags":{},"startTime":1772051510697,"traceId":"a8e233651c0a9963"},{"name":"run-export-path-map","duration":317,"timestamp":86468873,"id":53,"parentId":51,"tags":{},"startTime":1772051510700,"traceId":"a8e233651c0a9963"},{"name":"next-export","duration":74684,"timestamp":86465858,"id":51,"parentId":1,"tags":{},"startTime":1772051510696,"traceId":"a8e233651c0a9963"},{"name":"move-exported-app-global-error-","duration":461,"timestamp":86541579,"id":54,"parentId":50,"tags":{},"startTime":1772051510772,"traceId":"a8e233651c0a9963"},{"name":"static-generation","duration":81170,"timestamp":86462159,"id":50,"parentId":1,"tags":{},"startTime":1772051510693,"traceId":"a8e233651c0a9963"},{"name":"write-routes-manifest","duration":255,"timestamp":86543495,"id":55,"parentId":1,"tags":{},"startTime":1772051510774,"traceId":"a8e233651c0a9963"},{"name":"write-standalone-directory","duration":284157,"timestamp":86549364,"id":57,"parentId":1,"tags":{},"startTime":1772051510780,"traceId":"a8e233651c0a9963"},{"name":"output-standalone","duration":284322,"timestamp":86549221,"id":56,"parentId":1,"tags":{},"startTime":1772051510780,"traceId":"a8e233651c0a9963"},{"name":"print-tree-view","duration":2120,"timestamp":86833679,"id":58,"parentId":1,"tags":{},"startTime":1772051511064,"traceId":"a8e233651c0a9963"},{"name":"telemetry-flush","duration":67,"timestamp":86835810,"id":59,"parentId":1,"tags":{},"startTime":1772051511066,"traceId":"a8e233651c0a9963"},{"name":"next-build","duration":17999588,"timestamp":68836302,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772051493067,"traceId":"a8e233651c0a9963"}]
1
+ [{"name":"generate-buildid","duration":205,"timestamp":135773134,"id":4,"parentId":1,"tags":{},"startTime":1772101307720,"traceId":"a98aa2bc970a569f"},{"name":"load-custom-routes","duration":312,"timestamp":135773434,"id":5,"parentId":1,"tags":{},"startTime":1772101307721,"traceId":"a98aa2bc970a569f"},{"name":"create-dist-dir","duration":205,"timestamp":135773771,"id":6,"parentId":1,"tags":{},"startTime":1772101307721,"traceId":"a98aa2bc970a569f"},{"name":"clean","duration":198,"timestamp":135774383,"id":7,"parentId":1,"tags":{},"startTime":1772101307722,"traceId":"a98aa2bc970a569f"},{"name":"create-pages-mapping","duration":241,"timestamp":135825587,"id":8,"parentId":1,"tags":{},"startTime":1772101307773,"traceId":"a98aa2bc970a569f"},{"name":"collect-app-files","duration":3260,"timestamp":135825873,"id":9,"parentId":1,"tags":{},"startTime":1772101307773,"traceId":"a98aa2bc970a569f"},{"name":"create-app-mapping","duration":1018,"timestamp":135829159,"id":10,"parentId":1,"tags":{},"startTime":1772101307776,"traceId":"a98aa2bc970a569f"},{"name":"create-app-layouts","duration":136,"timestamp":135830209,"id":11,"parentId":1,"tags":{},"startTime":1772101307778,"traceId":"a98aa2bc970a569f"},{"name":"collect-default-files","duration":2088,"timestamp":135838616,"id":13,"parentId":1,"tags":{},"startTime":1772101307786,"traceId":"a98aa2bc970a569f"},{"name":"generate-route-types","duration":20177,"timestamp":135831950,"id":12,"parentId":1,"tags":{},"startTime":1772101307779,"traceId":"a98aa2bc970a569f"},{"name":"public-dir-conflict-check","duration":72,"timestamp":135852228,"id":14,"parentId":1,"tags":{},"startTime":1772101307800,"traceId":"a98aa2bc970a569f"},{"name":"generate-routes-manifest","duration":2186,"timestamp":135852355,"id":15,"parentId":1,"tags":{},"startTime":1772101307800,"traceId":"a98aa2bc970a569f"},{"name":"run-turbopack","duration":9266185,"timestamp":135860138,"id":17,"parentId":1,"tags":{},"startTime":1772101307807,"traceId":"a98aa2bc970a569f"},{"name":"run-typescript","duration":7386352,"timestamp":145143113,"id":19,"parentId":1,"tags":{},"startTime":1772101317090,"traceId":"a98aa2bc970a569f"},{"name":"generate-required-server-files","duration":1546,"timestamp":152529930,"id":21,"parentId":1,"tags":{},"startTime":1772101324477,"traceId":"a98aa2bc970a569f"},{"name":"check-static-error-page","duration":4424,"timestamp":152596797,"id":23,"parentId":22,"tags":{},"startTime":1772101324544,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":270403,"timestamp":152605370,"id":37,"parentId":25,"tags":{},"startTime":1772101324553,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":276665,"timestamp":152599196,"id":25,"parentId":22,"tags":{"page":"/_global-error"},"startTime":1772101324547,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":303949,"timestamp":152605088,"id":36,"parentId":24,"tags":{},"startTime":1772101324552,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":311211,"timestamp":152597881,"id":24,"parentId":22,"tags":{"page":"/_not-found"},"startTime":1772101324545,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":340259,"timestamp":152607254,"id":40,"parentId":29,"tags":{},"startTime":1772101324555,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":348114,"timestamp":152599607,"id":29,"parentId":22,"tags":{"page":"/api/tools/[id]/install"},"startTime":1772101324547,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":346757,"timestamp":152607327,"id":41,"parentId":31,"tags":{},"startTime":1772101324555,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":353381,"timestamp":152600784,"id":31,"parentId":22,"tags":{"page":"/api/tools"},"startTime":1772101324548,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":345749,"timestamp":152610676,"id":42,"parentId":26,"tags":{},"startTime":1772101324558,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":357073,"timestamp":152599387,"id":26,"parentId":22,"tags":{"page":"/api/agent-events/health"},"startTime":1772101324547,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":345863,"timestamp":152616195,"id":43,"parentId":27,"tags":{},"startTime":1772101324564,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":362611,"timestamp":152599471,"id":27,"parentId":22,"tags":{"page":"/api/agent-events"},"startTime":1772101324547,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":356133,"timestamp":152606916,"id":38,"parentId":28,"tags":{},"startTime":1772101324554,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":363534,"timestamp":152599539,"id":28,"parentId":22,"tags":{"page":"/api/dialog/pick-files"},"startTime":1772101324547,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":365035,"timestamp":152607173,"id":39,"parentId":30,"tags":{},"startTime":1772101324554,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":372639,"timestamp":152599677,"id":30,"parentId":22,"tags":{"page":"/api/tools/[id]/launch"},"startTime":1772101324547,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":359430,"timestamp":152620639,"id":44,"parentId":33,"tags":{},"startTime":1772101324568,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":379120,"timestamp":152600980,"id":33,"parentId":22,"tags":{"page":"/skills"},"startTime":1772101324548,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":374508,"timestamp":152621311,"id":47,"parentId":32,"tags":{},"startTime":1772101324569,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":394972,"timestamp":152600886,"id":32,"parentId":22,"tags":{"page":"/"},"startTime":1772101324548,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":375458,"timestamp":152621048,"id":46,"parentId":34,"tags":{},"startTime":1772101324568,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":395438,"timestamp":152601086,"id":34,"parentId":22,"tags":{"page":"/tools"},"startTime":1772101324548,"traceId":"a98aa2bc970a569f"},{"name":"is-page-static","duration":375970,"timestamp":152620759,"id":45,"parentId":35,"tags":{},"startTime":1772101324568,"traceId":"a98aa2bc970a569f"},{"name":"check-page","duration":395594,"timestamp":152601151,"id":35,"parentId":22,"tags":{"page":"/version"},"startTime":1772101324548,"traceId":"a98aa2bc970a569f"},{"name":"static-check","duration":400749,"timestamp":152596031,"id":22,"parentId":1,"tags":{},"startTime":1772101324543,"traceId":"a98aa2bc970a569f"},{"name":"write-routes-manifest","duration":267,"timestamp":152998499,"id":49,"parentId":1,"tags":{},"startTime":1772101324946,"traceId":"a98aa2bc970a569f"},{"name":"load-dotenv","duration":49,"timestamp":153005988,"id":52,"parentId":51,"tags":{},"startTime":1772101324953,"traceId":"a98aa2bc970a569f"},{"name":"run-export-path-map","duration":291,"timestamp":153008043,"id":53,"parentId":51,"tags":{},"startTime":1772101324955,"traceId":"a98aa2bc970a569f"},{"name":"next-export","duration":74474,"timestamp":153005119,"id":51,"parentId":1,"tags":{},"startTime":1772101324952,"traceId":"a98aa2bc970a569f"},{"name":"move-exported-app-global-error-","duration":444,"timestamp":153080594,"id":54,"parentId":50,"tags":{},"startTime":1772101325028,"traceId":"a98aa2bc970a569f"},{"name":"static-generation","duration":81172,"timestamp":153001364,"id":50,"parentId":1,"tags":{},"startTime":1772101324949,"traceId":"a98aa2bc970a569f"},{"name":"write-routes-manifest","duration":276,"timestamp":153082702,"id":55,"parentId":1,"tags":{},"startTime":1772101325030,"traceId":"a98aa2bc970a569f"},{"name":"write-standalone-directory","duration":258087,"timestamp":153092799,"id":57,"parentId":1,"tags":{},"startTime":1772101325040,"traceId":"a98aa2bc970a569f"},{"name":"output-standalone","duration":258221,"timestamp":153092680,"id":56,"parentId":1,"tags":{},"startTime":1772101325040,"traceId":"a98aa2bc970a569f"},{"name":"print-tree-view","duration":2090,"timestamp":153351031,"id":58,"parentId":1,"tags":{},"startTime":1772101325298,"traceId":"a98aa2bc970a569f"},{"name":"telemetry-flush","duration":72,"timestamp":153353131,"id":59,"parentId":1,"tags":{},"startTime":1772101325300,"traceId":"a98aa2bc970a569f"},{"name":"next-build","duration":17791107,"timestamp":135562108,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772101307509,"traceId":"a98aa2bc970a569f"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":9538412,"timestamp":69211523,"id":17,"parentId":1,"tags":{},"startTime":1772051493442,"traceId":"a8e233651c0a9963"},{"name":"run-typescript","duration":7219684,"timestamp":78757246,"id":19,"parentId":1,"tags":{},"startTime":1772051502988,"traceId":"a8e233651c0a9963"},{"name":"static-check","duration":405424,"timestamp":86050902,"id":22,"parentId":1,"tags":{},"startTime":1772051510282,"traceId":"a8e233651c0a9963"},{"name":"static-generation","duration":81170,"timestamp":86462159,"id":50,"parentId":1,"tags":{},"startTime":1772051510693,"traceId":"a8e233651c0a9963"},{"name":"output-standalone","duration":284322,"timestamp":86549221,"id":56,"parentId":1,"tags":{},"startTime":1772051510780,"traceId":"a8e233651c0a9963"},{"name":"telemetry-flush","duration":67,"timestamp":86835810,"id":59,"parentId":1,"tags":{},"startTime":1772051511066,"traceId":"a8e233651c0a9963"},{"name":"next-build","duration":17999588,"timestamp":68836302,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772051493067,"traceId":"a8e233651c0a9963"}]
1
+ [{"name":"run-turbopack","duration":9266185,"timestamp":135860138,"id":17,"parentId":1,"tags":{},"startTime":1772101307807,"traceId":"a98aa2bc970a569f"},{"name":"run-typescript","duration":7386352,"timestamp":145143113,"id":19,"parentId":1,"tags":{},"startTime":1772101317090,"traceId":"a98aa2bc970a569f"},{"name":"static-check","duration":400749,"timestamp":152596031,"id":22,"parentId":1,"tags":{},"startTime":1772101324543,"traceId":"a98aa2bc970a569f"},{"name":"static-generation","duration":81172,"timestamp":153001364,"id":50,"parentId":1,"tags":{},"startTime":1772101324949,"traceId":"a98aa2bc970a569f"},{"name":"output-standalone","duration":258221,"timestamp":153092680,"id":56,"parentId":1,"tags":{},"startTime":1772101325040,"traceId":"a98aa2bc970a569f"},{"name":"telemetry-flush","duration":72,"timestamp":153353131,"id":59,"parentId":1,"tags":{},"startTime":1772101325300,"traceId":"a98aa2bc970a569f"},{"name":"next-build","duration":17791107,"timestamp":135562108,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772101307509,"traceId":"a98aa2bc970a569f"}]
@@ -1,3 +0,0 @@
1
- module.exports=[15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},17300,88064,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>c],17300);let d=(0,b.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>d],88064)},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},13126,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873),e="horizontal",f=["horizontal","vertical"],g=c.forwardRef((a,c)=>{var g;let{decorative:h,orientation:i=e,...j}=a,k=(g=i,f.includes(g))?i:e;return(0,b.jsx)(d.Primitive.div,{"data-orientation":k,...h?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:c})});g.displayName="Separator",a.s(["Root",()=>g,"Separator",()=>g],1443);var h=a.i(1443),h=h,i=a.i(85536);function j({className:a,orientation:c="horizontal",decorative:d=!0,...e}){return(0,b.jsx)(h.Root,{"data-slot":"separator",decorative:d,orientation:c,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...e})}a.s(["Separator",()=>j],13126)},10568,a=>{"use strict";var b=a.i(89868);a.s(["XIcon",()=>b.default])},44338,a=>{"use strict";var b=a.i(10973),c=a.i(10568),d=a.i(71335),e=a.i(85536);function f({...a}){return(0,b.jsx)(d.Dialog.Root,{"data-slot":"sheet",...a})}function g({...a}){return(0,b.jsx)(d.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...c}){return(0,b.jsx)(d.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,e.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function i({className:a,children:f,side:i="right",showCloseButton:j=!0,...k}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(d.Dialog.Content,{"data-slot":"sheet-content",className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===i&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===i&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===i&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===i&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...k,children:[f,j?(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(c.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function j({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,e.cn)("flex flex-col gap-1.5 p-4",a),...c})}function k({className:a,...c}){return(0,b.jsx)(d.Dialog.Title,{"data-slot":"sheet-title",className:(0,e.cn)("text-foreground font-semibold",a),...c})}function l({className:a,...c}){return(0,b.jsx)(d.Dialog.Description,{"data-slot":"sheet-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...c})}a.s(["Sheet",()=>f,"SheetContent",()=>i,"SheetDescription",()=>l,"SheetHeader",()=>j,"SheetTitle",()=>k])},66560,a=>{"use strict";var b,c=a.i(10973),d=a.i(96960),e=a.i(55003),f=a.i(69845),g=a.i(25700);let h=(0,g.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var i=a.i(17300),j=a.i(67424),k=a.i(67837),l=a.i(59706);a.i(47938);var m=a.i(59503);a.i(69345);var n=a.i(46969);a.i(48822);var o=a.i(16911);a.i(4388);var p=a.i(27756);a.i(77466);var q=a.i(85637);a.i(34338);var r=a.i(54860),s=a.i(49474);let t={skills:"true"===(b=process.env.NEXT_PUBLIC_FLAG_SKILLS)||"1"===b};function u({features:a,onNewFeature:b,onFeatureClick:g,onFeaturesFolderClick:u,onFeaturesMenuClick:v}){let w=(0,f.usePathname)(),{state:x}=(0,e.useSidebar)(),{mounted:y,visible:z}=function(a,b){let[c,e]=(0,d.useState)(!a),[f,g]=(0,d.useState)(!a);return(0,d.useEffect)(()=>{if(!a){e(!0);let a=requestAnimationFrame(()=>g(!0));return()=>cancelAnimationFrame(a)}g(!1);let b=window.setTimeout(()=>e(!1),200);return()=>window.clearTimeout(b)},[a,200]),{mounted:c,visible:f}}("collapsed"===x,0),A=s.featureStatusOrder.map(b=>{let{label:c}=s.featureStatusConfig[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,c.jsxs)(e.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,c.jsx)(e.SidebarHeader,{children:(0,c.jsxs)(e.SidebarMenu,{children:[(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[y?(0,c.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",z?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!z,children:[(0,c.jsx)(o.ShepLogo,{className:"shrink-0",size:20}),(0,c.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,c.jsx)(n.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,c.jsx)(m.SidebarNavItem,{icon:h,label:"Control Center",href:"/",active:"/"===w}),(0,c.jsx)(m.SidebarNavItem,{icon:i.Wrench,label:"Tools",href:"/tools",active:"/tools"===w}),t.skills?(0,c.jsx)(m.SidebarNavItem,{icon:j.Puzzle,label:"Skills",href:"/skills",active:"/skills"===w}):null]})}),(0,c.jsx)(e.SidebarContent,{children:y?(0,c.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",z?"opacity-100":"opacity-0"].join(" "),children:[(0,c.jsx)(r.SidebarSectionHeader,{label:"Features",onFolderClick:u,onMenuClick:v}),(0,c.jsx)(l.ScrollArea,{children:A.map(({key:a,label:b,items:d})=>d.length>0?(0,c.jsx)(q.FeatureStatusGroup,{label:b,count:d.length,children:d.map(a=>(0,c.jsx)(p.FeatureListItem,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:g?()=>g(a.name):void 0},a.name))},a):null)})]}):null}),(0,c.jsx)(e.SidebarFooter,{children:(0,c.jsx)(e.SidebarMenu,{children:(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)(e.SidebarMenuButton,{onClick:b,tooltip:"New feature",children:[(0,c.jsx)(k.Plus,{}),(0,c.jsx)("span",{children:"New feature"})]})})})}),(0,c.jsx)(e.SidebarRail,{})]})}a.i(65079);var v=a.i(21080);a.i(20786);var w=a.i(22550);let x=(0,g.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),y=(0,g.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var z=a.i(18948),A=a.i(2103);function B(){let{enabled:a,toggle:b}=(0,A.useSoundEnabled)();return(0,c.jsxs)(z.Button,{variant:"ghost",size:"icon",onClick:b,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,c.jsx)(x,{className:"h-5 w-5"}):(0,c.jsx)(y,{className:"h-5 w-5"}),(0,c.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var C=a.i(84871),D=a.i(52313),E=a.i(46847),F=a.i(19884);let G={[E.NotificationSeverity.Success]:"success",[E.NotificationSeverity.Error]:"error",[E.NotificationSeverity.Warning]:"warning",[E.NotificationSeverity.Info]:"info"},H={[E.NotificationSeverity.Success]:"notification-success",[E.NotificationSeverity.Error]:"notification-error",[E.NotificationSeverity.Warning]:"notification-warning",[E.NotificationSeverity.Info]:"notification-info"};function I({children:a}){!function(){let{events:a}=(0,C.useAgentEventsContext)(),b=(0,F.useSoundAction)("notification-success"),c=(0,F.useSoundAction)("notification-error"),e=(0,F.useSoundAction)("notification-warning"),f=(0,F.useSoundAction)("notification-info"),g=(0,d.useMemo)(()=>({"notification-success":b,"notification-error":c,"notification-warning":e,"notification-info":f}),[b,c,e,f]),[h,i]=(0,d.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),j=(0,d.useRef)(0);(0,d.useEffect)(()=>{if(a.length<=j.current)return;let b=a.slice(j.current);for(let c of(j.current=a.length,b)){if(c.severity!==E.NotificationSeverity.Error&&c.severity!==E.NotificationSeverity.Warning&&c.severity!==E.NotificationSeverity.Success)continue;!function(a){let b=G[a.severity]??"info",c=a.eventType===E.NotificationEventType.WaitingApproval;D.toast[b](a.featureName,{description:a.message,...c&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:a.featureId}}))}}}})}(c),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${c.featureName}`,{body:c.message,icon:"/favicon-light.svg"});let a=H[c.severity];g[a]?.play()}},[a,g]),(0,d.useCallback)(async()=>{void 0===globalThis.Notification||i(await globalThis.Notification.requestPermission())},[])}();let b=(0,d.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),f=(0,d.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:a}}))},[]);return(0,c.jsxs)(e.SidebarProvider,{children:[(0,c.jsx)(u,{features:[],onNewFeature:b}),(0,c.jsx)(e.SidebarInset,{children:(0,c.jsxs)("div",{className:"relative h-full",children:[(0,c.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,c.jsx)(v.AddRepositoryButton,{onSelect:f}),(0,c.jsx)(B,{}),(0,c.jsx)(w.ThemeToggle,{})]}),(0,c.jsx)("main",{className:"h-full",children:a})]})})]})}function J({children:a}){return(0,c.jsx)(C.AgentEventsProvider,{children:(0,c.jsx)(I,{children:a})})}a.s(["AppShell",()=>J],66560)},58313,a=>{"use strict";var b=a.i(10973),c=a.i(52313);let d=({...a})=>(0,b.jsx)(c.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...a});a.s(["Toaster",()=>d])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__2395adc6._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/wrench.ts","../../../../../../../src/presentation/web/components/ui/input.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-separator%401.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Bre_339be71113696df74cf881e475ee3eb9/node_modules/%40radix-ui/react-separator/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/separator.tsx","../../../../../../../src/presentation/web/components/ui/sheet.tsx","../../../../../../../src/presentation/web/hooks/use-deferred-mount.ts","../../../../../../../src/presentation/web/lib/feature-flags.ts","../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx","../../../../../../../src/presentation/web/components/common/sound-toggle/sound-toggle.tsx","../../../../../../../src/presentation/web/hooks/use-notifications.ts","../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/house.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-off.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-2.ts","../../../../../../../src/presentation/web/components/ui/sonner.tsx"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon('loader-circle', __iconNode);\n\nexport default LoaderCircle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n key: '1ngwbx',\n },\n ],\n];\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wrench\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Wrench = createLucideIcon('wrench', __iconNode);\n\nexport default Wrench;\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","'use client';\n\nimport * as React from 'react';\nimport { XIcon } from 'lucide-react';\nimport { Dialog as SheetPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n showCloseButton?: boolean;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n ) : null}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","'use client';\n\nimport { useState, useEffect } from 'react';\n\n/**\n * Defers mount/unmount of content to allow opacity transitions.\n * When expanding: mounts immediately, then sets visible on next frame.\n * When collapsing: hides immediately, then unmounts after `ms` delay.\n */\nexport function useDeferredMount(isCollapsed: boolean, ms: number) {\n const [mounted, setMounted] = useState(!isCollapsed);\n const [visible, setVisible] = useState(!isCollapsed);\n\n useEffect(() => {\n if (!isCollapsed) {\n setMounted(true);\n // delay visibility by one frame so the element mounts at opacity-0 first\n const raf = requestAnimationFrame(() => setVisible(true));\n return () => cancelAnimationFrame(raf);\n }\n setVisible(false);\n const t = window.setTimeout(() => setMounted(false), ms);\n return () => window.clearTimeout(t);\n }, [isCollapsed, ms]);\n\n return { mounted, visible };\n}\n","/**\n * Feature flags for the web UI.\n *\n * Toggle via environment variables (NEXT_PUBLIC_ prefix for client access).\n * All flags default to **off** unless explicitly set to \"true\" or \"1\".\n */\n\nfunction isEnabled(envVar: string | undefined): boolean {\n return envVar === 'true' || envVar === '1';\n}\n\nexport const featureFlags = {\n skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),\n} as const;\n","'use client';\n\nimport { usePathname } from 'next/navigation';\nimport { Home, Wrench, Puzzle, Plus } from 'lucide-react';\nimport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarRail,\n useSidebar,\n} from '@/components/ui/sidebar';\nimport { ScrollArea } from '@/components/ui/scroll-area';\nimport { SidebarNavItem } from '@/components/common/sidebar-nav-item';\nimport { SidebarCollapseToggle } from '@/components/common/sidebar-collapse-toggle';\nimport { ShepLogo } from '@/components/common/shep-logo';\nimport { FeatureListItem } from '@/components/common/feature-list-item';\nimport { FeatureStatusGroup } from '@/components/common/feature-status-group';\nimport { SidebarSectionHeader } from '@/components/common/sidebar-section-header';\nimport { featureStatusConfig, featureStatusOrder } from '@/components/common/feature-status-config';\nimport type { FeatureStatus } from '@/components/common/feature-status-config';\nimport { useDeferredMount } from '@/hooks/use-deferred-mount';\nimport { featureFlags } from '@/lib/feature-flags';\n\ninterface FeatureItem {\n name: string;\n status: FeatureStatus;\n startedAt?: number;\n duration?: string;\n}\n\nexport interface AppSidebarProps {\n features: FeatureItem[];\n onNewFeature?: () => void;\n onFeatureClick?: (name: string) => void;\n onFeaturesFolderClick?: () => void;\n onFeaturesMenuClick?: () => void;\n}\n\nexport function AppSidebar({\n features,\n onNewFeature,\n onFeatureClick,\n onFeaturesFolderClick,\n onFeaturesMenuClick,\n}: AppSidebarProps) {\n const pathname = usePathname();\n const { state } = useSidebar();\n const collapsed = state === 'collapsed';\n const { mounted: showExpanded, visible: expandedVisible } = useDeferredMount(collapsed, 200);\n\n const grouped = featureStatusOrder.map((key) => {\n const { label } = featureStatusConfig[key];\n const items = features.filter((f) => f.status === key);\n return { key, label, items };\n });\n\n return (\n <Sidebar data-testid=\"app-sidebar\" collapsible=\"icon\">\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <div className=\"flex h-8 items-center group-data-[collapsible=icon]:justify-center\">\n {showExpanded ? (\n <div\n className={[\n 'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',\n 'transition-opacity duration-200 ease-out',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n aria-hidden={!expandedVisible}\n >\n <ShepLogo className=\"shrink-0\" size={20} />\n <span className=\"truncate text-sm font-semibold tracking-tight\">Shep</span>\n </div>\n ) : null}\n <SidebarCollapseToggle className=\"shrink-0 transition-all duration-200\" />\n </div>\n </SidebarMenuItem>\n\n <SidebarNavItem icon={Home} label=\"Control Center\" href=\"/\" active={pathname === '/'} />\n <SidebarNavItem\n icon={Wrench}\n label=\"Tools\"\n href=\"/tools\"\n active={pathname === '/tools'}\n />\n {featureFlags.skills ? (\n <SidebarNavItem\n icon={Puzzle}\n label=\"Skills\"\n href=\"/skills\"\n active={pathname === '/skills'}\n />\n ) : null}\n </SidebarMenu>\n </SidebarHeader>\n\n <SidebarContent>\n {showExpanded ? (\n <div\n className={[\n 'min-w-0 overflow-hidden transition-opacity duration-200 ease-out',\n '[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n >\n <SidebarSectionHeader\n label=\"Features\"\n onFolderClick={onFeaturesFolderClick}\n onMenuClick={onFeaturesMenuClick}\n />\n <ScrollArea>\n {grouped.map(({ key, label, items }) =>\n items.length > 0 ? (\n <FeatureStatusGroup key={key} label={label} count={items.length}>\n {items.map((feature) => (\n <FeatureListItem\n key={feature.name}\n name={feature.name}\n status={feature.status}\n startedAt={feature.startedAt}\n duration={feature.duration}\n onClick={onFeatureClick ? () => onFeatureClick(feature.name) : undefined}\n />\n ))}\n </FeatureStatusGroup>\n ) : null\n )}\n </ScrollArea>\n </div>\n ) : null}\n </SidebarContent>\n\n <SidebarFooter>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton onClick={onNewFeature} tooltip=\"New feature\">\n <Plus />\n <span>New feature</span>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n","'use client';\n\nimport { Volume2, VolumeOff } from 'lucide-react';\nimport { Button } from '@/components/ui/button';\nimport { useSoundEnabled } from '@/hooks/use-sound-enabled';\n\nexport function SoundToggle() {\n const { enabled, toggle } = useSoundEnabled();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={toggle}\n aria-label={enabled ? 'Mute sounds' : 'Unmute sounds'}\n >\n {enabled ? <Volume2 className=\"h-5 w-5\" /> : <VolumeOff className=\"h-5 w-5\" />}\n <span className=\"sr-only\">Toggle sound</span>\n </Button>\n );\n}\n","'use client';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { toast } from 'sonner';\nimport type { NotificationEvent } from '@shepai/core/domain/generated/output';\nimport { NotificationEventType, NotificationSeverity } from '@shepai/core/domain/generated/output';\nimport { useAgentEventsContext } from './agent-events-provider';\nimport { useSoundAction } from './use-sound-action';\nimport type { SoundAction } from './use-sound-action';\n\nexport interface UseNotificationsResult {\n requestBrowserPermission: () => Promise<void>;\n browserPermissionState: NotificationPermission;\n}\n\nconst SEVERITY_TO_TOAST: Record<NotificationSeverity, 'success' | 'error' | 'warning' | 'info'> = {\n [NotificationSeverity.Success]: 'success',\n [NotificationSeverity.Error]: 'error',\n [NotificationSeverity.Warning]: 'warning',\n [NotificationSeverity.Info]: 'info',\n};\n\nfunction dispatchToast(event: NotificationEvent): void {\n const method = SEVERITY_TO_TOAST[event.severity] ?? 'info';\n const isActionable = event.eventType === NotificationEventType.WaitingApproval;\n toast[method](event.featureName, {\n description: event.message,\n ...(isActionable && {\n action: {\n label: 'Review',\n onClick: () => {\n window.dispatchEvent(\n new CustomEvent('shep:select-feature', { detail: { featureId: event.featureId } })\n );\n },\n },\n }),\n });\n}\n\nfunction dispatchBrowserNotification(event: NotificationEvent): void {\n if (globalThis.Notification?.permission !== 'granted') {\n return;\n }\n new Notification(`Shep: ${event.featureName}`, {\n body: event.message,\n icon: '/favicon-light.svg',\n });\n}\n\nconst SEVERITY_TO_ACTION: Record<NotificationSeverity, SoundAction> = {\n [NotificationSeverity.Success]: 'notification-success',\n [NotificationSeverity.Error]: 'notification-error',\n [NotificationSeverity.Warning]: 'notification-warning',\n [NotificationSeverity.Info]: 'notification-info',\n};\n\nexport function useNotifications(): UseNotificationsResult {\n const { events } = useAgentEventsContext();\n\n const successSound = useSoundAction('notification-success');\n const errorSound = useSoundAction('notification-error');\n const warningSound = useSoundAction('notification-warning');\n const infoSound = useSoundAction('notification-info');\n\n const soundsByAction = useMemo<Record<string, { play: () => void }>>(\n () => ({\n 'notification-success': successSound,\n 'notification-error': errorSound,\n 'notification-warning': warningSound,\n 'notification-info': infoSound,\n }),\n [successSound, errorSound, warningSound, infoSound]\n );\n\n const [browserPermissionState, setBrowserPermissionState] = useState<NotificationPermission>(\n () => {\n if (typeof globalThis.Notification === 'undefined') return 'default';\n return globalThis.Notification.permission;\n }\n );\n\n // Track how many events from the array we've already processed.\n // Using the array index (instead of lastEvent) prevents React batching\n // from silently dropping events when multiple SSE messages arrive together.\n const processedCountRef = useRef(0);\n\n useEffect(() => {\n if (events.length <= processedCountRef.current) return;\n\n const newEvents = events.slice(processedCountRef.current);\n processedCountRef.current = events.length;\n\n for (const event of newEvents) {\n // Only notify for actionable events and completion celebrations\n if (\n event.severity !== NotificationSeverity.Error &&\n event.severity !== NotificationSeverity.Warning &&\n event.severity !== NotificationSeverity.Success\n ) {\n continue;\n }\n\n dispatchToast(event);\n dispatchBrowserNotification(event);\n\n const actionName = SEVERITY_TO_ACTION[event.severity];\n soundsByAction[actionName]?.play();\n }\n }, [events, soundsByAction]);\n\n const requestBrowserPermission = useCallback(async () => {\n if (typeof globalThis.Notification === 'undefined') return;\n const result = await globalThis.Notification.requestPermission();\n setBrowserPermissionState(result);\n }, []);\n\n return {\n requestBrowserPermission,\n browserPermissionState,\n };\n}\n","'use client';\n\nimport { useCallback, type ReactNode } from 'react';\nimport { SidebarProvider, SidebarInset } from '@/components/ui/sidebar';\nimport { AppSidebar } from '@/components/layouts/app-sidebar';\nimport { AddRepositoryButton } from '@/components/common/add-repository-node';\nimport { ThemeToggle } from '@/components/common/theme-toggle';\nimport { SoundToggle } from '@/components/common/sound-toggle';\nimport { AgentEventsProvider } from '@/hooks/agent-events-provider';\nimport { useNotifications } from '@/hooks/use-notifications';\n\ninterface AppShellProps {\n children: ReactNode;\n}\n\n/** Inner shell that consumes the agent-events context for notifications. */\nfunction AppShellInner({ children }: AppShellProps) {\n // Subscribe to agent lifecycle events and dispatch toast/browser notifications\n useNotifications();\n\n const handleNewFeature = useCallback(() => {\n window.dispatchEvent(new CustomEvent('shep:open-create-drawer'));\n }, []);\n\n const handleRepositorySelect = useCallback((path: string) => {\n window.dispatchEvent(new CustomEvent('shep:add-repository', { detail: { path } }));\n }, []);\n\n return (\n <SidebarProvider>\n <AppSidebar features={[]} onNewFeature={handleNewFeature} />\n <SidebarInset>\n <div className=\"relative h-full\">\n <div className=\"absolute top-3 right-3 z-50 flex gap-1\">\n <AddRepositoryButton onSelect={handleRepositorySelect} />\n <SoundToggle />\n <ThemeToggle />\n </div>\n <main className=\"h-full\">{children}</main>\n </div>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n\nexport function AppShell({ children }: AppShellProps) {\n return (\n <AgentEventsProvider>\n <AppShellInner>{children}</AppShellInner>\n </AgentEventsProvider>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8', key: '5wwlr5' }],\n [\n 'path',\n {\n d: 'M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n key: 'r6nss1',\n },\n ],\n];\n\n/**\n * @component @name House\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMjF2LThhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjgiIC8+CiAgPHBhdGggZD0iTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/house\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst House = createLucideIcon('house', __iconNode);\n\nexport default House;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M16 9a5 5 0 0 1 .95 2.293', key: '1fgyg8' }],\n ['path', { d: 'M19.364 5.636a9 9 0 0 1 1.889 9.96', key: 'l3zxae' }],\n ['path', { d: 'm2 2 20 20', key: '1ooewy' }],\n [\n 'path',\n {\n d: 'm7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11',\n key: '1gbwow',\n },\n ],\n ['path', { d: 'M9.828 4.172A.686.686 0 0 1 11 4.657v.686', key: 's2je0y' }],\n];\n\n/**\n * @component @name VolumeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgOWE1IDUgMCAwIDEgLjk1IDIuMjkzIiAvPgogIDxwYXRoIGQ9Ik0xOS4zNjQgNS42MzZhOSA5IDAgMCAxIDEuODg5IDkuOTYiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJtNyA3LS41ODcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4VjExIiAvPgogIDxwYXRoIGQ9Ik05LjgyOCA0LjE3MkEuNjg2LjY4NiAwIDAgMSAxMSA0LjY1N3YuNjg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/volume-off\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst VolumeOff = createLucideIcon('volume-off', __iconNode);\n\nexport default VolumeOff;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',\n key: 'uqj9uw',\n },\n ],\n ['path', { d: 'M16 9a5 5 0 0 1 0 6', key: '1q6k2b' }],\n ['path', { d: 'M19.364 18.364a9 9 0 0 0 0-12.728', key: 'ijwkga' }],\n];\n\n/**\n * @component @name Volume2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoiIC8+CiAgPHBhdGggZD0iTTE2IDlhNSA1IDAgMCAxIDAgNiIgLz4KICA8cGF0aCBkPSJNMTkuMzY0IDE4LjM2NGE5IDkgMCAwIDAgMC0xMi43MjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/volume-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Volume2 = createLucideIcon('volume-2', __iconNode);\n\nexport default Volume2;\n","'use client';\n\nimport { Toaster as Sonner } from 'sonner';\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n return (\n <Sonner\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n"],"names":["module","exports","require","vendored","HooksClientContext","ServerInsertedHtml","process","env","NEXT_RUNTIME","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","ReactJsxRuntime","React","ReactDOM","AppRouterContext","ReactServerDOMTurbopackClient"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,11,20,21,22]}
@@ -1,3 +0,0 @@
1
- module.exports=[43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},55721,(a,b,c)=>{"use strict";b.exports=a.r(18622)},10973,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactJsxRuntime},96960,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].React},55690,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactDOM},62485,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.AppRouterContext},21032,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored["react-ssr"].ReactServerDOMTurbopackClient},15108,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.HooksClientContext},71915,(a,b,c)=>{"use strict";b.exports=a.r(55721).vendored.contexts.ServerInsertedHtml},17300,88064,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>c],17300);let d=(0,b.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>d],88064)},52475,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"HandleISRError",{enumerable:!0,get:function(){return e}});let d=a.r(56704).workAsyncStorage;function e({error:a}){if(d){let b=d.getStore();if(b?.isStaticGeneration)throw a&&console.error(a),a}return null}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},43167,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return h}});let d=a.r(10973),e=a.r(52475),f={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},g={fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"},h=function({error:a}){let b=a?.digest;return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsx)("head",{}),(0,d.jsxs)("body",{children:[(0,d.jsx)(e.HandleISRError,{error:a}),(0,d.jsx)("div",{style:f,children:(0,d.jsxs)("div",{children:[(0,d.jsxs)("h2",{style:g,children:["Application error: a ",b?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",b?"server logs":"browser console"," for more information)."]}),b?(0,d.jsx)("p",{style:g,children:`Digest: ${b}`}):null]})})]})]})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},90920,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d])},13126,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873),e="horizontal",f=["horizontal","vertical"],g=c.forwardRef((a,c)=>{var g;let{decorative:h,orientation:i=e,...j}=a,k=(g=i,f.includes(g))?i:e;return(0,b.jsx)(d.Primitive.div,{"data-orientation":k,...h?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:c})});g.displayName="Separator",a.s(["Root",()=>g,"Separator",()=>g],1443);var h=a.i(1443),h=h,i=a.i(85536);function j({className:a,orientation:c="horizontal",decorative:d=!0,...e}){return(0,b.jsx)(h.Root,{"data-slot":"separator",decorative:d,orientation:c,className:(0,i.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...e})}a.s(["Separator",()=>j],13126)},10568,a=>{"use strict";var b=a.i(89868);a.s(["XIcon",()=>b.default])},44338,a=>{"use strict";var b=a.i(10973),c=a.i(10568),d=a.i(71335),e=a.i(85536);function f({...a}){return(0,b.jsx)(d.Dialog.Root,{"data-slot":"sheet",...a})}function g({...a}){return(0,b.jsx)(d.Dialog.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...c}){return(0,b.jsx)(d.Dialog.Overlay,{"data-slot":"sheet-overlay",className:(0,e.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function i({className:a,children:f,side:i="right",showCloseButton:j=!0,...k}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(d.Dialog.Content,{"data-slot":"sheet-content",className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===i&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===i&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===i&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===i&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...k,children:[f,j?(0,b.jsxs)(d.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(c.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function j({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,e.cn)("flex flex-col gap-1.5 p-4",a),...c})}function k({className:a,...c}){return(0,b.jsx)(d.Dialog.Title,{"data-slot":"sheet-title",className:(0,e.cn)("text-foreground font-semibold",a),...c})}function l({className:a,...c}){return(0,b.jsx)(d.Dialog.Description,{"data-slot":"sheet-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...c})}a.s(["Sheet",()=>f,"SheetContent",()=>i,"SheetDescription",()=>l,"SheetHeader",()=>j,"SheetTitle",()=>k])},66560,a=>{"use strict";var b,c=a.i(10973),d=a.i(96960),e=a.i(55003),f=a.i(69845),g=a.i(25700);let h=(0,g.default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);var i=a.i(17300),j=a.i(67424),k=a.i(67837),l=a.i(59706);a.i(47938);var m=a.i(59503);a.i(69345);var n=a.i(46969);a.i(48822);var o=a.i(16911);a.i(4388);var p=a.i(27756);a.i(77466);var q=a.i(85637);a.i(34338);var r=a.i(54860),s=a.i(49474);let t={skills:"true"===(b=process.env.NEXT_PUBLIC_FLAG_SKILLS)||"1"===b};function u({features:a,onNewFeature:b,onFeatureClick:g,onFeaturesFolderClick:u,onFeaturesMenuClick:v}){let w=(0,f.usePathname)(),{state:x}=(0,e.useSidebar)(),{mounted:y,visible:z}=function(a,b){let[c,e]=(0,d.useState)(!a),[f,g]=(0,d.useState)(!a);return(0,d.useEffect)(()=>{if(!a){e(!0);let a=requestAnimationFrame(()=>g(!0));return()=>cancelAnimationFrame(a)}g(!1);let b=window.setTimeout(()=>e(!1),200);return()=>window.clearTimeout(b)},[a,200]),{mounted:c,visible:f}}("collapsed"===x,0),A=s.featureStatusOrder.map(b=>{let{label:c}=s.featureStatusConfig[b],d=a.filter(a=>a.status===b);return{key:b,label:c,items:d}});return(0,c.jsxs)(e.Sidebar,{"data-testid":"app-sidebar",collapsible:"icon",children:[(0,c.jsx)(e.SidebarHeader,{children:(0,c.jsxs)(e.SidebarMenu,{children:[(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)("div",{className:"flex h-8 items-center group-data-[collapsible=icon]:justify-center",children:[y?(0,c.jsxs)("div",{className:["flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2 transition-opacity duration-200 ease-out",z?"opacity-100":"opacity-0"].join(" "),"aria-hidden":!z,children:[(0,c.jsx)(o.ShepLogo,{className:"shrink-0",size:20}),(0,c.jsx)("span",{className:"truncate text-sm font-semibold tracking-tight",children:"Shep"})]}):null,(0,c.jsx)(n.SidebarCollapseToggle,{className:"shrink-0 transition-all duration-200"})]})}),(0,c.jsx)(m.SidebarNavItem,{icon:h,label:"Control Center",href:"/",active:"/"===w}),(0,c.jsx)(m.SidebarNavItem,{icon:i.Wrench,label:"Tools",href:"/tools",active:"/tools"===w}),t.skills?(0,c.jsx)(m.SidebarNavItem,{icon:j.Puzzle,label:"Skills",href:"/skills",active:"/skills"===w}):null]})}),(0,c.jsx)(e.SidebarContent,{children:y?(0,c.jsxs)("div",{className:["min-w-0 overflow-hidden transition-opacity duration-200 ease-out [&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none",z?"opacity-100":"opacity-0"].join(" "),children:[(0,c.jsx)(r.SidebarSectionHeader,{label:"Features",onFolderClick:u,onMenuClick:v}),(0,c.jsx)(l.ScrollArea,{children:A.map(({key:a,label:b,items:d})=>d.length>0?(0,c.jsx)(q.FeatureStatusGroup,{label:b,count:d.length,children:d.map(a=>(0,c.jsx)(p.FeatureListItem,{name:a.name,status:a.status,startedAt:a.startedAt,duration:a.duration,onClick:g?()=>g(a.name):void 0},a.name))},a):null)})]}):null}),(0,c.jsx)(e.SidebarFooter,{children:(0,c.jsx)(e.SidebarMenu,{children:(0,c.jsx)(e.SidebarMenuItem,{children:(0,c.jsxs)(e.SidebarMenuButton,{onClick:b,tooltip:"New feature",children:[(0,c.jsx)(k.Plus,{}),(0,c.jsx)("span",{children:"New feature"})]})})})}),(0,c.jsx)(e.SidebarRail,{})]})}a.i(65079);var v=a.i(21080);a.i(20786);var w=a.i(22550);let x=(0,g.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),y=(0,g.default)("volume-off",[["path",{d:"M16 9a5 5 0 0 1 .95 2.293",key:"1fgyg8"}],["path",{d:"M19.364 5.636a9 9 0 0 1 1.889 9.96",key:"l3zxae"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"m7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11",key:"1gbwow"}],["path",{d:"M9.828 4.172A.686.686 0 0 1 11 4.657v.686",key:"s2je0y"}]]);var z=a.i(18948),A=a.i(2103);function B(){let{enabled:a,toggle:b}=(0,A.useSoundEnabled)();return(0,c.jsxs)(z.Button,{variant:"ghost",size:"icon",onClick:b,"aria-label":a?"Mute sounds":"Unmute sounds",children:[a?(0,c.jsx)(x,{className:"h-5 w-5"}):(0,c.jsx)(y,{className:"h-5 w-5"}),(0,c.jsx)("span",{className:"sr-only",children:"Toggle sound"})]})}var C=a.i(84871),D=a.i(52313),E=a.i(46847),F=a.i(19884);let G={[E.NotificationSeverity.Success]:"success",[E.NotificationSeverity.Error]:"error",[E.NotificationSeverity.Warning]:"warning",[E.NotificationSeverity.Info]:"info"},H={[E.NotificationSeverity.Success]:"notification-success",[E.NotificationSeverity.Error]:"notification-error",[E.NotificationSeverity.Warning]:"notification-warning",[E.NotificationSeverity.Info]:"notification-info"};function I({children:a}){!function(){let{events:a}=(0,C.useAgentEventsContext)(),b=(0,F.useSoundAction)("notification-success"),c=(0,F.useSoundAction)("notification-error"),e=(0,F.useSoundAction)("notification-warning"),f=(0,F.useSoundAction)("notification-info"),g=(0,d.useMemo)(()=>({"notification-success":b,"notification-error":c,"notification-warning":e,"notification-info":f}),[b,c,e,f]),[h,i]=(0,d.useState)(()=>void 0===globalThis.Notification?"default":globalThis.Notification.permission),j=(0,d.useRef)(0);(0,d.useEffect)(()=>{if(a.length<=j.current)return;let b=a.slice(j.current);for(let c of(j.current=a.length,b)){if(c.severity!==E.NotificationSeverity.Error&&c.severity!==E.NotificationSeverity.Warning&&c.severity!==E.NotificationSeverity.Success)continue;!function(a){let b=G[a.severity]??"info",c=a.eventType===E.NotificationEventType.WaitingApproval;D.toast[b](a.featureName,{description:a.message,...c&&{action:{label:"Review",onClick:()=>{window.dispatchEvent(new CustomEvent("shep:select-feature",{detail:{featureId:a.featureId}}))}}}})}(c),globalThis.Notification?.permission==="granted"&&new Notification(`Shep: ${c.featureName}`,{body:c.message,icon:"/favicon-light.svg"});let a=H[c.severity];g[a]?.play()}},[a,g]),(0,d.useCallback)(async()=>{void 0===globalThis.Notification||i(await globalThis.Notification.requestPermission())},[])}();let b=(0,d.useCallback)(()=>{window.dispatchEvent(new CustomEvent("shep:open-create-drawer"))},[]),f=(0,d.useCallback)(a=>{window.dispatchEvent(new CustomEvent("shep:add-repository",{detail:{path:a}}))},[]);return(0,c.jsxs)(e.SidebarProvider,{children:[(0,c.jsx)(u,{features:[],onNewFeature:b}),(0,c.jsx)(e.SidebarInset,{children:(0,c.jsxs)("div",{className:"relative h-full",children:[(0,c.jsxs)("div",{className:"absolute top-3 right-3 z-50 flex gap-1",children:[(0,c.jsx)(v.AddRepositoryButton,{onSelect:f}),(0,c.jsx)(B,{}),(0,c.jsx)(w.ThemeToggle,{})]}),(0,c.jsx)("main",{className:"h-full",children:a})]})})]})}function J({children:a}){return(0,c.jsx)(C.AgentEventsProvider,{children:(0,c.jsx)(I,{children:a})})}a.s(["AppShell",()=>J],66560)},58313,a=>{"use strict";var b=a.i(10973),c=a.i(52313);let d=({...a})=>(0,b.jsx)(c.Toaster,{className:"toaster group",toastOptions:{classNames:{toast:"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",description:"group-[.toast]:text-muted-foreground",actionButton:"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",cancelButton:"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground"}},...a});a.s(["Toaster",()=>d])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__87fda958._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-dom.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/app-router-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/hooks-client-context.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/server/route-modules/app-page/vendored/contexts/server-inserted-html.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/loader-circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/wrench.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/handle-isr-error.tsx","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/client/components/builtin/global-error.tsx","../../../../../../../src/presentation/web/components/ui/input.tsx","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-separator%401.1.7_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types%2Bre_339be71113696df74cf881e475ee3eb9/node_modules/%40radix-ui/react-separator/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/separator.tsx","../../../../../../../src/presentation/web/components/ui/sheet.tsx","../../../../../../../src/presentation/web/hooks/use-deferred-mount.ts","../../../../../../../src/presentation/web/lib/feature-flags.ts","../../../../../../../src/presentation/web/components/layouts/app-sidebar/app-sidebar.tsx","../../../../../../../src/presentation/web/components/common/sound-toggle/sound-toggle.tsx","../../../../../../../src/presentation/web/hooks/use-notifications.ts","../../../../../../../src/presentation/web/components/layouts/app-shell/app-shell.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/house.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-off.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/volume-2.ts","../../../../../../../src/presentation/web/components/ui/sonner.tsx"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.React\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactDOM\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].AppRouterContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-ssr']!.ReactServerDOMTurbopackClient\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HooksClientContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ServerInsertedHtml\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }]];\n\n/**\n * @component @name LoaderCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LoaderCircle = createLucideIcon('loader-circle', __iconNode);\n\nexport default LoaderCircle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n key: '1ngwbx',\n },\n ],\n];\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wrench\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Wrench = createLucideIcon('wrench', __iconNode);\n\nexport default Wrench;\n","const workAsyncStorage =\n typeof window === 'undefined'\n ? (\n require('../../server/app-render/work-async-storage.external') as typeof import('../../server/app-render/work-async-storage.external')\n ).workAsyncStorage\n : undefined\n\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nexport function HandleISRError({ error }: { error: any }) {\n if (workAsyncStorage) {\n const store = workAsyncStorage.getStore()\n if (store?.isStaticGeneration) {\n if (error) {\n console.error(error)\n }\n throw error\n }\n }\n\n return null\n}\n","'use client'\n\nimport { HandleISRError } from '../handle-isr-error'\n\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px',\n },\n} as const\n\nexport type GlobalErrorComponent = React.ComponentType<{\n error: any\n}>\nfunction DefaultGlobalError({ error }: { error: any }) {\n const digest: string | undefined = error?.digest\n return (\n <html id=\"__next_error__\">\n <head></head>\n <body>\n <HandleISRError error={error} />\n <div style={styles.error}>\n <div>\n <h2 style={styles.text}>\n Application error: a {digest ? 'server' : 'client'}-side exception\n has occurred while loading {window.location.hostname} (see the{' '}\n {digest ? 'server logs' : 'browser console'} for more\n information).\n </h2>\n {digest ? <p style={styles.text}>{`Digest: ${digest}`}</p> : null}\n </div>\n </div>\n </body>\n </html>\n )\n}\n\n// Exported so that the import signature in the loaders can be identical to user\n// supplied custom global error signatures.\nexport default DefaultGlobalError\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Separator\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = React.forwardRef((props, forwardedRef) => {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n});\nSeparator.displayName = NAME;\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","'use client';\n\nimport * as React from 'react';\nimport { XIcon } from 'lucide-react';\nimport { Dialog as SheetPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n showCloseButton?: boolean;\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton ? (\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n ) : null}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","'use client';\n\nimport { useState, useEffect } from 'react';\n\n/**\n * Defers mount/unmount of content to allow opacity transitions.\n * When expanding: mounts immediately, then sets visible on next frame.\n * When collapsing: hides immediately, then unmounts after `ms` delay.\n */\nexport function useDeferredMount(isCollapsed: boolean, ms: number) {\n const [mounted, setMounted] = useState(!isCollapsed);\n const [visible, setVisible] = useState(!isCollapsed);\n\n useEffect(() => {\n if (!isCollapsed) {\n setMounted(true);\n // delay visibility by one frame so the element mounts at opacity-0 first\n const raf = requestAnimationFrame(() => setVisible(true));\n return () => cancelAnimationFrame(raf);\n }\n setVisible(false);\n const t = window.setTimeout(() => setMounted(false), ms);\n return () => window.clearTimeout(t);\n }, [isCollapsed, ms]);\n\n return { mounted, visible };\n}\n","/**\n * Feature flags for the web UI.\n *\n * Toggle via environment variables (NEXT_PUBLIC_ prefix for client access).\n * All flags default to **off** unless explicitly set to \"true\" or \"1\".\n */\n\nfunction isEnabled(envVar: string | undefined): boolean {\n return envVar === 'true' || envVar === '1';\n}\n\nexport const featureFlags = {\n skills: isEnabled(process.env.NEXT_PUBLIC_FLAG_SKILLS),\n} as const;\n","'use client';\n\nimport { usePathname } from 'next/navigation';\nimport { Home, Wrench, Puzzle, Plus } from 'lucide-react';\nimport {\n Sidebar,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuButton,\n SidebarRail,\n useSidebar,\n} from '@/components/ui/sidebar';\nimport { ScrollArea } from '@/components/ui/scroll-area';\nimport { SidebarNavItem } from '@/components/common/sidebar-nav-item';\nimport { SidebarCollapseToggle } from '@/components/common/sidebar-collapse-toggle';\nimport { ShepLogo } from '@/components/common/shep-logo';\nimport { FeatureListItem } from '@/components/common/feature-list-item';\nimport { FeatureStatusGroup } from '@/components/common/feature-status-group';\nimport { SidebarSectionHeader } from '@/components/common/sidebar-section-header';\nimport { featureStatusConfig, featureStatusOrder } from '@/components/common/feature-status-config';\nimport type { FeatureStatus } from '@/components/common/feature-status-config';\nimport { useDeferredMount } from '@/hooks/use-deferred-mount';\nimport { featureFlags } from '@/lib/feature-flags';\n\ninterface FeatureItem {\n name: string;\n status: FeatureStatus;\n startedAt?: number;\n duration?: string;\n}\n\nexport interface AppSidebarProps {\n features: FeatureItem[];\n onNewFeature?: () => void;\n onFeatureClick?: (name: string) => void;\n onFeaturesFolderClick?: () => void;\n onFeaturesMenuClick?: () => void;\n}\n\nexport function AppSidebar({\n features,\n onNewFeature,\n onFeatureClick,\n onFeaturesFolderClick,\n onFeaturesMenuClick,\n}: AppSidebarProps) {\n const pathname = usePathname();\n const { state } = useSidebar();\n const collapsed = state === 'collapsed';\n const { mounted: showExpanded, visible: expandedVisible } = useDeferredMount(collapsed, 200);\n\n const grouped = featureStatusOrder.map((key) => {\n const { label } = featureStatusConfig[key];\n const items = features.filter((f) => f.status === key);\n return { key, label, items };\n });\n\n return (\n <Sidebar data-testid=\"app-sidebar\" collapsible=\"icon\">\n <SidebarHeader>\n <SidebarMenu>\n <SidebarMenuItem>\n <div className=\"flex h-8 items-center group-data-[collapsible=icon]:justify-center\">\n {showExpanded ? (\n <div\n className={[\n 'flex min-w-0 flex-1 items-center gap-2 overflow-hidden px-2',\n 'transition-opacity duration-200 ease-out',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n aria-hidden={!expandedVisible}\n >\n <ShepLogo className=\"shrink-0\" size={20} />\n <span className=\"truncate text-sm font-semibold tracking-tight\">Shep</span>\n </div>\n ) : null}\n <SidebarCollapseToggle className=\"shrink-0 transition-all duration-200\" />\n </div>\n </SidebarMenuItem>\n\n <SidebarNavItem icon={Home} label=\"Control Center\" href=\"/\" active={pathname === '/'} />\n <SidebarNavItem\n icon={Wrench}\n label=\"Tools\"\n href=\"/tools\"\n active={pathname === '/tools'}\n />\n {featureFlags.skills ? (\n <SidebarNavItem\n icon={Puzzle}\n label=\"Skills\"\n href=\"/skills\"\n active={pathname === '/skills'}\n />\n ) : null}\n </SidebarMenu>\n </SidebarHeader>\n\n <SidebarContent>\n {showExpanded ? (\n <div\n className={[\n 'min-w-0 overflow-hidden transition-opacity duration-200 ease-out',\n '[&_[data-sidebar=group-label]]:!mt-0 [&_[data-sidebar=group-label]]:!opacity-100 [&_[data-sidebar=group-label]]:!transition-none',\n expandedVisible ? 'opacity-100' : 'opacity-0',\n ].join(' ')}\n >\n <SidebarSectionHeader\n label=\"Features\"\n onFolderClick={onFeaturesFolderClick}\n onMenuClick={onFeaturesMenuClick}\n />\n <ScrollArea>\n {grouped.map(({ key, label, items }) =>\n items.length > 0 ? (\n <FeatureStatusGroup key={key} label={label} count={items.length}>\n {items.map((feature) => (\n <FeatureListItem\n key={feature.name}\n name={feature.name}\n status={feature.status}\n startedAt={feature.startedAt}\n duration={feature.duration}\n onClick={onFeatureClick ? () => onFeatureClick(feature.name) : undefined}\n />\n ))}\n </FeatureStatusGroup>\n ) : null\n )}\n </ScrollArea>\n </div>\n ) : null}\n </SidebarContent>\n\n <SidebarFooter>\n <SidebarMenu>\n <SidebarMenuItem>\n <SidebarMenuButton onClick={onNewFeature} tooltip=\"New feature\">\n <Plus />\n <span>New feature</span>\n </SidebarMenuButton>\n </SidebarMenuItem>\n </SidebarMenu>\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n","'use client';\n\nimport { Volume2, VolumeOff } from 'lucide-react';\nimport { Button } from '@/components/ui/button';\nimport { useSoundEnabled } from '@/hooks/use-sound-enabled';\n\nexport function SoundToggle() {\n const { enabled, toggle } = useSoundEnabled();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={toggle}\n aria-label={enabled ? 'Mute sounds' : 'Unmute sounds'}\n >\n {enabled ? <Volume2 className=\"h-5 w-5\" /> : <VolumeOff className=\"h-5 w-5\" />}\n <span className=\"sr-only\">Toggle sound</span>\n </Button>\n );\n}\n","'use client';\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { toast } from 'sonner';\nimport type { NotificationEvent } from '@shepai/core/domain/generated/output';\nimport { NotificationEventType, NotificationSeverity } from '@shepai/core/domain/generated/output';\nimport { useAgentEventsContext } from './agent-events-provider';\nimport { useSoundAction } from './use-sound-action';\nimport type { SoundAction } from './use-sound-action';\n\nexport interface UseNotificationsResult {\n requestBrowserPermission: () => Promise<void>;\n browserPermissionState: NotificationPermission;\n}\n\nconst SEVERITY_TO_TOAST: Record<NotificationSeverity, 'success' | 'error' | 'warning' | 'info'> = {\n [NotificationSeverity.Success]: 'success',\n [NotificationSeverity.Error]: 'error',\n [NotificationSeverity.Warning]: 'warning',\n [NotificationSeverity.Info]: 'info',\n};\n\nfunction dispatchToast(event: NotificationEvent): void {\n const method = SEVERITY_TO_TOAST[event.severity] ?? 'info';\n const isActionable = event.eventType === NotificationEventType.WaitingApproval;\n toast[method](event.featureName, {\n description: event.message,\n ...(isActionable && {\n action: {\n label: 'Review',\n onClick: () => {\n window.dispatchEvent(\n new CustomEvent('shep:select-feature', { detail: { featureId: event.featureId } })\n );\n },\n },\n }),\n });\n}\n\nfunction dispatchBrowserNotification(event: NotificationEvent): void {\n if (globalThis.Notification?.permission !== 'granted') {\n return;\n }\n new Notification(`Shep: ${event.featureName}`, {\n body: event.message,\n icon: '/favicon-light.svg',\n });\n}\n\nconst SEVERITY_TO_ACTION: Record<NotificationSeverity, SoundAction> = {\n [NotificationSeverity.Success]: 'notification-success',\n [NotificationSeverity.Error]: 'notification-error',\n [NotificationSeverity.Warning]: 'notification-warning',\n [NotificationSeverity.Info]: 'notification-info',\n};\n\nexport function useNotifications(): UseNotificationsResult {\n const { events } = useAgentEventsContext();\n\n const successSound = useSoundAction('notification-success');\n const errorSound = useSoundAction('notification-error');\n const warningSound = useSoundAction('notification-warning');\n const infoSound = useSoundAction('notification-info');\n\n const soundsByAction = useMemo<Record<string, { play: () => void }>>(\n () => ({\n 'notification-success': successSound,\n 'notification-error': errorSound,\n 'notification-warning': warningSound,\n 'notification-info': infoSound,\n }),\n [successSound, errorSound, warningSound, infoSound]\n );\n\n const [browserPermissionState, setBrowserPermissionState] = useState<NotificationPermission>(\n () => {\n if (typeof globalThis.Notification === 'undefined') return 'default';\n return globalThis.Notification.permission;\n }\n );\n\n // Track how many events from the array we've already processed.\n // Using the array index (instead of lastEvent) prevents React batching\n // from silently dropping events when multiple SSE messages arrive together.\n const processedCountRef = useRef(0);\n\n useEffect(() => {\n if (events.length <= processedCountRef.current) return;\n\n const newEvents = events.slice(processedCountRef.current);\n processedCountRef.current = events.length;\n\n for (const event of newEvents) {\n // Only notify for actionable events and completion celebrations\n if (\n event.severity !== NotificationSeverity.Error &&\n event.severity !== NotificationSeverity.Warning &&\n event.severity !== NotificationSeverity.Success\n ) {\n continue;\n }\n\n dispatchToast(event);\n dispatchBrowserNotification(event);\n\n const actionName = SEVERITY_TO_ACTION[event.severity];\n soundsByAction[actionName]?.play();\n }\n }, [events, soundsByAction]);\n\n const requestBrowserPermission = useCallback(async () => {\n if (typeof globalThis.Notification === 'undefined') return;\n const result = await globalThis.Notification.requestPermission();\n setBrowserPermissionState(result);\n }, []);\n\n return {\n requestBrowserPermission,\n browserPermissionState,\n };\n}\n","'use client';\n\nimport { useCallback, type ReactNode } from 'react';\nimport { SidebarProvider, SidebarInset } from '@/components/ui/sidebar';\nimport { AppSidebar } from '@/components/layouts/app-sidebar';\nimport { AddRepositoryButton } from '@/components/common/add-repository-node';\nimport { ThemeToggle } from '@/components/common/theme-toggle';\nimport { SoundToggle } from '@/components/common/sound-toggle';\nimport { AgentEventsProvider } from '@/hooks/agent-events-provider';\nimport { useNotifications } from '@/hooks/use-notifications';\n\ninterface AppShellProps {\n children: ReactNode;\n}\n\n/** Inner shell that consumes the agent-events context for notifications. */\nfunction AppShellInner({ children }: AppShellProps) {\n // Subscribe to agent lifecycle events and dispatch toast/browser notifications\n useNotifications();\n\n const handleNewFeature = useCallback(() => {\n window.dispatchEvent(new CustomEvent('shep:open-create-drawer'));\n }, []);\n\n const handleRepositorySelect = useCallback((path: string) => {\n window.dispatchEvent(new CustomEvent('shep:add-repository', { detail: { path } }));\n }, []);\n\n return (\n <SidebarProvider>\n <AppSidebar features={[]} onNewFeature={handleNewFeature} />\n <SidebarInset>\n <div className=\"relative h-full\">\n <div className=\"absolute top-3 right-3 z-50 flex gap-1\">\n <AddRepositoryButton onSelect={handleRepositorySelect} />\n <SoundToggle />\n <ThemeToggle />\n </div>\n <main className=\"h-full\">{children}</main>\n </div>\n </SidebarInset>\n </SidebarProvider>\n );\n}\n\nexport function AppShell({ children }: AppShellProps) {\n return (\n <AgentEventsProvider>\n <AppShellInner>{children}</AppShellInner>\n </AgentEventsProvider>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8', key: '5wwlr5' }],\n [\n 'path',\n {\n d: 'M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z',\n key: 'r6nss1',\n },\n ],\n];\n\n/**\n * @component @name House\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgMjF2LThhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjgiIC8+CiAgPHBhdGggZD0iTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/house\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst House = createLucideIcon('house', __iconNode);\n\nexport default House;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M16 9a5 5 0 0 1 .95 2.293', key: '1fgyg8' }],\n ['path', { d: 'M19.364 5.636a9 9 0 0 1 1.889 9.96', key: 'l3zxae' }],\n ['path', { d: 'm2 2 20 20', key: '1ooewy' }],\n [\n 'path',\n {\n d: 'm7 7-.587.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298V11',\n key: '1gbwow',\n },\n ],\n ['path', { d: 'M9.828 4.172A.686.686 0 0 1 11 4.657v.686', key: 's2je0y' }],\n];\n\n/**\n * @component @name VolumeOff\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgOWE1IDUgMCAwIDEgLjk1IDIuMjkzIiAvPgogIDxwYXRoIGQ9Ik0xOS4zNjQgNS42MzZhOSA5IDAgMCAxIDEuODg5IDkuOTYiIC8+CiAgPHBhdGggZD0ibTIgMiAyMCAyMCIgLz4KICA8cGF0aCBkPSJtNyA3LS41ODcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4VjExIiAvPgogIDxwYXRoIGQ9Ik05LjgyOCA0LjE3MkEuNjg2LjY4NiAwIDAgMSAxMSA0LjY1N3YuNjg2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/volume-off\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst VolumeOff = createLucideIcon('volume-off', __iconNode);\n\nexport default VolumeOff;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z',\n key: 'uqj9uw',\n },\n ],\n ['path', { d: 'M16 9a5 5 0 0 1 0 6', key: '1q6k2b' }],\n ['path', { d: 'M19.364 18.364a9 9 0 0 0 0-12.728', key: 'ijwkga' }],\n];\n\n/**\n * @component @name Volume2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoiIC8+CiAgPHBhdGggZD0iTTE2IDlhNSA1IDAgMCAxIDAgNiIgLz4KICA8cGF0aCBkPSJNMTkuMzY0IDE4LjM2NGE5IDkgMCAwIDAgMC0xMi43MjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/volume-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Volume2 = createLucideIcon('volume-2', __iconNode);\n\nexport default Volume2;\n","'use client';\n\nimport { Toaster as Sonner } from 'sonner';\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n return (\n <Sonner\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n description: 'group-[.toast]:text-muted-foreground',\n actionButton: 'group-[.toast]:bg-primary group-[.toast]:text-primary-foreground',\n cancelButton: 'group-[.toast]:bg-muted group-[.toast]:text-muted-foreground',\n },\n }}\n {...props}\n />\n );\n};\n\nexport { Toaster };\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactJsxRuntime","React","ReactDOM","AppRouterContext","ReactServerDOMTurbopackClient","HooksClientContext","ServerInsertedHtml","HandleISRError","workAsyncStorage","window","undefined","error","store","getStore","isStaticGeneration","console","styles","fontFamily","height","textAlign","display","flexDirection","alignItems","justifyContent","text","fontSize","fontWeight","lineHeight","margin","DefaultGlobalError","digest","html","id","head","body","div","style","h2","location","hostname","p"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,13,22,23,24]}
@@ -1,3 +0,0 @@
1
- module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},57764,(a,b,c)=>{b.exports=a.x("node:url",()=>require("node:url"))},56926,58428,a=>{"use strict";let b=(0,a.i(25700).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);a.s(["default",()=>b],58428),a.s(["CircleX",()=>b],56926)},63698,a=>{"use strict";let b=(0,a.i(25700).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],63698)},51969,a=>{"use strict";let b=(0,a.i(25700).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",()=>b])},71238,a=>{"use strict";let b=(0,a.i(25700).default)("external-link",[["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"}]]);a.s(["ExternalLink",()=>b],71238)},98410,a=>{"use strict";let b=(0,a.i(25700).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],98410)},72016,a=>{"use strict";var b=a.i(51969);a.s(["Check",()=>b.default])},2807,a=>{"use strict";var b=a.i(89868);a.s(["X",()=>b.default])},53170,a=>{"use strict";let b=(0,a.i(25700).default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);a.s(["GitBranch",()=>b],53170)},58339,a=>{"use strict";var b=a.i(10973),c=a.i(42261),d=a.i(85536);let e=(0,c.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function f({className:a,variant:c,...f}){return(0,b.jsx)("div",{className:(0,d.cn)(e({variant:c}),a),...f})}a.s(["Badge",()=>f])},38702,16223,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({icon:a,title:d,description:e,action:f,className:g,...h}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",g),...h,children:[a?(0,b.jsx)("div",{className:"text-muted-foreground",children:a}):null,(0,b.jsx)("h3",{className:"text-lg font-semibold",children:d}),e?(0,b.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:e}):null,f?(0,b.jsx)("div",{className:"mt-2",children:f}):null]})}a.s(["EmptyState",()=>d],16223),a.s([],38702)},3195,a=>{"use strict";let b=(0,a.i(25700).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",()=>b],3195)},55135,75550,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({title:a,description:d,children:e,className:f}){return(0,b.jsxs)("header",{className:(0,c.cn)("flex items-center justify-between gap-4",f),children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:a}),d?(0,b.jsx)("p",{className:"text-muted-foreground",children:d}):null]}),e?(0,b.jsx)("div",{"data-slot":"actions",children:e}):null]})}a.s(["PageHeader",()=>d],75550),a.s([],55135)}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__ee7cffe1._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle-x.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/copy.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/git-branch.ts","../../../../../../../src/presentation/web/components/ui/badge.tsx","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/components/common/page-header/page-header.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm15 9-6 6', key: '1uzhvr' }],\n ['path', { d: 'm9 9 6 6', key: 'z0biqf' }],\n];\n\n/**\n * @component @name CircleX\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtMTUgOS02IDYiIC8+CiAgPHBhdGggZD0ibTkgOSA2IDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/circle-x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleX = createLucideIcon('circle-x', __iconNode);\n\nexport default CircleX;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTloOCIgLz4KICA8cGF0aCBkPSJtNCAxNyA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTEwIDE0IDIxIDMiIC8+CiAgPHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n];\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon('copy', __iconNode);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['line', { x1: '6', x2: '6', y1: '3', y2: '15', key: '17qcm7' }],\n ['circle', { cx: '18', cy: '6', r: '3', key: '1h7g24' }],\n ['circle', { cx: '6', cy: '18', r: '3', key: 'fqmcym' }],\n ['path', { d: 'M18 9a9 9 0 0 1-9 9', key: 'n2h4wq' }],\n];\n\n/**\n * @component @name GitBranch\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iNiIgeDI9IjYiIHkxPSIzIiB5Mj0iMTUiIC8+CiAgPGNpcmNsZSBjeD0iMTgiIGN5PSI2IiByPSIzIiAvPgogIDxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIgLz4KICA8cGF0aCBkPSJNMTggOWE5IDkgMCAwIDEtOSA5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/git-branch\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst GitBranch = createLucideIcon('git-branch', __iconNode);\n\nexport default GitBranch;\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva(\n 'inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80',\n secondary:\n 'border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80',\n destructive:\n 'border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80',\n outline: 'text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","import { cn } from '@/lib/utils';\n\nexport interface PageHeaderProps {\n title: string;\n description?: string;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function PageHeader({ title, description, children, className }: PageHeaderProps) {\n return (\n <header className={cn('flex items-center justify-between gap-4', className)}>\n <div className=\"space-y-1\">\n <h1 className=\"text-2xl font-bold tracking-tight\">{title}</h1>\n {description ? <p className=\"text-muted-foreground\">{description}</p> : null}\n </div>\n {children ? <div data-slot=\"actions\">{children}</div> : null}\n </header>\n );\n}\n"],"names":[],"mappings":"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","ignoreList":[0,1,3,4,5,8]}
@@ -1,3 +0,0 @@
1
- module.exports=[67424,a=>{"use strict";let b=(0,a.i(25700).default)("puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);a.s(["Puzzle",()=>b],67424)},59706,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(66873),e=a.i(14272),f=a.i(7420),g=a.i(6175),h=a.i(79406),i=a.i(48939),j=a.i(61476),k=a.i(59653),l="ScrollArea",[m,n]=(0,f.createContextScope)(l),[o,p]=m(l),q=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,type:h="hover",dir:j,scrollHideDelay:k=600,...l}=a,[m,n]=c.useState(null),[p,q]=c.useState(null),[r,s]=c.useState(null),[t,u]=c.useState(null),[v,w]=c.useState(null),[x,y]=c.useState(0),[z,A]=c.useState(0),[B,C]=c.useState(!1),[D,E]=c.useState(!1),F=(0,g.useComposedRefs)(e,a=>n(a)),G=(0,i.useDirection)(j);return(0,b.jsx)(o,{scope:f,type:h,dir:G,scrollHideDelay:k,scrollArea:m,viewport:p,onViewportChange:q,content:r,onContentChange:s,scrollbarX:t,onScrollbarXChange:u,scrollbarXEnabled:B,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:w,scrollbarYEnabled:D,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:A,children:(0,b.jsx)(d.Primitive.div,{dir:G,...l,ref:F,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":z+"px",...a.style}})})});q.displayName=l;var r="ScrollAreaViewport",s=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,children:h,nonce:i,...j}=a,k=p(r,f),l=c.useRef(null),m=(0,g.useComposedRefs)(e,l,k.onViewportChange);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,b.jsx)(d.Primitive.div,{"data-radix-scroll-area-viewport":"",...j,ref:m,style:{overflowX:k.scrollbarXEnabled?"scroll":"hidden",overflowY:k.scrollbarYEnabled?"scroll":"hidden",...a.style},children:(0,b.jsx)("div",{ref:k.onContentChange,style:{minWidth:"100%",display:"table"},children:h})})]})});s.displayName=r;var t="ScrollAreaScrollbar",u=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=p(t,a.__scopeScrollArea),{onScrollbarXEnabledChange:h,onScrollbarYEnabledChange:i}=g,j="horizontal"===a.orientation;return c.useEffect(()=>(j?h(!0):i(!0),()=>{j?h(!1):i(!1)}),[j,h,i]),"hover"===g.type?(0,b.jsx)(v,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(w,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(x,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(y,{...f,ref:d}):null});u.displayName=t;var v=c.forwardRef((a,d)=>{let{forceMount:f,...g}=a,h=p(t,a.__scopeScrollArea),[i,j]=c.useState(!1);return c.useEffect(()=>{let a=h.scrollArea,b=0;if(a){let c=()=>{window.clearTimeout(b),j(!0)},d=()=>{b=window.setTimeout(()=>j(!1),h.scrollHideDelay)};return a.addEventListener("pointerenter",c),a.addEventListener("pointerleave",d),()=>{window.clearTimeout(b),a.removeEventListener("pointerenter",c),a.removeEventListener("pointerleave",d)}}},[h.scrollArea,h.scrollHideDelay]),(0,b.jsx)(e.Presence,{present:f||i,children:(0,b.jsx)(x,{"data-state":i?"visible":"hidden",...g,ref:d})})}),w=c.forwardRef((a,d)=>{var f;let{forceMount:g,...h}=a,i=p(t,a.__scopeScrollArea),j="horizontal"===a.orientation,l=Q(()=>n("SCROLL_END"),100),[m,n]=(f={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},c.useReducer((a,b)=>f[a][b]??a,"hidden"));return c.useEffect(()=>{if("idle"===m){let a=window.setTimeout(()=>n("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(a)}},[m,i.scrollHideDelay,n]),c.useEffect(()=>{let a=i.viewport,b=j?"scrollLeft":"scrollTop";if(a){let c=a[b],d=()=>{let d=a[b];c!==d&&(n("SCROLL"),l()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[i.viewport,j,n,l]),(0,b.jsx)(e.Presence,{present:g||"hidden"!==m,children:(0,b.jsx)(y,{"data-state":"hidden"===m?"hidden":"visible",...h,ref:d,onPointerEnter:(0,k.composeEventHandlers)(a.onPointerEnter,()=>n("POINTER_ENTER")),onPointerLeave:(0,k.composeEventHandlers)(a.onPointerLeave,()=>n("POINTER_LEAVE"))})})}),x=c.forwardRef((a,d)=>{let f=p(t,a.__scopeScrollArea),{forceMount:g,...h}=a,[i,j]=c.useState(!1),k="horizontal"===a.orientation,l=Q(()=>{if(f.viewport){let a=f.viewport.offsetWidth<f.viewport.scrollWidth,b=f.viewport.offsetHeight<f.viewport.scrollHeight;j(k?a:b)}},10);return R(f.viewport,l),R(f.content,l),(0,b.jsx)(e.Presence,{present:g||i,children:(0,b.jsx)(y,{"data-state":i?"visible":"hidden",...h,ref:d})})}),y=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=p(t,a.__scopeScrollArea),h=c.useRef(null),i=c.useRef(0),[j,k]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=L(j.viewport,j.content),m={...f,sizes:j,onSizesChange:k,hasThumb:!!(l>0&&l<1),onThumbChange:a=>h.current=a,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:a=>i.current=a};function n(a,b){return function(a,b,c,d="ltr"){let e=M(c),f=b||e/2,g=c.scrollbar.paddingStart+f,h=c.scrollbar.size-c.scrollbar.paddingEnd-(e-f),i=c.content-c.viewport;return O([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(z,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=N(g.viewport.scrollLeft,j,g.dir);h.current.style.transform=`translate3d(${a}px, 0, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollLeft=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollLeft=n(a,g.dir))}}):"vertical"===e?(0,b.jsx)(A,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=N(g.viewport.scrollTop,j);h.current.style.transform=`translate3d(0, ${a}px, 0)`}},onWheelScroll:a=>{g.viewport&&(g.viewport.scrollTop=a)},onDragScroll:a=>{g.viewport&&(g.viewport.scrollTop=n(a))}}):null}),z=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=p(t,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarXChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(D,{"data-orientation":"horizontal",...h,ref:m,sizes:e,style:{bottom:0,left:"rtl"===i.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===i.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":M(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.x),onDragScroll:b=>a.onDragScroll(b.x),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollLeft+b.deltaX;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollWidth,viewport:i.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:K(j.paddingLeft),paddingEnd:K(j.paddingRight)}})}})}),A=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=p(t,a.__scopeScrollArea),[j,k]=c.useState(),l=c.useRef(null),m=(0,g.useComposedRefs)(d,l,i.onScrollbarYChange);return c.useEffect(()=>{l.current&&k(getComputedStyle(l.current))},[l]),(0,b.jsx)(D,{"data-orientation":"vertical",...h,ref:m,sizes:e,style:{top:0,right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":M(e)+"px",...a.style},onThumbPointerDown:b=>a.onThumbPointerDown(b.y),onDragScroll:b=>a.onDragScroll(b.y),onWheelScroll:(b,c)=>{if(i.viewport){var d,e;let f=i.viewport.scrollTop+b.deltaY;a.onWheelScroll(f),d=f,e=c,d>0&&d<e&&b.preventDefault()}},onResize:()=>{l.current&&i.viewport&&j&&f({content:i.viewport.scrollHeight,viewport:i.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:K(j.paddingTop),paddingEnd:K(j.paddingBottom)}})}})}),[B,C]=m(t),D=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,sizes:i,hasThumb:j,onThumbChange:l,onThumbPointerUp:m,onThumbPointerDown:n,onThumbPositionChange:o,onDragScroll:q,onWheelScroll:r,onResize:s,...u}=a,v=p(t,f),[w,x]=c.useState(null),y=(0,g.useComposedRefs)(e,a=>x(a)),z=c.useRef(null),A=c.useRef(""),C=v.viewport,D=i.content-i.viewport,E=(0,h.useCallbackRef)(r),F=(0,h.useCallbackRef)(o),G=Q(s,10);function H(a){z.current&&q({x:a.clientX-z.current.left,y:a.clientY-z.current.top})}return c.useEffect(()=>{let a=a=>{let b=a.target;w?.contains(b)&&E(a,D)};return document.addEventListener("wheel",a,{passive:!1}),()=>document.removeEventListener("wheel",a,{passive:!1})},[C,w,D,E]),c.useEffect(F,[i,F]),R(w,G),R(v.content,G),(0,b.jsx)(B,{scope:f,scrollbar:w,hasThumb:j,onThumbChange:(0,h.useCallbackRef)(l),onThumbPointerUp:(0,h.useCallbackRef)(m),onThumbPositionChange:F,onThumbPointerDown:(0,h.useCallbackRef)(n),children:(0,b.jsx)(d.Primitive.div,{...u,ref:y,style:{position:"absolute",...u.style},onPointerDown:(0,k.composeEventHandlers)(a.onPointerDown,a=>{0===a.button&&(a.target.setPointerCapture(a.pointerId),z.current=w.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),H(a))}),onPointerMove:(0,k.composeEventHandlers)(a.onPointerMove,H),onPointerUp:(0,k.composeEventHandlers)(a.onPointerUp,a=>{let b=a.target;b.hasPointerCapture(a.pointerId)&&b.releasePointerCapture(a.pointerId),document.body.style.webkitUserSelect=A.current,v.viewport&&(v.viewport.style.scrollBehavior=""),z.current=null})})})}),E="ScrollAreaThumb",F=c.forwardRef((a,c)=>{let{forceMount:d,...f}=a,g=C(E,a.__scopeScrollArea);return(0,b.jsx)(e.Presence,{present:d||g.hasThumb,children:(0,b.jsx)(G,{ref:c,...f})})}),G=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,style:h,...i}=a,j=p(E,f),l=C(E,f),{onThumbPositionChange:m}=l,n=(0,g.useComposedRefs)(e,a=>l.onThumbChange(a)),o=c.useRef(void 0),q=Q(()=>{o.current&&(o.current(),o.current=void 0)},100);return c.useEffect(()=>{let a=j.viewport;if(a){let b=()=>{q(),o.current||(o.current=P(a,m),m())};return m(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[j.viewport,q,m]),(0,b.jsx)(d.Primitive.div,{"data-state":l.hasThumb?"visible":"hidden",...i,ref:n,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...h},onPointerDownCapture:(0,k.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;l.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,k.composeEventHandlers)(a.onPointerUp,l.onThumbPointerUp)})});F.displayName=E;var H="ScrollAreaCorner",I=c.forwardRef((a,c)=>{let d=p(H,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(J,{...a,ref:c}):null});I.displayName=H;var J=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,...g}=a,h=p(H,f),[i,j]=c.useState(0),[k,l]=c.useState(0),m=!!(i&&k);return R(h.scrollbarX,()=>{let a=h.scrollbarX?.offsetHeight||0;h.onCornerHeightChange(a),l(a)}),R(h.scrollbarY,()=>{let a=h.scrollbarY?.offsetWidth||0;h.onCornerWidthChange(a),j(a)}),m?(0,b.jsx)(d.Primitive.div,{...g,ref:e,style:{width:i,height:k,position:"absolute",right:"ltr"===h.dir?0:void 0,left:"rtl"===h.dir?0:void 0,bottom:0,...a.style}}):null});function K(a){return a?parseInt(a,10):0}function L(a,b){let c=a/b;return isNaN(c)?0:c}function M(a){let b=L(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function N(a,b,c="ltr"){let d=M(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=function(a,[b,c]){return Math.min(c,Math.max(b,a))}(a,"ltr"===c?[0,g]:[-1*g,0]);return O([0,g],[0,f-d])(h)}function O(a,b){return c=>{if(a[0]===a[1]||b[0]===b[1])return b[0];let d=(b[1]-b[0])/(a[1]-a[0]);return b[0]+d*(c-a[0])}}var P=(a,b=()=>{})=>{let c={left:a.scrollLeft,top:a.scrollTop},d=0;return!function e(){let f={left:a.scrollLeft,top:a.scrollTop},g=c.left!==f.left,h=c.top!==f.top;(g||h)&&b(),c=f,d=window.requestAnimationFrame(e)}(),()=>window.cancelAnimationFrame(d)};function Q(a,b){let d=(0,h.useCallbackRef)(a),e=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(e.current),[]),c.useCallback(()=>{window.clearTimeout(e.current),e.current=window.setTimeout(d,b)},[d,b])}function R(a,b){let c=(0,h.useCallbackRef)(b);(0,j.useLayoutEffect)(()=>{let b=0;if(a){let d=new ResizeObserver(()=>{cancelAnimationFrame(b),b=window.requestAnimationFrame(c)});return d.observe(a),()=>{window.cancelAnimationFrame(b),d.unobserve(a)}}},[a,c])}a.s(["Corner",()=>I,"Root",()=>q,"ScrollArea",()=>q,"ScrollAreaCorner",()=>I,"ScrollAreaScrollbar",()=>u,"ScrollAreaThumb",()=>F,"ScrollAreaViewport",()=>s,"Scrollbar",()=>u,"Thumb",()=>F,"Viewport",()=>s,"createScrollAreaScope",()=>n],73942);var S=a.i(73942),S=S,T=a.i(85536);function U({className:a,children:c,...d}){return(0,b.jsxs)(S.Root,{"data-slot":"scroll-area",className:(0,T.cn)("relative",a),...d,children:[(0,b.jsx)(S.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:c}),(0,b.jsx)(V,{}),(0,b.jsx)(S.Corner,{})]})}function V({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(S.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,T.cn)("flex touch-none p-px transition-colors select-none","vertical"===c&&"h-full w-2.5 border-l border-l-transparent","horizontal"===c&&"h-2.5 flex-col border-t border-t-transparent",a),...d,children:(0,b.jsx)(S.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.s(["ScrollArea",()=>U],59706)}];
2
-
3
- //# sourceMappingURL=_9915d2a7._.js.map