@shepai/cli 1.136.0-pr440.bb6800a → 1.136.0-pr443.863a0ce

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 (294) hide show
  1. package/apis/json-schema/Feature.yaml +0 -3
  2. package/apis/json-schema/SdlcLifecycle.yaml +0 -1
  3. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +0 -2
  4. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/domain/generated/output.d.ts +1 -6
  6. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  7. package/dist/packages/core/src/domain/generated/output.js +0 -1
  8. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/di/container.js +0 -10
  10. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +0 -1
  11. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  12. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +0 -6
  13. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  14. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +2 -7
  15. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  16. package/dist/src/presentation/cli/commands/feat/index.js +1 -5
  17. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  18. package/dist/src/presentation/cli/commands/feat/ls.command.js +0 -5
  19. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  20. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +1 -6
  21. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  22. package/dist/src/presentation/web/app/api/agent-events/route.js +0 -1
  23. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  24. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -6
  25. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -3
  26. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  27. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +1 -11
  28. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  29. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +2 -16
  30. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +0 -5
  31. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  32. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +1 -75
  33. package/dist/src/presentation/web/components/common/merge-review/diff-view.d.ts +3 -0
  34. package/dist/src/presentation/web/components/common/merge-review/diff-view.d.ts.map +1 -1
  35. package/dist/src/presentation/web/components/common/merge-review/diff-view.js +100 -17
  36. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts +3 -1
  37. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.d.ts.map +1 -1
  38. package/dist/src/presentation/web/components/common/merge-review/diff-view.stories.js +31 -1
  39. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  40. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +4 -13
  41. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +0 -6
  42. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +0 -70
  44. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +0 -6
  45. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  46. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -43
  47. package/dist/src/presentation/web/components/ui/file-tree.d.ts +39 -0
  48. package/dist/src/presentation/web/components/ui/file-tree.d.ts.map +1 -0
  49. package/dist/src/presentation/web/components/ui/file-tree.js +194 -0
  50. package/dist/src/presentation/web/components/ui/file-tree.stories.d.ts +14 -0
  51. package/dist/src/presentation/web/components/ui/file-tree.stories.d.ts.map +1 -0
  52. package/dist/src/presentation/web/components/ui/file-tree.stories.js +92 -0
  53. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  54. package/dist/src/presentation/web/hooks/sidebar-features-context.js +0 -1
  55. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +1 -1
  56. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  57. package/dist/src/presentation/web/hooks/use-graph-state.js +2 -17
  58. package/dist/src/presentation/web/lib/derive-graph.d.ts +0 -4
  59. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
  60. package/dist/src/presentation/web/lib/derive-graph.js +0 -12
  61. package/dist/tsconfig.build.tsbuildinfo +1 -1
  62. package/package.json +1 -1
  63. package/web/.next/BUILD_ID +1 -1
  64. package/web/.next/build-manifest.json +2 -2
  65. package/web/.next/fallback-build-manifest.json +2 -2
  66. package/web/.next/prerender-manifest.json +3 -3
  67. package/web/.next/required-server-files.js +1 -1
  68. package/web/.next/required-server-files.json +1 -1
  69. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +50 -80
  70. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
  71. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  72. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +50 -80
  74. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
  75. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  76. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  77. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +62 -92
  78. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  79. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  80. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  81. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +62 -92
  82. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  83. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  84. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  85. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +46 -76
  86. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
  87. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  88. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  89. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +50 -80
  90. package/web/.next/server/app/(dashboard)/create/page.js +2 -2
  91. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  92. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  93. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +62 -92
  94. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  95. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  96. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  97. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +62 -92
  98. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  99. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  100. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  101. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +46 -76
  102. package/web/.next/server/app/(dashboard)/page.js +2 -2
  103. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  104. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  105. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +46 -76
  106. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
  107. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  108. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  109. package/web/.next/server/app/_global-error.html +2 -2
  110. package/web/.next/server/app/_global-error.rsc +1 -1
  111. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  112. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  113. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  114. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  115. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  116. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
  117. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  118. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  119. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  120. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  121. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  122. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  123. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  124. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
  126. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  127. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
  129. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  130. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  131. package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
  132. package/web/.next/server/app/version/page.js.nft.json +1 -1
  133. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  135. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  136. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  137. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  138. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  139. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +1 -1
  140. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
  141. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  142. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  143. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js +3 -0
  144. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b49d9c97.js.map +1 -0
  145. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  146. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  147. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js +3 -0
  148. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_28632197.js.map +1 -0
  149. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js +3 -0
  150. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_10695d37.js.map +1 -0
  151. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  152. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
  153. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
  154. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js +3 -0
  156. package/web/.next/server/chunks/ssr/[root-of-the-server]__47ded061._.js.map +1 -0
  157. package/web/.next/server/chunks/ssr/[root-of-the-server]__6882232d._.js +3 -0
  158. package/web/.next/server/chunks/ssr/[root-of-the-server]__6882232d._.js.map +1 -0
  159. package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js +3 -0
  160. package/web/.next/server/chunks/ssr/[root-of-the-server]__68ce373c._.js.map +1 -0
  161. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js +1 -1
  162. package/web/.next/server/chunks/ssr/[root-of-the-server]__6ec59045._.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js +3 -0
  164. package/web/.next/server/chunks/ssr/[root-of-the-server]__718766da._.js.map +1 -0
  165. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
  166. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js +2 -2
  168. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5f9c6e5._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  170. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  171. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js +1 -1
  172. package/web/.next/server/chunks/ssr/[root-of-the-server]__b3dbadca._.js.map +1 -1
  173. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js +3 -0
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdd058b2._.js.map +1 -0
  175. package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
  176. package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/_2d94bed7._.js +4 -0
  178. package/web/.next/server/chunks/ssr/_2d94bed7._.js.map +1 -0
  179. package/web/.next/server/chunks/ssr/_67104d9e._.js +1 -1
  180. package/web/.next/server/chunks/ssr/_67104d9e._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
  182. package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
  183. package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
  184. package/web/.next/server/chunks/ssr/_a9f57758._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  186. package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
  187. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
  188. package/web/.next/server/chunks/ssr/_e69a26ba._.js +4 -0
  189. package/web/.next/server/chunks/ssr/_e69a26ba._.js.map +1 -0
  190. package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
  191. package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
  192. package/web/.next/server/chunks/ssr/_fefe070a._.js +3 -0
  193. package/web/.next/server/chunks/ssr/{_913fb649._.js.map → _fefe070a._.js.map} +1 -1
  194. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  195. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  196. package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js +5 -0
  197. package/web/.next/server/chunks/ssr/src_presentation_web_53666118._.js.map +1 -0
  198. package/web/.next/server/chunks/ssr/{src_presentation_web_97dc2fb0._.js → src_presentation_web_8213e5ea._.js} +2 -2
  199. package/web/.next/server/chunks/ssr/{src_presentation_web_97dc2fb0._.js.map → src_presentation_web_8213e5ea._.js.map} +1 -1
  200. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js +3 -0
  201. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_d95e128d.js.map +1 -0
  202. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
  203. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
  204. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
  205. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
  206. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  207. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  208. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  209. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  210. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  211. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  212. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js +3 -0
  213. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js.map +1 -0
  214. package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js +5 -0
  215. package/web/.next/server/chunks/ssr/src_presentation_web_e4df6dd7._.js.map +1 -0
  216. package/web/.next/server/pages/500.html +2 -2
  217. package/web/.next/server/server-reference-manifest.js +1 -1
  218. package/web/.next/server/server-reference-manifest.json +307 -463
  219. package/web/.next/static/chunks/{cd14232b3d8f5052.js → 13cb84d179d5b4ec.js} +1 -1
  220. package/web/.next/static/chunks/{3a7ff215d6a2c489.js → 15ac82422c6ff481.js} +2 -2
  221. package/web/.next/static/chunks/2a6fc81b4d79edd5.js +1 -0
  222. package/web/.next/static/chunks/{4b3e7454c2b07877.js → 311e3e6daae41529.js} +1 -1
  223. package/web/.next/static/chunks/4942206ecc6050b3.js +1 -0
  224. package/web/.next/static/chunks/66e554b3fb85d07b.js +1 -0
  225. package/web/.next/static/chunks/{dd8f2197640aea64.js → 6ce910f8eca9c744.js} +1 -1
  226. package/web/.next/static/chunks/72813fbc89b39798.js +1 -0
  227. package/web/.next/static/chunks/72fb66a9a892b323.js +1 -0
  228. package/web/.next/static/chunks/76fe6d79d9531082.js +1 -0
  229. package/web/.next/static/chunks/8445a8933ec13b8f.css +1 -0
  230. package/web/.next/static/chunks/9403c53377b1bfee.js +1 -0
  231. package/web/.next/static/chunks/{791e64500a080d4f.js → c2e2ff7e444af0fb.js} +1 -1
  232. package/web/.next/static/chunks/d7cf75b9d218a74a.js +1 -0
  233. package/web/.next/static/chunks/e49b53761421e978.js +2 -0
  234. package/web/.next/static/chunks/{fc442d957b35bd5e.js → ef02305e9eeeae2d.js} +1 -1
  235. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts +0 -20
  236. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts.map +0 -1
  237. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.js +0 -74
  238. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts +0 -20
  239. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts.map +0 -1
  240. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.js +0 -65
  241. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts +0 -12
  242. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts.map +0 -1
  243. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.js +0 -16
  244. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +0 -18
  245. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +0 -1
  246. package/dist/src/presentation/cli/commands/feat/archive.command.js +0 -54
  247. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +0 -17
  248. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +0 -1
  249. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +0 -42
  250. package/dist/src/presentation/web/app/actions/archive-feature.d.ts +0 -6
  251. package/dist/src/presentation/web/app/actions/archive-feature.d.ts.map +0 -1
  252. package/dist/src/presentation/web/app/actions/archive-feature.js +0 -16
  253. package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts +0 -6
  254. package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts.map +0 -1
  255. package/dist/src/presentation/web/app/actions/unarchive-feature.js +0 -16
  256. package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js +0 -4
  257. package/web/.next/server/chunks/ssr/[root-of-the-server]__61564698._.js.map +0 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js +0 -4
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__74ab160c._.js.map +0 -1
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js +0 -4
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd16cded._.js.map +0 -1
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js +0 -4
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__f14fffe1._.js.map +0 -1
  266. package/web/.next/server/chunks/ssr/_2fdfd9ab._.js +0 -4
  267. package/web/.next/server/chunks/ssr/_2fdfd9ab._.js.map +0 -1
  268. package/web/.next/server/chunks/ssr/_36059d08._.js +0 -4
  269. package/web/.next/server/chunks/ssr/_36059d08._.js.map +0 -1
  270. package/web/.next/server/chunks/ssr/_65f6e0e0._.js +0 -6
  271. package/web/.next/server/chunks/ssr/_65f6e0e0._.js.map +0 -1
  272. package/web/.next/server/chunks/ssr/_913fb649._.js +0 -3
  273. package/web/.next/server/chunks/ssr/_a51673dd._.js +0 -4
  274. package/web/.next/server/chunks/ssr/_a51673dd._.js.map +0 -1
  275. package/web/.next/server/chunks/ssr/_ae587066._.js +0 -4
  276. package/web/.next/server/chunks/ssr/_ae587066._.js.map +0 -1
  277. package/web/.next/server/chunks/ssr/_d162e30d._.js +0 -4
  278. package/web/.next/server/chunks/ssr/_d162e30d._.js.map +0 -1
  279. package/web/.next/server/chunks/ssr/_d763f022._.js +0 -6
  280. package/web/.next/server/chunks/ssr/_d763f022._.js.map +0 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -3
  282. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
  283. package/web/.next/static/chunks/2d6eb4409cc6324d.js +0 -1
  284. package/web/.next/static/chunks/688971d5bad5dc7c.js +0 -1
  285. package/web/.next/static/chunks/79c9871d46b22bf8.css +0 -1
  286. package/web/.next/static/chunks/7ee0606f698b032c.js +0 -1
  287. package/web/.next/static/chunks/87640f53f3bff3a6.js +0 -1
  288. package/web/.next/static/chunks/bb5bd1b5aafc70cd.js +0 -1
  289. package/web/.next/static/chunks/bf0a401666f990e2.js +0 -1
  290. package/web/.next/static/chunks/c4c3fcf18262b386.js +0 -2
  291. package/web/.next/static/chunks/d0dff217a94d4ee1.js +0 -1
  292. /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → 6xm4SoE6w_Z_XqNQlMkvd}/_buildManifest.js +0 -0
  293. /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → 6xm4SoE6w_Z_XqNQlMkvd}/_clientMiddlewareManifest.json +0 -0
  294. /package/web/.next/static/{JaRBeVSDLWZLQIl_k7ChK → 6xm4SoE6w_Z_XqNQlMkvd}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[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(48972),l=a.i(59653),m="ScrollArea",[n,o]=(0,f.createContextScope)(m),[p,q]=n(m),r=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,type:h="hover",dir:j,scrollHideDelay:k=600,...l}=a,[m,n]=c.useState(null),[o,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)(p,{scope:f,type:h,dir:G,scrollHideDelay:k,scrollArea:m,viewport:o,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}})})});r.displayName=m;var s="ScrollAreaViewport",t=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,children:h,nonce:i,...j}=a,k=q(s,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})})]})});t.displayName=s;var u="ScrollAreaScrollbar",v=c.forwardRef((a,d)=>{let{forceMount:e,...f}=a,g=q(u,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)(w,{...f,ref:d,forceMount:e}):"scroll"===g.type?(0,b.jsx)(x,{...f,ref:d,forceMount:e}):"auto"===g.type?(0,b.jsx)(y,{...f,ref:d,forceMount:e}):"always"===g.type?(0,b.jsx)(z,{...f,ref:d}):null});v.displayName=u;var w=c.forwardRef((a,d)=>{let{forceMount:f,...g}=a,h=q(u,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)(y,{"data-state":i?"visible":"hidden",...g,ref:d})})}),x=c.forwardRef((a,d)=>{var f;let{forceMount:g,...h}=a,i=q(u,a.__scopeScrollArea),j="horizontal"===a.orientation,k=R(()=>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"),k()),c=d};return a.addEventListener("scroll",d),()=>a.removeEventListener("scroll",d)}},[i.viewport,j,n,k]),(0,b.jsx)(e.Presence,{present:g||"hidden"!==m,children:(0,b.jsx)(z,{"data-state":"hidden"===m?"hidden":"visible",...h,ref:d,onPointerEnter:(0,l.composeEventHandlers)(a.onPointerEnter,()=>n("POINTER_ENTER")),onPointerLeave:(0,l.composeEventHandlers)(a.onPointerLeave,()=>n("POINTER_LEAVE"))})})}),y=c.forwardRef((a,d)=>{let f=q(u,a.__scopeScrollArea),{forceMount:g,...h}=a,[i,j]=c.useState(!1),k="horizontal"===a.orientation,l=R(()=>{if(f.viewport){let a=f.viewport.offsetWidth<f.viewport.scrollWidth,b=f.viewport.offsetHeight<f.viewport.scrollHeight;j(k?a:b)}},10);return S(f.viewport,l),S(f.content,l),(0,b.jsx)(e.Presence,{present:g||i,children:(0,b.jsx)(z,{"data-state":i?"visible":"hidden",...h,ref:d})})}),z=c.forwardRef((a,d)=>{let{orientation:e="vertical",...f}=a,g=q(u,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=M(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=N(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 P([g,h],"ltr"===d?[0,i]:[-1*i,0])(a)}(a,i.current,j,b)}return"horizontal"===e?(0,b.jsx)(A,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=O(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)(B,{...m,ref:d,onThumbPositionChange:()=>{if(g.viewport&&h.current){let a=O(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}),A=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=q(u,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)(E,{"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":N(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:L(j.paddingLeft),paddingEnd:L(j.paddingRight)}})}})}),B=c.forwardRef((a,d)=>{let{sizes:e,onSizesChange:f,...h}=a,i=q(u,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)(E,{"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":N(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:L(j.paddingTop),paddingEnd:L(j.paddingBottom)}})}})}),[C,D]=n(u),E=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,sizes:i,hasThumb:j,onThumbChange:k,onThumbPointerUp:m,onThumbPointerDown:n,onThumbPositionChange:o,onDragScroll:p,onWheelScroll:r,onResize:s,...t}=a,v=q(u,f),[w,x]=c.useState(null),y=(0,g.useComposedRefs)(e,a=>x(a)),z=c.useRef(null),A=c.useRef(""),B=v.viewport,D=i.content-i.viewport,E=(0,h.useCallbackRef)(r),F=(0,h.useCallbackRef)(o),G=R(s,10);function H(a){z.current&&p({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})},[B,w,D,E]),c.useEffect(F,[i,F]),S(w,G),S(v.content,G),(0,b.jsx)(C,{scope:f,scrollbar:w,hasThumb:j,onThumbChange:(0,h.useCallbackRef)(k),onThumbPointerUp:(0,h.useCallbackRef)(m),onThumbPositionChange:F,onThumbPointerDown:(0,h.useCallbackRef)(n),children:(0,b.jsx)(d.Primitive.div,{...t,ref:y,style:{position:"absolute",...t.style},onPointerDown:(0,l.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,l.composeEventHandlers)(a.onPointerMove,H),onPointerUp:(0,l.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})})})}),F="ScrollAreaThumb",G=c.forwardRef((a,c)=>{let{forceMount:d,...f}=a,g=D(F,a.__scopeScrollArea);return(0,b.jsx)(e.Presence,{present:d||g.hasThumb,children:(0,b.jsx)(H,{ref:c,...f})})}),H=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,style:h,...i}=a,j=q(F,f),k=D(F,f),{onThumbPositionChange:m}=k,n=(0,g.useComposedRefs)(e,a=>k.onThumbChange(a)),o=c.useRef(void 0),p=R(()=>{o.current&&(o.current(),o.current=void 0)},100);return c.useEffect(()=>{let a=j.viewport;if(a){let b=()=>{p(),o.current||(o.current=Q(a,m),m())};return m(),a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)}},[j.viewport,p,m]),(0,b.jsx)(d.Primitive.div,{"data-state":k.hasThumb?"visible":"hidden",...i,ref:n,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...h},onPointerDownCapture:(0,l.composeEventHandlers)(a.onPointerDownCapture,a=>{let b=a.target.getBoundingClientRect(),c=a.clientX-b.left,d=a.clientY-b.top;k.onThumbPointerDown({x:c,y:d})}),onPointerUp:(0,l.composeEventHandlers)(a.onPointerUp,k.onThumbPointerUp)})});G.displayName=F;var I="ScrollAreaCorner",J=c.forwardRef((a,c)=>{let d=q(I,a.__scopeScrollArea),e=!!(d.scrollbarX&&d.scrollbarY);return"scroll"!==d.type&&e?(0,b.jsx)(K,{...a,ref:c}):null});J.displayName=I;var K=c.forwardRef((a,e)=>{let{__scopeScrollArea:f,...g}=a,h=q(I,f),[i,j]=c.useState(0),[k,l]=c.useState(0),m=!!(i&&k);return S(h.scrollbarX,()=>{let a=h.scrollbarX?.offsetHeight||0;h.onCornerHeightChange(a),l(a)}),S(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 L(a){return a?parseInt(a,10):0}function M(a,b){let c=a/b;return isNaN(c)?0:c}function N(a){let b=M(a.viewport,a.content),c=a.scrollbar.paddingStart+a.scrollbar.paddingEnd;return Math.max((a.scrollbar.size-c)*b,18)}function O(a,b,c="ltr"){let d=N(b),e=b.scrollbar.paddingStart+b.scrollbar.paddingEnd,f=b.scrollbar.size-e,g=b.content-b.viewport,h=(0,k.clamp)(a,"ltr"===c?[0,g]:[-1*g,0]);return P([0,g],[0,f-d])(h)}function P(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 Q=(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 R(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 S(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",()=>J,"Root",()=>r,"ScrollArea",()=>r,"ScrollAreaCorner",()=>J,"ScrollAreaScrollbar",()=>v,"ScrollAreaThumb",()=>G,"ScrollAreaViewport",()=>t,"Scrollbar",()=>v,"Thumb",()=>G,"Viewport",()=>t,"createScrollAreaScope",()=>o],73942);var T=a.i(73942),T=T,U=a.i(85536);function V({className:a,children:c,...d}){return(0,b.jsxs)(T.Root,{"data-slot":"scroll-area",className:(0,U.cn)("relative",a),...d,children:[(0,b.jsx)(T.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 [&>div]:block!",children:c}),(0,b.jsx)(W,{}),(0,b.jsx)(T.Corner,{})]})}function W({className:a,orientation:c="vertical",...d}){return(0,b.jsx)(T.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:c,className:(0,U.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)(T.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}a.s(["ScrollArea",()=>V],59706)}];
2
+
3
+ //# sourceMappingURL=src_presentation_web_components_ui_scroll-area_tsx_53ae5be7._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-scroll-area%401.2.10_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40types_ba0b3d60c668755d5c2d6349c8477ebb/node_modules/%40radix-ui/react-scroll-area/dist/index.mjs","../../../../../../../src/presentation/web/components/ui/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __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}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","'use client';\n\nimport * as React from 'react';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\n\nimport { cn } from '@/lib/utils';\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn('relative', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&>div]:block!\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n 'flex touch-none p-px transition-colors select-none',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"names":[],"mappings":"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","ignoreList":[0]}
@@ -0,0 +1,5 @@
1
+ module.exports=[24860,a=>{"use strict";var b=a.i(92658),c=a.i(33244);async function d(){let{workflow:a}=(0,c.getSettings)();return{approvalGates:{allowPrd:a.approvalGateDefaults.allowPrd,allowPlan:a.approvalGateDefaults.allowPlan,allowMerge:a.approvalGateDefaults.allowMerge},push:a.approvalGateDefaults.pushOnImplementationComplete,openPr:a.openPrOnImplementationComplete,ciWatchEnabled:a.ciWatchEnabled,enableEvidence:a.enableEvidence,commitEvidence:a.commitEvidence}}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"003610d0501030ed78d421cd366d814a8b4d5a92c2",null),a.s(["getWorkflowDefaults",()=>d])},77605,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){let{description:b,repositoryPath:d,attachments:e,sessionId:f,approvalGates:g,push:h,openPr:i,parentId:j,fast:k,pending:l,agentType:m,model:n}=a;if(!b?.trim())return{error:"description is required"};if(!d?.trim())return{error:"repositoryPath is required"};let o=function(a,b){if(!b||0===b.length)return a;let c=b.map(a=>`@${a.path}`).join(" ");return`${a}
2
+
3
+ ${c}`}(b,e),p={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase"),{feature:e,shouldSpawn:g}=await a.createRecord({userInput:o,repositoryPath:d,approvalGates:p,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},description:b,...k?{fast:k}:{},...l?{pending:l}:{},...m?{agentType:m}:{},...n?{model:n}:{}});return a.initializeAndSpawn(e,{userInput:o,repositoryPath:d,approvalGates:p,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},...k?{fast:k}:{},...l?{pending:l}:{},...m?{agentType:m}:{},...n?{model:n}:{},...f?{sessionId:f}:{}},g).catch(a=>{console.error("[createFeature] initializeAndSpawn failed:",a)}),{feature:e}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40d7cc4c68566dc3f06dd318267c119034029f56d1",null),a.s(["createFeature",()=>d],77605)},51720,a=>{"use strict";var b=a.i(12513),c=a.i(73101),d=a.i(65324),e=a.i(33841),f=a.i(46646),g=a.i(68670),h=a.i(85321),i=a.i(84095),j=a.i(56799),k=a.i(80496),l=a.i(94691),m=a.i(41872),n=a.i(9959),o=a.i(79124),p=a.i(23504),q=a.i(27900),r=a.i(50845),s=a.i(26604),t=a.i(54723),u=a.i(18942),v=a.i(49560),w=a.i(39353),x=a.i(29207),y=a.i(24860),z=a.i(77605);a.s([],98194),a.i(98194),a.s(["0016064f9438c472bd5b60573df4cee2bca59f10a7",()=>n.checkAgentAuth,"003610d0501030ed78d421cd366d814a8b4d5a92c2",()=>y.getWorkflowDefaults,"0071c782d161807e793f10c65f3214c43fb0c05493",()=>b.pickFolder,"00b6346542d839037deaad2797d5eafe7d98f59b80",()=>m.isAgentSetupComplete,"00e2b5f13ac0087c2d09fad1bdd9cbd6dec22e4856",()=>o.checkToolStatus,"00fc614c4d90ce1af757f6cf2b15730355bc9ea545",()=>p.getAllAgentModels,"40013ca40766e0605e470650593fbedbeda5638137",()=>s.resumeFeature,"40127981d39086dcead85a8e7dae35c4ea5859c4a1",()=>w.deleteRepository,"401f6c0e281ea8505bbd93caa34435b04d1bf7bbc8",()=>i.openIde,"4022f94b98c9df25f1c82474bb0feaa283dd3bcd7e",()=>u.stopFeature,"403679dad958e9291f6f58aa44e892b4daa6584cde",()=>g.stopDeployment,"403ab2406414b089b4d9053074d4a18245e2653a0a",()=>x.getFeatureMetadata,"403af9323f650ccef7ae813591e91238a52cb5f121",()=>k.openFolder,"40613f24268f648907d89dbbca778a06285bb58fbc",()=>v.addRepository,"407550442025e0cd925f203727116bddf23faf102d",()=>h.getDeploymentStatus,"407c14642e3965e99adef576b81ec2588e6db5c826",()=>t.startFeature,"40ac937a3a2475f122e6235604eddf965c11b2d0d5",()=>l.getDeploymentLogs,"40cb02274e9038061ee834bbba24e58d5391876775",()=>c.listGitHubRepositories,"40d6669ca70dbf12a153bcf660ee445711bae9ab8e",()=>d.importGitHubRepository,"40d7a6937393de02ecfe21d30e0f8fb205eb7fc302",()=>f.deployRepository,"40d7cc4c68566dc3f06dd318267c119034029f56d1",()=>z.createFeature,"40dba2ccd80975c12da79c495016594add17c16e9c",()=>j.openShell,"40fa17992a0756f7c7d6de3b3b25a617dd876a9174",()=>e.deployFeature,"602b45d6b82417a32f81fdefb3f9aa580ef28367ad",()=>q.updateAgentAndModel,"78d6102ba1000025bdce49c2e9cacbd58a329b2381",()=>r.deleteFeature],51720)}];
4
+
5
+ //# sourceMappingURL=src_presentation_web_e4df6dd7._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-workflow-defaults.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/compose-user-input.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/create/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface WorkflowDefaults {\n approvalGates: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n };\n push: boolean;\n openPr: boolean;\n ciWatchEnabled: boolean;\n enableEvidence: boolean;\n commitEvidence: boolean;\n}\n\nexport async function getWorkflowDefaults(): Promise<WorkflowDefaults> {\n const settings = getSettings();\n const { workflow } = settings;\n\n return {\n approvalGates: {\n allowPrd: workflow.approvalGateDefaults.allowPrd,\n allowPlan: workflow.approvalGateDefaults.allowPlan,\n allowMerge: workflow.approvalGateDefaults.allowMerge,\n },\n push: workflow.approvalGateDefaults.pushOnImplementationComplete,\n openPr: workflow.openPrOnImplementationComplete,\n ciWatchEnabled: workflow.ciWatchEnabled,\n enableEvidence: workflow.enableEvidence,\n commitEvidence: workflow.commitEvidence,\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateFeatureUseCase } from '@shepai/core/application/use-cases/features/create/create-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\nimport { composeUserInput } from './compose-user-input';\n\ninterface Attachment {\n path: string;\n name: string;\n}\n\ninterface ApprovalGates {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n}\n\ninterface CreateFeatureInput {\n description: string;\n repositoryPath: string;\n attachments?: Attachment[];\n sessionId?: string;\n approvalGates?: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge?: boolean;\n };\n push?: boolean;\n openPr?: boolean;\n parentId?: string;\n /** When true, skip SDLC phases and implement directly from the prompt. */\n fast?: boolean;\n /** When true, create the feature in pending state (no agent spawned). */\n pending?: boolean;\n /** Optional agent type override for this feature run */\n agentType?: string;\n /** Optional model identifier for this feature run */\n model?: string;\n}\n\nexport async function createFeature(\n input: CreateFeatureInput\n): Promise<{ feature?: Feature; error?: string }> {\n const {\n description,\n repositoryPath,\n attachments,\n sessionId,\n approvalGates,\n push,\n openPr,\n parentId,\n fast,\n pending,\n agentType,\n model,\n } = input;\n\n if (!description?.trim()) {\n return { error: 'description is required' };\n }\n\n if (!repositoryPath?.trim()) {\n return { error: 'repositoryPath is required' };\n }\n\n const userInput = composeUserInput(description, attachments);\n const gates: ApprovalGates = {\n allowPrd: approvalGates?.allowPrd ?? false,\n allowPlan: approvalGates?.allowPlan ?? false,\n allowMerge: approvalGates?.allowMerge ?? false,\n };\n\n try {\n const createFeatureUseCase = resolve<CreateFeatureUseCase>('CreateFeatureUseCase');\n\n // Phase 1 (fast): create DB record with real UUID — returns immediately\n const { feature, shouldSpawn } = await createFeatureUseCase.createRecord({\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n description,\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n });\n\n // Phase 2 (background): metadata generation, worktree, spec, agent spawn\n // Fire-and-forget — the UI gets the real feature ID immediately\n createFeatureUseCase\n .initializeAndSpawn(\n feature,\n {\n userInput,\n repositoryPath,\n approvalGates: gates,\n push: push ?? false,\n openPr: openPr ?? false,\n ...(parentId ? { parentId } : {}),\n ...(fast ? { fast } : {}),\n ...(pending ? { pending } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(sessionId ? { sessionId } : {}),\n },\n shouldSpawn\n )\n .catch((err: unknown) => {\n // eslint-disable-next-line no-console\n console.error('[createFeature] initializeAndSpawn failed:', err);\n });\n\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create feature';\n return { error: message };\n }\n}\n","interface Attachment {\n path: string;\n name: string;\n}\n\nexport function composeUserInput(\n description: string,\n attachments: Attachment[] | undefined\n): string {\n if (!attachments || attachments.length === 0) {\n return description;\n }\n\n const refs = attachments.map((a) => `@${a.path}`).join(' ');\n return `${description}\\n\\n${refs}`;\n}\n","export {pickFolder as '0071c782d161807e793f10c65f3214c43fb0c05493'} from 'ACTIONS_MODULE0'\nexport {listGitHubRepositories as '40cb02274e9038061ee834bbba24e58d5391876775'} from 'ACTIONS_MODULE1'\nexport {importGitHubRepository as '40d6669ca70dbf12a153bcf660ee445711bae9ab8e'} from 'ACTIONS_MODULE2'\nexport {deployFeature as '40fa17992a0756f7c7d6de3b3b25a617dd876a9174'} from 'ACTIONS_MODULE3'\nexport {deployRepository as '40d7a6937393de02ecfe21d30e0f8fb205eb7fc302'} from 'ACTIONS_MODULE4'\nexport {stopDeployment as '403679dad958e9291f6f58aa44e892b4daa6584cde'} from 'ACTIONS_MODULE5'\nexport {getDeploymentStatus as '407550442025e0cd925f203727116bddf23faf102d'} from 'ACTIONS_MODULE6'\nexport {openIde as '401f6c0e281ea8505bbd93caa34435b04d1bf7bbc8'} from 'ACTIONS_MODULE7'\nexport {openShell as '40dba2ccd80975c12da79c495016594add17c16e9c'} from 'ACTIONS_MODULE8'\nexport {openFolder as '403af9323f650ccef7ae813591e91238a52cb5f121'} from 'ACTIONS_MODULE9'\nexport {getDeploymentLogs as '40ac937a3a2475f122e6235604eddf965c11b2d0d5'} from 'ACTIONS_MODULE10'\nexport {isAgentSetupComplete as '00b6346542d839037deaad2797d5eafe7d98f59b80'} from 'ACTIONS_MODULE11'\nexport {checkAgentAuth as '0016064f9438c472bd5b60573df4cee2bca59f10a7'} from 'ACTIONS_MODULE12'\nexport {checkToolStatus as '00e2b5f13ac0087c2d09fad1bdd9cbd6dec22e4856'} from 'ACTIONS_MODULE13'\nexport {getAllAgentModels as '00fc614c4d90ce1af757f6cf2b15730355bc9ea545'} from 'ACTIONS_MODULE14'\nexport {updateAgentAndModel as '602b45d6b82417a32f81fdefb3f9aa580ef28367ad'} from 'ACTIONS_MODULE15'\nexport {deleteFeature as '78d6102ba1000025bdce49c2e9cacbd58a329b2381'} from 'ACTIONS_MODULE16'\nexport {resumeFeature as '40013ca40766e0605e470650593fbedbeda5638137'} from 'ACTIONS_MODULE17'\nexport {startFeature as '407c14642e3965e99adef576b81ec2588e6db5c826'} from 'ACTIONS_MODULE18'\nexport {stopFeature as '4022f94b98c9df25f1c82474bb0feaa283dd3bcd7e'} from 'ACTIONS_MODULE19'\nexport {addRepository as '40613f24268f648907d89dbbca778a06285bb58fbc'} from 'ACTIONS_MODULE20'\nexport {deleteRepository as '40127981d39086dcead85a8e7dae35c4ea5859c4a1'} from 'ACTIONS_MODULE21'\nexport {getFeatureMetadata as '403ab2406414b089b4d9053074d4a18245e2653a0a'} from 'ACTIONS_MODULE22'\nexport {getWorkflowDefaults as '003610d0501030ed78d421cd366d814a8b4d5a92c2'} from 'ACTIONS_MODULE23'\nexport {createFeature as '40d7cc4c68566dc3f06dd318267c119034029f56d1'} from 'ACTIONS_MODULE24'\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- <!DOCTYPE html><!--JaRBeVSDLWZLQIl_k7ChK--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/4cec255f2754e5ec.js"/><script src="/_next/static/chunks/c7e793951b20a67f.js" async=""></script><script src="/_next/static/chunks/4b6cc9f65260f2bd.js" async=""></script><script src="/_next/static/chunks/cfe4dc9904fcfddb.js" async=""></script><script src="/_next/static/chunks/d4d8f0a137bd2eb4.js" async=""></script><script src="/_next/static/chunks/turbopack-c2d183e05f30c7dc.js" async=""></script><script src="/_next/static/chunks/ab02eec995295bef.js" async=""></script><script src="/_next/static/chunks/fe70e73feb07bcfd.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
- @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/4cec255f2754e5ec.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[40799,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"default\"]\n3:I[73006,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"default\"]\n4:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"ViewportBoundary\"]\n9:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"MetadataBoundary\"]\nb:I[42726,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"JaRBeVSDLWZLQIl_k7ChK\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"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\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ab02eec995295bef.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/fe70e73feb07bcfd.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><!--6xm4SoE6w_Z_XqNQlMkvd--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/4cec255f2754e5ec.js"/><script src="/_next/static/chunks/c7e793951b20a67f.js" async=""></script><script src="/_next/static/chunks/4b6cc9f65260f2bd.js" async=""></script><script src="/_next/static/chunks/cfe4dc9904fcfddb.js" async=""></script><script src="/_next/static/chunks/d4d8f0a137bd2eb4.js" async=""></script><script src="/_next/static/chunks/turbopack-c2d183e05f30c7dc.js" async=""></script><script src="/_next/static/chunks/ab02eec995295bef.js" async=""></script><script src="/_next/static/chunks/fe70e73feb07bcfd.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
2
+ @media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/4cec255f2754e5ec.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[40799,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"default\"]\n3:I[73006,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"default\"]\n4:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"ViewportBoundary\"]\n9:I[66658,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"MetadataBoundary\"]\nb:I[42726,[\"/_next/static/chunks/ab02eec995295bef.js\",\"/_next/static/chunks/fe70e73feb07bcfd.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"6xm4SoE6w_Z_XqNQlMkvd\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"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\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ab02eec995295bef.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/fe70e73feb07bcfd.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>