@shepai/cli 1.182.1 → 1.183.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/apis/json-schema/Application.yaml +7 -0
  2. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +1 -1
  3. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -1
  4. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +3 -3
  5. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +13 -21
  7. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts +19 -3
  8. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +37 -4
  10. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts +30 -0
  11. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts.map +1 -0
  12. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.js +122 -0
  13. package/dist/packages/core/src/domain/generated/output.d.ts +8 -0
  14. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  15. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/di/container.js +5 -0
  17. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +2 -0
  18. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +4 -0
  20. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/058-add-setup-complete-to-applications.d.ts +5 -0
  21. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/058-add-setup-complete-to-applications.d.ts.map +1 -0
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/058-add-setup-complete-to-applications.js +10 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/059-add-agent-session-id-to-applications.d.ts +5 -0
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/059-add-agent-session-id-to-applications.d.ts.map +1 -0
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/059-add-agent-session-id-to-applications.js +10 -0
  26. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +1 -1
  27. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -1
  28. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +10 -2
  29. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +4 -1
  31. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/fast-implement.prompt.js +4 -1
  33. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.js +4 -1
  35. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
  36. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +11 -6
  37. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts +2 -2
  38. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.js +2 -2
  40. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  41. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +3 -2
  42. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +16 -5
  43. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts.map +1 -1
  44. package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +38 -7
  45. package/dist/src/presentation/web/app/api/applications/[id]/resume/route.d.ts +20 -0
  46. package/dist/src/presentation/web/app/api/applications/[id]/resume/route.d.ts.map +1 -0
  47. package/dist/src/presentation/web/app/api/applications/[id]/resume/route.js +25 -0
  48. package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts +19 -0
  49. package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts.map +1 -0
  50. package/dist/src/presentation/web/app/api/applications/[id]/route.js +46 -0
  51. package/dist/src/presentation/web/app/api/applications/route.d.ts +9 -0
  52. package/dist/src/presentation/web/app/api/applications/route.d.ts.map +1 -0
  53. package/dist/src/presentation/web/app/api/applications/route.js +20 -0
  54. package/dist/src/presentation/web/app/application/[id]/page.d.ts +4 -4
  55. package/dist/src/presentation/web/app/application/[id]/page.d.ts.map +1 -1
  56. package/dist/src/presentation/web/app/application/[id]/page.js +2 -61
  57. package/dist/src/presentation/web/app/applications/page.d.ts +2 -0
  58. package/dist/src/presentation/web/app/applications/page.d.ts.map +1 -0
  59. package/dist/src/presentation/web/app/applications/page.js +5 -0
  60. package/dist/src/presentation/web/components/assistant-ui/thread.js +2 -2
  61. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -1
  62. package/dist/src/presentation/web/components/common/application-node/application-node.js +3 -37
  63. package/dist/src/presentation/web/components/features/application-page/application-page-loader.d.ts +4 -0
  64. package/dist/src/presentation/web/components/features/application-page/application-page-loader.d.ts.map +1 -0
  65. package/dist/src/presentation/web/components/features/application-page/application-page-loader.js +47 -0
  66. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/features/application-page/application-page.js +75 -54
  68. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts.map +1 -1
  69. package/dist/src/presentation/web/components/features/application-page/application-page.stories.js +1 -0
  70. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts +3 -1
  71. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts.map +1 -1
  72. package/dist/src/presentation/web/components/features/application-page/run-dev-button.js +6 -2
  73. package/dist/src/presentation/web/components/features/applications/application-card.d.ts +7 -0
  74. package/dist/src/presentation/web/components/features/applications/application-card.d.ts.map +1 -0
  75. package/dist/src/presentation/web/components/features/applications/application-card.js +82 -0
  76. package/dist/src/presentation/web/components/features/applications/application-card.stories.d.ts +13 -0
  77. package/dist/src/presentation/web/components/features/applications/application-card.stories.d.ts.map +1 -0
  78. package/dist/src/presentation/web/components/features/applications/application-card.stories.js +69 -0
  79. package/dist/src/presentation/web/components/features/applications/applications-page-client.d.ts +5 -0
  80. package/dist/src/presentation/web/components/features/applications/applications-page-client.d.ts.map +1 -0
  81. package/dist/src/presentation/web/components/features/applications/applications-page-client.js +28 -0
  82. package/dist/src/presentation/web/components/features/applications/applications-page-client.stories.d.ts +10 -0
  83. package/dist/src/presentation/web/components/features/applications/applications-page-client.stories.d.ts.map +1 -0
  84. package/dist/src/presentation/web/components/features/applications/applications-page-client.stories.js +93 -0
  85. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts +3 -1
  86. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -1
  87. package/dist/src/presentation/web/components/features/chat/ChatComposer.js +2 -2
  88. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +3 -1
  89. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  90. package/dist/src/presentation/web/components/features/chat/ChatTab.js +4 -3
  91. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts +6 -1
  92. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts.map +1 -1
  93. package/dist/src/presentation/web/components/features/chat/StepTracker.js +23 -20
  94. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  95. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +3 -2
  96. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +3 -1
  97. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  98. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -2
  99. package/dist/src/presentation/web/components/features/settings/language-settings-section.d.ts.map +1 -1
  100. package/dist/src/presentation/web/components/features/settings/language-settings-section.js +1 -0
  101. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts +1 -0
  102. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.d.ts.map +1 -1
  103. package/dist/src/presentation/web/components/features/settings/language-settings-section.stories.js +5 -0
  104. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  105. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +23 -3
  106. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  107. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  108. package/dist/src/presentation/web/lib/derive-app-status.d.ts +23 -0
  109. package/dist/src/presentation/web/lib/derive-app-status.d.ts.map +1 -0
  110. package/dist/src/presentation/web/lib/derive-app-status.js +89 -0
  111. package/dist/src/presentation/web/lib/i18n.d.ts.map +1 -1
  112. package/dist/src/presentation/web/lib/i18n.js +3 -0
  113. package/dist/translations/ar/web.json +2 -1
  114. package/dist/translations/de/web.json +2 -1
  115. package/dist/translations/en/web.json +2 -1
  116. package/dist/translations/es/web.json +2 -1
  117. package/dist/translations/fr/web.json +2 -1
  118. package/dist/translations/he/web.json +2 -1
  119. package/dist/translations/pt/web.json +2 -1
  120. package/dist/translations/ru/web.json +2 -1
  121. package/dist/translations/uk/web.json +2 -1
  122. package/dist/tsconfig.build.tsbuildinfo +1 -1
  123. package/package.json +1 -1
  124. package/web/.next/BUILD_ID +1 -1
  125. package/web/.next/app-path-routes-manifest.json +4 -0
  126. package/web/.next/build-manifest.json +2 -2
  127. package/web/.next/fallback-build-manifest.json +2 -2
  128. package/web/.next/prerender-manifest.json +3 -3
  129. package/web/.next/required-server-files.js +2 -2
  130. package/web/.next/required-server-files.json +2 -2
  131. package/web/.next/routes-manifest.json +28 -0
  132. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
  133. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +5 -5
  134. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  135. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  136. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  137. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +5 -5
  138. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  139. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  141. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +5 -5
  142. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  143. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  144. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  145. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +5 -5
  146. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  147. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  148. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  149. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +5 -5
  150. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  151. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  152. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  153. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +5 -5
  154. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  155. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  156. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  157. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +5 -5
  158. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  159. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  160. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  161. package/web/.next/server/app/(dashboard)/chat/page.js +5 -5
  162. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  163. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  164. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  165. package/web/.next/server/app/(dashboard)/create/page.js +5 -5
  166. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  167. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  168. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  169. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +5 -5
  170. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  171. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  172. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  173. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +5 -5
  174. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  175. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  176. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  177. package/web/.next/server/app/(dashboard)/page.js +5 -5
  178. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  179. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  180. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  181. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +5 -5
  182. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  183. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  184. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  185. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +5 -5
  186. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  187. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  188. package/web/.next/server/app/_global-error/page.js +1 -1
  189. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  190. package/web/.next/server/app/_global-error.html +2 -2
  191. package/web/.next/server/app/_global-error.rsc +1 -1
  192. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  193. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  194. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  195. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  196. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  197. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  198. package/web/.next/server/app/_not-found/page.js +1 -1
  199. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  200. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  201. package/web/.next/server/app/api/applications/[id]/resume/route/app-paths-manifest.json +3 -0
  202. package/web/.next/server/app/api/applications/[id]/resume/route/build-manifest.json +11 -0
  203. package/web/.next/server/app/api/applications/[id]/resume/route/server-reference-manifest.json +4 -0
  204. package/web/.next/server/app/api/applications/[id]/resume/route.js +7 -0
  205. package/web/.next/server/app/api/applications/[id]/resume/route.js.map +5 -0
  206. package/web/.next/server/app/api/applications/[id]/resume/route.js.nft.json +1 -0
  207. package/web/.next/server/app/api/applications/[id]/resume/route_client-reference-manifest.js +2 -0
  208. package/web/.next/server/app/api/applications/[id]/route/app-paths-manifest.json +3 -0
  209. package/web/.next/server/app/api/applications/[id]/route/build-manifest.json +11 -0
  210. package/web/.next/server/app/api/applications/[id]/route/server-reference-manifest.json +4 -0
  211. package/web/.next/server/app/api/applications/[id]/route.js +7 -0
  212. package/web/.next/server/app/api/applications/[id]/route.js.map +5 -0
  213. package/web/.next/server/app/api/applications/[id]/route.js.nft.json +1 -0
  214. package/web/.next/server/app/api/applications/[id]/route_client-reference-manifest.js +2 -0
  215. package/web/.next/server/app/api/applications/route/app-paths-manifest.json +3 -0
  216. package/web/.next/server/app/api/applications/route/build-manifest.json +11 -0
  217. package/web/.next/server/app/api/applications/route/server-reference-manifest.json +4 -0
  218. package/web/.next/server/app/api/applications/route.js +7 -0
  219. package/web/.next/server/app/api/applications/route.js.map +5 -0
  220. package/web/.next/server/app/api/applications/route.js.nft.json +1 -0
  221. package/web/.next/server/app/api/applications/route_client-reference-manifest.js +2 -0
  222. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  223. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  224. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  225. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  226. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +45 -30
  227. package/web/.next/server/app/application/[id]/page.js +3 -3
  228. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  229. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  230. package/web/.next/server/app/applications/page/app-paths-manifest.json +3 -0
  231. package/web/.next/server/app/applications/page/build-manifest.json +18 -0
  232. package/web/.next/server/app/applications/page/next-font-manifest.json +6 -0
  233. package/web/.next/server/app/applications/page/react-loadable-manifest.json +1 -0
  234. package/web/.next/server/app/applications/page/server-reference-manifest.json +230 -0
  235. package/web/.next/server/app/applications/page.js +19 -0
  236. package/web/.next/server/app/applications/page.js.map +5 -0
  237. package/web/.next/server/app/applications/page.js.nft.json +1 -0
  238. package/web/.next/server/app/applications/page_client-reference-manifest.js +2 -0
  239. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  240. package/web/.next/server/app/features/page.js +1 -1
  241. package/web/.next/server/app/features/page.js.nft.json +1 -1
  242. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  243. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  244. package/web/.next/server/app/settings/page.js +1 -1
  245. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  246. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  247. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  248. package/web/.next/server/app/skills/page.js +1 -1
  249. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  250. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  251. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  252. package/web/.next/server/app/tools/page.js +1 -1
  253. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  254. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  255. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  256. package/web/.next/server/app/version/page.js +1 -1
  257. package/web/.next/server/app/version/page.js.nft.json +1 -1
  258. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  259. package/web/.next/server/app-paths-manifest.json +4 -0
  260. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_[id]_route_actions_e31b426d.js +3 -0
  261. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_[id]_route_actions_e31b426d.js.map +1 -0
  262. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_route_actions_2b7d20d0.js +3 -0
  263. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_applications_route_actions_2b7d20d0.js.map +1 -0
  264. package/web/.next/server/chunks/[root-of-the-server]__3bb635e8._.js +3 -0
  265. package/web/.next/server/chunks/[root-of-the-server]__3bb635e8._.js.map +1 -0
  266. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  267. package/web/.next/server/chunks/[root-of-the-server]__ac0027b4._.js +3 -0
  268. package/web/.next/server/chunks/[root-of-the-server]__ac0027b4._.js.map +1 -0
  269. package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js.map +1 -1
  270. package/web/.next/server/chunks/[root-of-the-server]__c8f90b29._.js +1 -1
  271. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  272. package/web/.next/server/chunks/[root-of-the-server]__ce82df38._.js +3 -0
  273. package/web/.next/server/chunks/[root-of-the-server]__ce82df38._.js.map +1 -0
  274. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_resume_route_actions_3a66d646.js +3 -0
  275. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_resume_route_actions_3a66d646.js.map +1 -0
  276. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +3 -0
  277. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -0
  278. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +3 -0
  279. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -0
  280. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +3 -0
  281. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -0
  282. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  283. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  284. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  285. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +3 -0
  287. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -0
  288. package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js +3 -0
  289. package/web/.next/server/chunks/ssr/[root-of-the-server]__04f4895b._.js.map +1 -0
  290. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
  291. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
  292. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
  293. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
  294. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
  295. package/web/.next/server/chunks/ssr/[root-of-the-server]__347fd0f6._.js +3 -0
  296. package/web/.next/server/chunks/ssr/[root-of-the-server]__347fd0f6._.js.map +1 -0
  297. package/web/.next/server/chunks/ssr/[root-of-the-server]__46dd2baf._.js +3 -0
  298. package/web/.next/server/chunks/ssr/[root-of-the-server]__46dd2baf._.js.map +1 -0
  299. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
  300. package/web/.next/server/chunks/ssr/[root-of-the-server]__73cb4ff6._.js +3 -0
  301. package/web/.next/server/chunks/ssr/[root-of-the-server]__73cb4ff6._.js.map +1 -0
  302. package/web/.next/server/chunks/ssr/{[root-of-the-server]__87bc4dac._.js → [root-of-the-server]__86ff0bc5._.js} +3 -3
  303. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +1 -0
  304. package/web/.next/server/chunks/ssr/[root-of-the-server]__91c50abe._.js +3 -0
  305. package/web/.next/server/chunks/ssr/[root-of-the-server]__91c50abe._.js.map +1 -0
  306. package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js +3 -0
  307. package/web/.next/server/chunks/ssr/[root-of-the-server]__a48af49f._.js.map +1 -0
  308. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
  309. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
  310. package/web/.next/server/chunks/ssr/[root-of-the-server]__d5e22d1a._.js +3 -0
  311. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7aa484f5._.js.map → [root-of-the-server]__d5e22d1a._.js.map} +1 -1
  312. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
  313. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
  314. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js +3 -0
  315. package/web/.next/server/chunks/ssr/[root-of-the-server]__e0aa2bcb._.js.map +1 -0
  316. package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
  317. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js +12 -0
  318. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -0
  319. package/web/.next/server/chunks/ssr/[root-of-the-server]__f5614810._.js +3 -0
  320. package/web/.next/server/chunks/ssr/{[root-of-the-server]__090f24cb._.js.map → [root-of-the-server]__f5614810._.js.map} +1 -1
  321. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js +3 -0
  322. package/web/.next/server/chunks/ssr/[root-of-the-server]__fe5db6b2._.js.map +1 -0
  323. package/web/.next/server/chunks/ssr/_037e85c7._.js +3 -0
  324. package/web/.next/server/chunks/ssr/_037e85c7._.js.map +1 -0
  325. package/web/.next/server/chunks/ssr/{_774cbf7d._.js → _133ae3de._.js} +2 -2
  326. package/web/.next/server/chunks/ssr/{_774cbf7d._.js.map → _133ae3de._.js.map} +1 -1
  327. package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
  328. package/web/.next/server/chunks/ssr/_1879404a._.js.map +1 -1
  329. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
  330. package/web/.next/server/chunks/ssr/_29b8ed64._.js +3 -0
  331. package/web/.next/server/chunks/ssr/_29b8ed64._.js.map +1 -0
  332. package/web/.next/server/chunks/ssr/_2bc302d1._.js +3 -0
  333. package/web/.next/server/chunks/ssr/_2bc302d1._.js.map +1 -0
  334. package/web/.next/server/chunks/ssr/_35294e79._.js +3 -0
  335. package/web/.next/server/chunks/ssr/_35294e79._.js.map +1 -0
  336. package/web/.next/server/chunks/ssr/_3683083e._.js +3 -0
  337. package/web/.next/server/chunks/ssr/_3683083e._.js.map +1 -0
  338. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  339. package/web/.next/server/chunks/ssr/_4b57bcc3._.js +9 -0
  340. package/web/.next/server/chunks/ssr/_4b57bcc3._.js.map +1 -0
  341. package/web/.next/server/chunks/ssr/_519d77a9._.js +3 -0
  342. package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -0
  343. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  344. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  345. package/web/.next/server/chunks/ssr/_82db03fd._.js +3 -0
  346. package/web/.next/server/chunks/ssr/_82db03fd._.js.map +1 -0
  347. package/web/.next/server/chunks/ssr/_8c3086bf._.js +3 -0
  348. package/web/.next/server/chunks/ssr/_8c3086bf._.js.map +1 -0
  349. package/web/.next/server/chunks/ssr/_9173e475._.js +21 -0
  350. package/web/.next/server/chunks/ssr/_9173e475._.js.map +1 -0
  351. package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
  352. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
  353. package/web/.next/server/chunks/ssr/{_81e7a131._.js → _a08047ef._.js} +2 -2
  354. package/web/.next/server/chunks/ssr/_a08047ef._.js.map +1 -0
  355. package/web/.next/server/chunks/ssr/_bc03ac82._.js +4 -0
  356. package/web/.next/server/chunks/ssr/_bc03ac82._.js.map +1 -0
  357. package/web/.next/server/chunks/ssr/_d4c0792b._.js +3 -0
  358. package/web/.next/server/chunks/ssr/_d4c0792b._.js.map +1 -0
  359. package/web/.next/server/chunks/ssr/_e61d032d._.js +3 -0
  360. package/web/.next/server/chunks/ssr/_e61d032d._.js.map +1 -0
  361. package/web/.next/server/chunks/ssr/_e65abbd1._.js +3 -0
  362. package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -0
  363. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  364. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  365. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  366. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  367. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  368. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  369. package/web/.next/server/chunks/ssr/node_modules__pnpm_28a53b5d._.js +3 -0
  370. package/web/.next/server/chunks/ssr/node_modules__pnpm_28a53b5d._.js.map +1 -0
  371. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +3 -0
  372. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -0
  373. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +3 -0
  374. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -0
  375. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  376. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  377. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +3 -0
  378. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -0
  379. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +3 -0
  380. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -0
  381. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +32 -0
  382. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -0
  383. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +3 -0
  384. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -0
  385. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +3 -0
  386. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -0
  387. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  388. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  389. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +32 -0
  390. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js.map +1 -0
  391. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +3 -0
  392. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -0
  393. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +3 -0
  394. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +1 -0
  395. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +3 -0
  396. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -0
  397. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  398. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  399. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  400. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  401. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  402. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  403. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js +3 -0
  404. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js.map +1 -0
  405. package/web/.next/server/chunks/ssr/translations_1562ae1a._.js +3 -0
  406. package/web/.next/server/chunks/ssr/translations_1562ae1a._.js.map +1 -0
  407. package/web/.next/server/pages/500.html +2 -2
  408. package/web/.next/server/server-reference-manifest.js +1 -1
  409. package/web/.next/server/server-reference-manifest.json +184 -72
  410. package/web/.next/static/chunks/019e71634c720ede.js +1 -0
  411. package/web/.next/static/chunks/040c5ff84a8ae1a3.js +7 -0
  412. package/web/.next/static/chunks/092ac28f5a4422a0.js +19 -0
  413. package/web/.next/static/chunks/0bd78b0cf1c1421f.js +1 -0
  414. package/web/.next/static/chunks/{996e4ea45364bf3c.js → 18c21c4f9f58b69a.js} +3 -3
  415. package/web/.next/static/chunks/2b5aea3575387b3a.js +1 -0
  416. package/web/.next/static/chunks/2cbe80f8e84d59a8.js +1 -0
  417. package/web/.next/static/chunks/{503d2e86f83285f9.js → 3219b06f6a34e573.js} +1 -1
  418. package/web/.next/static/chunks/37e434e579ecfa02.js +1 -0
  419. package/web/.next/static/chunks/4a7cf3b09e0495a4.js +1 -0
  420. package/web/.next/static/chunks/{83fc7ea32e18c9a5.js → 4ea617a22e21fb04.js} +1 -1
  421. package/web/.next/static/chunks/54d1d5a646a12d76.js +1 -0
  422. package/web/.next/static/chunks/{9e9b60f127270dfd.js → 553be530f22710a7.js} +1 -1
  423. package/web/.next/static/chunks/5795b9f399523c9e.js +1 -0
  424. package/web/.next/static/chunks/{d488e6b5cbbc6833.js → 6a88df64eaeb6322.js} +1 -1
  425. package/web/.next/static/chunks/{2fe20598e1b4793a.js → 6b2859ea368e7df3.js} +3 -3
  426. package/web/.next/static/chunks/6d8cae68371a845d.js +1 -0
  427. package/web/.next/static/chunks/{a2601dbbcb657c7d.js → 78607d521d916531.js} +1 -1
  428. package/web/.next/static/chunks/{7bf6ed16395220c4.js → 7d5a7551d452463d.js} +2 -2
  429. package/web/.next/static/chunks/80e778136b2f4c92.js +1 -0
  430. package/web/.next/static/chunks/a62fb058d660bea3.js +3 -0
  431. package/web/.next/static/chunks/adf16efe8bac05e9.css +1 -0
  432. package/web/.next/static/chunks/b0474319e5a50043.js +1 -0
  433. package/web/.next/static/chunks/b85532fb1545927c.js +5 -0
  434. package/web/.next/static/chunks/e0ae4dbd97b7af4c.js +1 -0
  435. package/web/.next/static/chunks/{2af89379fde6831d.js → f70998ac93012aef.js} +1 -1
  436. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +0 -3
  437. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +0 -1
  438. package/web/.next/server/chunks/ssr/[root-of-the-server]__090f24cb._.js +0 -3
  439. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +0 -12
  440. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +0 -1
  441. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +0 -3
  442. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +0 -1
  443. package/web/.next/server/chunks/ssr/[root-of-the-server]__7aa484f5._.js +0 -3
  444. package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js.map +0 -1
  445. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js +0 -3
  446. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js.map +0 -1
  447. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js +0 -3
  448. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js.map +0 -1
  449. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +0 -3
  450. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +0 -1
  451. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js +0 -3
  452. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js.map +0 -1
  453. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +0 -3
  454. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +0 -1
  455. package/web/.next/server/chunks/ssr/_0277d3b5._.js +0 -21
  456. package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +0 -1
  457. package/web/.next/server/chunks/ssr/_44531b76._.js +0 -9
  458. package/web/.next/server/chunks/ssr/_44531b76._.js.map +0 -1
  459. package/web/.next/server/chunks/ssr/_5dec4047._.js +0 -3
  460. package/web/.next/server/chunks/ssr/_5dec4047._.js.map +0 -1
  461. package/web/.next/server/chunks/ssr/_73aa3b20._.js +0 -3
  462. package/web/.next/server/chunks/ssr/_73aa3b20._.js.map +0 -1
  463. package/web/.next/server/chunks/ssr/_81e7a131._.js.map +0 -1
  464. package/web/.next/server/chunks/ssr/_869a3a15._.js +0 -3
  465. package/web/.next/server/chunks/ssr/_869a3a15._.js.map +0 -1
  466. package/web/.next/server/chunks/ssr/_b227ff50._.js +0 -3
  467. package/web/.next/server/chunks/ssr/_b227ff50._.js.map +0 -1
  468. package/web/.next/server/chunks/ssr/_d75dcb43._.js +0 -3
  469. package/web/.next/server/chunks/ssr/_d75dcb43._.js.map +0 -1
  470. package/web/.next/server/chunks/ssr/_e071ba48._.js +0 -3
  471. package/web/.next/server/chunks/ssr/_e071ba48._.js.map +0 -1
  472. package/web/.next/server/chunks/ssr/_eff1b518._.js +0 -3
  473. package/web/.next/server/chunks/ssr/_eff1b518._.js.map +0 -1
  474. package/web/.next/server/chunks/ssr/_f227429a._.js +0 -3
  475. package/web/.next/server/chunks/ssr/_f227429a._.js.map +0 -1
  476. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +0 -3
  477. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +0 -1
  478. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +0 -3
  479. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +0 -1
  480. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +0 -3
  481. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +0 -1
  482. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +0 -3
  483. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +0 -1
  484. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +0 -3
  485. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +0 -1
  486. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +0 -3
  487. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +0 -1
  488. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +0 -3
  489. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +0 -1
  490. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +0 -32
  491. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +0 -1
  492. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +0 -3
  493. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +0 -1
  494. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +0 -3
  495. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +0 -1
  496. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +0 -3
  497. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +0 -1
  498. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +0 -3
  499. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +0 -1
  500. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +0 -3
  501. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +0 -1
  502. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +0 -3
  503. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +0 -1
  504. package/web/.next/static/chunks/06b9d6dbf635c370.css +0 -1
  505. package/web/.next/static/chunks/1ae0cf5be30ef398.js +0 -1
  506. package/web/.next/static/chunks/3a71cab38909921e.js +0 -1
  507. package/web/.next/static/chunks/4e53adb5d07b7e3d.js +0 -1
  508. package/web/.next/static/chunks/5e7ac3508bef115f.js +0 -1
  509. package/web/.next/static/chunks/761a7c542b358739.js +0 -1
  510. package/web/.next/static/chunks/927442d2628f6e22.js +0 -1
  511. package/web/.next/static/chunks/a31f2264cedb23e9.js +0 -1
  512. package/web/.next/static/chunks/abf7d1b66555b758.js +0 -7
  513. package/web/.next/static/chunks/b99506a6f7bc2fa8.js +0 -1
  514. package/web/.next/static/chunks/d984d1d8d506291c.js +0 -7
  515. package/web/.next/static/chunks/e843a0d8e8c645c4.js +0 -1
  516. package/web/.next/static/chunks/f5ed0232d50b1ec8.js +0 -19
  517. /package/web/.next/static/{6GBQ7MHEYpZbJzqULwvXh → t-O8eMjJCUhhtd6CgtTXI}/_buildManifest.js +0 -0
  518. /package/web/.next/static/{6GBQ7MHEYpZbJzqULwvXh → t-O8eMjJCUhhtd6CgtTXI}/_clientMiddlewareManifest.json +0 -0
  519. /package/web/.next/static/{6GBQ7MHEYpZbJzqULwvXh → t-O8eMjJCUhhtd6CgtTXI}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[6199,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207);a.s([],75426),a.i(75426),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"400b887a616cbf773d1916f3c9befda61ada388bbd",()=>x.resumeFeature,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",()=>o.openShell,"40227fbf1f06087486d930f2be73341e7ed80091c3",()=>n.openIde,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>s.createProjectAndFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>r.getDeploymentLogs,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",()=>A.unarchiveFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"4066f99f07b348d08962c2d7639dd18f214b5947e1",()=>E.getFeatureMetadata,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",()=>y.startFeature,"407ae360e1c587f168a62691f5fbb902cc30239161",()=>p.openFolder,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>D.deleteApplication,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",()=>q.syncRepository,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",()=>z.stopFeature,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",()=>u.createProjectFolder,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",()=>B.addRepository,"40efbe9d403a44d886e0e48abc4980547033c4d898",()=>v.archiveFeature,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>t.createApplication,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",()=>C.deleteRepository,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",()=>w.deleteFeature],6199)}];
2
+
3
+ //# sourceMappingURL=src_presentation_web__next-internal_server_app_%28dashboard%29_page_actions_c3f6f57e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE11'\nexport {openIde as '40227fbf1f06087486d930f2be73341e7ed80091c3'} from 'ACTIONS_MODULE12'\nexport {openShell as '401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99'} from 'ACTIONS_MODULE13'\nexport {openFolder as '407ae360e1c587f168a62691f5fbb902cc30239161'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40a57525e1106170a91c42e7c7f3fa9a53481100c8'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '4026e56be70d948dc3268ab6e2f2886a1104d8cd07'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d591435cbf5e2844d6b0f56fb270938d5c8489e7'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40efbe9d403a44d886e0e48abc4980547033c4d898'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '400b887a616cbf773d1916f3c9befda61ada388bbd'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40726cf93f7ac7e2721f95270a9e1add6a92c81e35'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40bf7f0efdba8ee98115b817c2be5858318a7f47e8'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '402cdb26f49257eeb71728b1b3e61835d9fcf99014'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '606a87dde2ab8df2216d158a8b5e396110073e0a9b'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4066f99f07b348d08962c2d7639dd18f214b5947e1'} from 'ACTIONS_MODULE29'\n"],"names":[],"mappings":"sCAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -1,3 +1,3 @@
1
- module.exports=[94691,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40c3fcb203be759711825a5cac090e83e5c3b8e45f",null),a.s(["getDeploymentLogs",()=>d])},34294,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(94691),j=a.i(33841),k=a.i(46646),l=a.i(68378),m=a.i(68670),n=a.i(85321),o=a.i(92658),p=a.i(7128),q=a.i(96380),r=a.i(33244),s=a.i(12581);async function t(a){try{let b=(0,q.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[],e=d.filter(b=>b.name!==a);if(e.length===d.length)return{success:!1,error:`Skill "${a}" not found in configuration`};let f={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!1,skills:e}},updatedAt:new Date},g=(0,q.resolve)("UpdateSettingsUseCase");return await g.execute(f),(0,r.updateSettings)(f),(0,p.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to remove skill"}}}async function u(a){try{let b=(0,q.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[];if(d.some(b=>b.name===a.name))return{success:!1,error:`Skill "${a.name}" is already configured`};let e={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!0,skills:[...d,a]}},updatedAt:new Date},f=(0,q.resolve)("UpdateSettingsUseCase");return await f.execute(e),(0,r.updateSettings)(e),(0,p.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to add skill"}}}(0,s.ensureServerEntryExports)([t]),(0,o.registerServerReference)(t,"4033377f5aa050298ffaa40eff1e1b053de1203a46",null),(0,s.ensureServerEntryExports)([u]),(0,o.registerServerReference)(u,"40d12d8b9c27664ee7f5dfdfd26e29dca2003f9523",null),a.s([],1855),a.i(1855),a.s(["0017a3f596c2b90658bb19c5117be2b6f519bc1314",()=>e.pickFolder,"0032e72d1011d4e626b5503edd0fef331cb9e8ae13",()=>g.listGitHubOrganizations,"004f4e5ce8df8f01c0c63485e0ed0718133e1fa853",()=>c.checkAllAgentsStatus,"006509149fb6c2f415f8450c9088450072a014aa1a",()=>b.getAllAgentModels,"4019f70a0543cf0486aa16490cbe978f2a34a2347e",()=>j.deployFeature,"402a9388c4c40595790daa4181cb39052554de06ed",()=>h.importGitHubRepository,"402f3ec754226496bb37e1bf882a17def51cf8ccb8",()=>m.stopDeployment,"4033377f5aa050298ffaa40eff1e1b053de1203a46",()=>t,"4083635fcd972ab212a5a17bf919c30711e14955c3",()=>l.deployApplication,"408c4683e7e38f8046c9dad7739ff677e837c2e436",()=>f.listGitHubRepositories,"40ae71a74448e4f534011f66f784be8cc3005391e7",()=>n.getDeploymentStatus,"40b3ff55d8c6015de48f42ddd0a47a270c41d82366",()=>k.deployRepository,"40c3fcb203be759711825a5cac090e83e5c3b8e45f",()=>i.getDeploymentLogs,"40d12d8b9c27664ee7f5dfdfd26e29dca2003f9523",()=>u,"609c3cd490c6f827a214c5e775cde00e9cee2bd2da",()=>d.updateAgentAndModel],34294)}];
1
+ module.exports=[94691,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){return a?.trim()?(0,c.resolve)("IDeploymentService").getLogs(a):null}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",null),a.s(["getDeploymentLogs",()=>d])},34294,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(94691),j=a.i(33841),k=a.i(46646),l=a.i(68378),m=a.i(68670),n=a.i(85321),o=a.i(92658),p=a.i(7128),q=a.i(96380),r=a.i(33244),s=a.i(12581);async function t(a){try{let b=(0,q.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[],e=d.filter(b=>b.name!==a);if(e.length===d.length)return{success:!1,error:`Skill "${a}" not found in configuration`};let f={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!1,skills:e}},updatedAt:new Date},g=(0,q.resolve)("UpdateSettingsUseCase");return await g.execute(f),(0,r.updateSettings)(f),(0,p.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to remove skill"}}}async function u(a){try{let b=(0,q.resolve)("LoadSettingsUseCase"),c=await b.execute(),d=c.workflow.skillInjection?.skills??[];if(d.some(b=>b.name===a.name))return{success:!1,error:`Skill "${a.name}" is already configured`};let e={...c,workflow:{...c.workflow,skillInjection:{enabled:c.workflow.skillInjection?.enabled??!0,skills:[...d,a]}},updatedAt:new Date},f=(0,q.resolve)("UpdateSettingsUseCase");return await f.execute(e),(0,r.updateSettings)(e),(0,p.revalidatePath)("/skills"),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to add skill"}}}(0,s.ensureServerEntryExports)([t]),(0,o.registerServerReference)(t,"40f3d9301a046cdb41c7d1c4ef2dc4aa406429cf3b",null),(0,s.ensureServerEntryExports)([u]),(0,o.registerServerReference)(u,"40183e18ce90d38e379a1cb08dc801984748c7556a",null),a.s([],1855),a.i(1855),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"40183e18ce90d38e379a1cb08dc801984748c7556a",()=>u,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>j.deployFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>i.getDeploymentLogs,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>m.stopDeployment,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>l.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>k.deployRepository,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>n.getDeploymentStatus,"40f3d9301a046cdb41c7d1c4ef2dc4aa406429cf3b",()=>t,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel],34294)}];
2
2
 
3
3
  //# sourceMappingURL=src_presentation_web_ad42cc73._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-deployment-logs.ts","../../../../../../../src/presentation/web/.next-internal/server/app/skills/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/remove-injected-skill.ts","../../../../../../../src/presentation/web/app/actions/add-injected-skill.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n IDeploymentService,\n LogEntry,\n} from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentLogs(targetId: string): Promise<LogEntry[] | null> {\n if (!targetId?.trim()) {\n return null;\n }\n\n const deploymentService = resolve<IDeploymentService>('IDeploymentService');\n return deploymentService.getLogs(targetId);\n}\n","export {getAllAgentModels as '006509149fb6c2f415f8450c9088450072a014aa1a'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '004f4e5ce8df8f01c0c63485e0ed0718133e1fa853'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '609c3cd490c6f827a214c5e775cde00e9cee2bd2da'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '0017a3f596c2b90658bb19c5117be2b6f519bc1314'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '408c4683e7e38f8046c9dad7739ff677e837c2e436'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0032e72d1011d4e626b5503edd0fef331cb9e8ae13'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '402a9388c4c40595790daa4181cb39052554de06ed'} from 'ACTIONS_MODULE6'\nexport {getDeploymentLogs as '40c3fcb203be759711825a5cac090e83e5c3b8e45f'} from 'ACTIONS_MODULE7'\nexport {deployFeature as '4019f70a0543cf0486aa16490cbe978f2a34a2347e'} from 'ACTIONS_MODULE8'\nexport {deployRepository as '40b3ff55d8c6015de48f42ddd0a47a270c41d82366'} from 'ACTIONS_MODULE9'\nexport {deployApplication as '4083635fcd972ab212a5a17bf919c30711e14955c3'} from 'ACTIONS_MODULE10'\nexport {stopDeployment as '402f3ec754226496bb37e1bf882a17def51cf8ccb8'} from 'ACTIONS_MODULE11'\nexport {getDeploymentStatus as '40ae71a74448e4f534011f66f784be8cc3005391e7'} from 'ACTIONS_MODULE12'\nexport {removeInjectedSkill as '4033377f5aa050298ffaa40eff1e1b053de1203a46'} from 'ACTIONS_MODULE13'\nexport {addInjectedSkill as '40d12d8b9c27664ee7f5dfdfd26e29dca2003f9523'} from 'ACTIONS_MODULE14'\n","'use server';\n\nimport { revalidatePath } from 'next/cache';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';\nimport { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface RemoveInjectedSkillResult {\n success: boolean;\n error?: string;\n}\n\nexport async function removeInjectedSkill(skillName: string): Promise<RemoveInjectedSkillResult> {\n try {\n const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const current = await loadUseCase.execute();\n\n const existingSkills = current.workflow.skillInjection?.skills ?? [];\n const filtered = existingSkills.filter((s) => s.name !== skillName);\n\n if (filtered.length === existingSkills.length) {\n return { success: false, error: `Skill \"${skillName}\" not found in configuration` };\n }\n\n const updated = {\n ...current,\n workflow: {\n ...current.workflow,\n skillInjection: {\n enabled: current.workflow.skillInjection?.enabled ?? false,\n skills: filtered,\n },\n },\n updatedAt: new Date(),\n };\n\n const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');\n await updateUseCase.execute(updated);\n updateSettingsSingleton(updated);\n revalidatePath('/skills');\n\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove skill';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { revalidatePath } from 'next/cache';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';\nimport { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';\nimport type { SkillSource } from '@shepai/core/domain/generated/output';\n\nexport interface AddInjectedSkillResult {\n success: boolean;\n error?: string;\n}\n\nexport async function addInjectedSkill(skill: SkillSource): Promise<AddInjectedSkillResult> {\n try {\n const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const current = await loadUseCase.execute();\n\n const existingSkills = current.workflow.skillInjection?.skills ?? [];\n if (existingSkills.some((s) => s.name === skill.name)) {\n return { success: false, error: `Skill \"${skill.name}\" is already configured` };\n }\n\n const updated = {\n ...current,\n workflow: {\n ...current.workflow,\n skillInjection: {\n enabled: current.workflow.skillInjection?.enabled ?? true,\n skills: [...existingSkills, skill],\n },\n },\n updatedAt: new Date(),\n };\n\n const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');\n await updateUseCase.execute(updated);\n updateSettingsSingleton(updated);\n revalidatePath('/skills');\n\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add skill';\n return { success: false, error: message };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-deployment-logs.ts","../../../../../../../src/presentation/web/.next-internal/server/app/skills/page/actions.js%20%28server%20actions%20loader%29","../../../../../../../src/presentation/web/app/actions/remove-injected-skill.ts","../../../../../../../src/presentation/web/app/actions/add-injected-skill.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n IDeploymentService,\n LogEntry,\n} from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentLogs(targetId: string): Promise<LogEntry[] | null> {\n if (!targetId?.trim()) {\n return null;\n }\n\n const deploymentService = resolve<IDeploymentService>('IDeploymentService');\n return deploymentService.getLogs(targetId);\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE7'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE8'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE9'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE10'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE11'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE12'\nexport {removeInjectedSkill as '40f3d9301a046cdb41c7d1c4ef2dc4aa406429cf3b'} from 'ACTIONS_MODULE13'\nexport {addInjectedSkill as '40183e18ce90d38e379a1cb08dc801984748c7556a'} from 'ACTIONS_MODULE14'\n","'use server';\n\nimport { revalidatePath } from 'next/cache';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';\nimport { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';\n\nexport interface RemoveInjectedSkillResult {\n success: boolean;\n error?: string;\n}\n\nexport async function removeInjectedSkill(skillName: string): Promise<RemoveInjectedSkillResult> {\n try {\n const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const current = await loadUseCase.execute();\n\n const existingSkills = current.workflow.skillInjection?.skills ?? [];\n const filtered = existingSkills.filter((s) => s.name !== skillName);\n\n if (filtered.length === existingSkills.length) {\n return { success: false, error: `Skill \"${skillName}\" not found in configuration` };\n }\n\n const updated = {\n ...current,\n workflow: {\n ...current.workflow,\n skillInjection: {\n enabled: current.workflow.skillInjection?.enabled ?? false,\n skills: filtered,\n },\n },\n updatedAt: new Date(),\n };\n\n const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');\n await updateUseCase.execute(updated);\n updateSettingsSingleton(updated);\n revalidatePath('/skills');\n\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to remove skill';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { revalidatePath } from 'next/cache';\nimport { resolve } from '@/lib/server-container';\nimport type { LoadSettingsUseCase } from '@shepai/core/application/use-cases/settings/load-settings.use-case';\nimport type { UpdateSettingsUseCase } from '@shepai/core/application/use-cases/settings/update-settings.use-case';\nimport { updateSettings as updateSettingsSingleton } from '@shepai/core/infrastructure/services/settings.service';\nimport type { SkillSource } from '@shepai/core/domain/generated/output';\n\nexport interface AddInjectedSkillResult {\n success: boolean;\n error?: string;\n}\n\nexport async function addInjectedSkill(skill: SkillSource): Promise<AddInjectedSkillResult> {\n try {\n const loadUseCase = resolve<LoadSettingsUseCase>('LoadSettingsUseCase');\n const current = await loadUseCase.execute();\n\n const existingSkills = current.workflow.skillInjection?.skills ?? [];\n if (existingSkills.some((s) => s.name === skill.name)) {\n return { success: false, error: `Skill \"${skill.name}\" is already configured` };\n }\n\n const updated = {\n ...current,\n workflow: {\n ...current.workflow,\n skillInjection: {\n enabled: current.workflow.skillInjection?.enabled ?? true,\n skills: [...existingSkills, skill],\n },\n },\n updatedAt: new Date(),\n };\n\n const updateUseCase = resolve<UpdateSettingsUseCase>('UpdateSettingsUseCase');\n await updateUseCase.execute(updated);\n updateSettingsSingleton(updated);\n revalidatePath('/skills');\n\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add skill';\n return { success: false, error: message };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ module.exports=[95072,a=>{"use strict";var b=a.i(92658),c=a.i(96380);async function d(a){if(!a?.trim())return{error:"Application ID is required"};try{let b=(0,c.resolve)("DeleteApplicationUseCase");return await b.execute(a),{}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete application"}}}(0,a.i(12581).ensureServerEntryExports)([d]),(0,b.registerServerReference)(d,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",null),a.s(["deleteApplication",()=>d])},80496,a=>{"use strict";var b=a.i(92658),c=a.i(2157),d=a.i(60526),e=a.i(50227),f=a.i(74533),g=a.i(12581);let h={darwin:{cmd:"open",args:a=>[a]},linux:{cmd:"xdg-open",args:a=>[a]},win32:{cmd:"explorer",args:a=>[a]}};async function i(a){if(!a||!(0,e.isAbsolute)(a))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,c.existsSync)(a))return{success:!1,error:"Directory not found"};let b=h[(0,d.platform)()];if(!b)return{success:!1,error:`Unsupported platform: ${(0,d.platform)()}`};let g=(0,e.normalize)(a),i=(0,f.spawn)(b.cmd,b.args(g),{detached:!0,stdio:"ignore"});return i.on("error",()=>void 0),i.unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}(0,g.ensureServerEntryExports)([i]),(0,b.registerServerReference)(i,"407ae360e1c587f168a62691f5fbb902cc30239161",null),a.s(["openFolder",()=>i])},77710,77605,45395,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){let{description:b,repositoryPath:d,attachments:e,sessionId:f,approvalGates:g,push:h,openPr:i,parentId:j,fast:k,pending:l,forkAndPr:m,commitSpecs:n,ciWatchEnabled:o,enableEvidence:p,commitEvidence:q,agentType:r,model:s,rebaseBeforeBranch:t,injectSkills:u}=a;if(!b?.trim())return{error:"description is required"};if(!d?.trim())return{error:"repositoryPath is required"};let v=function(a,b){if(!b||0===b.length)return a;let c=b.map(a=>a.notes?.trim()?`@${a.path} [Note: ${a.notes.trim()}]`:`@${a.path}`).join(" ");return`${a}
2
+
3
+ ${c}`}(b,e),w={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:v,repositoryPath:d,approvalGates:w,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},description:b,...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...null!=t?{rebaseBeforeBranch:t}:{},...null!=u?{injectSkills:u}:{}});return a.initializeAndSpawn(e,{userInput:v,repositoryPath:d,approvalGates:w,push:h??!1,openPr:i??!1,...j?{parentId:j}:{},...k?{fast:k}:{},...l?{pending:l}:{},...null!=m?{forkAndPr:m}:{},...null!=n?{commitSpecs:n}:{},...null!=o?{ciWatchEnabled:o}:{},...null!=p?{enableEvidence:p}:{},...null!=q?{commitEvidence:q}:{},...r?{agentType:r}:{},...s?{model:s}:{},...f?{sessionId:f}:{},...null!=t?{rebaseBeforeBranch:t}:{},...null!=u?{injectSkills:u}:{}},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,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40d0e3402652c3ee7206eb31e80d3ae87ece9b492e",null),a.s(["createFeature",()=>e],77605);let f=`\
4
+ ## Project Requirements
5
+
6
+ Build this as a **React application** using Vite as the build tool.
7
+
8
+ ### Structure
9
+ - Initialize with \`npm create vite@latest . -- --template react-ts\` scaffolding
10
+ - Organize code into clear folders: \`src/components/\`, \`src/pages/\`, \`src/assets/\`
11
+ - Use TypeScript throughout
12
+ - Include a working \`package.json\` with all dependencies
13
+
14
+ ### Design & UI
15
+ - Create a polished, production-quality interface — not a prototype
16
+ - Use modern CSS (CSS modules or Tailwind CSS) with thoughtful spacing, typography, and color
17
+ - Make it fully responsive (mobile-first)
18
+ - Add subtle micro-interactions: hover states, transitions, focus rings
19
+ - Use professional placeholder content (realistic text, not lorem ipsum)
20
+ - Pick a cohesive color palette and apply it consistently
21
+
22
+ ### Quality
23
+ - Every component should be self-contained and reusable
24
+ - Include proper HTML semantics and accessibility (ARIA labels, alt text, keyboard nav)
25
+ - The app must start successfully with \`npm install && npm run dev\`
26
+
27
+ ---
28
+
29
+ ## What to Build
30
+ `;async function g(a){let{description:b,attachments:d,agentType:g,model:h}=a;if(!b?.trim())return{error:"Description is required"};try{let i=(0,c.resolve)("CreateProjectUseCase"),j=await i.execute({name:b.trim().split(/\s+/).slice(0,6).join(" ")});if(!j.ok)return{error:j.error};let k=j.path,l=(0,c.resolve)("AddRepositoryUseCase"),m=await l.execute({path:k}),n=f+b.trim(),o=await e({description:n,repositoryPath:k,attachments:d,agentType:g,model:h,fast:a.fast});if(o.error)return{error:o.error};return{feature:o.feature,repository:m,repositoryPath:k}}catch(a){return{error:a instanceof Error?a.message:"Failed to create project"}}}async function h(a){if(!a.description?.trim())return{error:"Description is required"};try{let b=(0,c.resolve)("CreateApplicationUseCase"),d=await b.execute({description:a.description.trim(),agentType:a.agentType,modelOverride:a.modelOverride,initialPrompt:a.initialPrompt});return{application:d.application,repositoryPath:d.repositoryPath}}catch(a){return{error:a instanceof Error?a.message:"Failed to create application"}}}(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",null),a.s(["createProjectAndFeature",()=>g],77710),(0,d.ensureServerEntryExports)([h]),(0,b.registerServerReference)(h,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",null),a.s(["createApplication",()=>h],45395)},84095,56799,93225,76707,10528,50845,26604,54723,18942,42886,49560,39353,29207,a=>{"use strict";var b=a.i(92658),c=a.i(50227),d=a.i(33244),e=a.i(96380),f=a.i(12581);async function g(a){let{repositoryPath:b,branch:f}=a;if(!b||!(0,c.isAbsolute)(b))return{success:!1,error:"repositoryPath must be an absolute path"};let g=(0,d.getSettings)().environment.defaultEditor,h=(0,e.resolve)("LaunchIdeUseCase"),i=await h.execute({editorId:g,repositoryPath:b,branch:f,checkAvailability:!0});return i.ok?{success:!0,editor:i.editorName,path:i.worktreePath}:{success:!1,error:i.message}}(0,f.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40227fbf1f06087486d930f2be73341e7ed80091c3",null),a.s(["openIde",()=>g],84095);var h=a.i(2157),i=a.i(60526),j=a.i(74533),k=a.i(29918);let l={darwin:{cmd:"open",args:a=>["-a","Terminal",a]},linux:{cmd:"x-terminal-emulator",args:a=>[`--working-directory=${a}`]},win32:{cmd:"cmd.exe",args:a=>["/c","start","powershell","-NoExit","-Command",`Set-Location "${a}"`]}};async function m(a){let{repositoryPath:b,branch:f}=a;if(!b||!(0,c.isAbsolute)(b))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a=(0,d.getSettings)(),c=a.environment.shellPreference,g=a.environment.terminalPreference??"system",m=f?(0,k.computeWorktreePath)(b,f):b;if(!(0,h.existsSync)(m))return{success:!1,error:`Path does not exist: ${m}`};if("system"!==g)try{let a=(0,e.resolve)("IToolInstallerService").getTerminalOpenConfig(g);if(a?.openDirectory.includes("{dir}")){let b=a.openDirectory.replace("{dir}",m);if(a.shell){let a=(0,j.spawn)(b,[],{detached:!0,stdio:"ignore",shell:!0});a.on("error",()=>void 0),a.unref()}else{let[a,...c]=b.split(/\s+/),d=(0,j.spawn)(a,c,{detached:!0,stdio:"ignore"});d.on("error",()=>void 0),d.unref()}return{success:!0,path:m,shell:c}}}catch{}let n=l[(0,i.platform)()];if(!n)return{success:!1,error:`Unsupported platform: ${(0,i.platform)()}`};let o=(0,j.spawn)(n.cmd,n.args(m),{detached:!0,stdio:"ignore"});return o.on("error",()=>void 0),o.unref(),{success:!0,path:m,shell:c}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}async function n(a){if(!a?.trim())return{success:!1,error:"Repository id is required"};try{let b=(0,e.resolve)("SyncRepositoryMainUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to sync repository"}}}async function o(a){let b=(0,e.resolve)("CreateProjectUseCase"),c=await b.execute({name:a});return c.ok?{ok:!0,path:c.path}:{ok:!1,error:c.error}}async function p(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,e.resolve)("ArchiveFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to archive feature"}}}async function q(a,b,c,d){if(!a?.trim())return{error:"id is required"};try{let f=(0,e.resolve)("DeleteFeatureUseCase"),g={};return void 0!==b&&(g.cleanup=b),void 0!==c&&(g.cascadeDelete=c),void 0!==d&&(g.closePr=d),{feature:Object.keys(g).length>0?await f.execute(a,g):await f.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function r(a){if(!a.trim())return{resumed:!1,error:"Feature id is required"};try{let b=(0,e.resolve)("ResumeFeatureUseCase");return await b.execute(a),{resumed:!0}}catch(a){return{resumed:!1,error:a instanceof Error?a.message:"Failed to resume feature"}}}async function s(a){if(!a.trim())return{started:!1,error:"Feature id is required"};try{let b=(0,e.resolve)("StartFeatureUseCase");return await b.execute(a),{started:!0}}catch(a){return{started:!1,error:a instanceof Error?a.message:"Failed to start feature"}}}async function t(a){if(!a.trim())return{stopped:!1,error:"Feature id is required"};try{let b=(0,e.resolve)("IAgentRunRepository"),c=(await b.list()).find(b=>b.featureId===a&&"completed"!==b.status&&"failed"!==b.status&&"interrupted"!==b.status&&"cancelled"!==b.status);if(!c)return{stopped:!1,error:"No active agent run found for this feature"};let d=(0,e.resolve)("StopAgentRunUseCase"),f=await d.execute(c.id);if(!f.stopped)return{stopped:!1,error:f.reason};return{stopped:!0}}catch(a){return{stopped:!1,error:a instanceof Error?a.message:"Failed to stop agent"}}}async function u(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,e.resolve)("UnarchiveFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to unarchive feature"}}}async function v(a){let{path:b,name:c}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,e.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:c})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function w(a,b){if(!a?.trim())return{success:!1,error:"id is required"};try{let c=(0,e.resolve)("DeleteRepositoryUseCase");return await c.execute(a,{deleteFromDisk:b?.deleteFromDisk===!0}),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}async function x(a){let b=(0,e.resolve)("IFeatureRepository"),c=await b.findById(a);return c?{name:c.name,description:c.description}:null}(0,f.ensureServerEntryExports)([m]),(0,b.registerServerReference)(m,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",null),a.s(["openShell",()=>m],56799),(0,f.ensureServerEntryExports)([n]),(0,b.registerServerReference)(n,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",null),a.s(["syncRepository",()=>n],93225),(0,f.ensureServerEntryExports)([o]),(0,b.registerServerReference)(o,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",null),a.s(["createProjectFolder",()=>o],76707),(0,f.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40efbe9d403a44d886e0e48abc4980547033c4d898",null),a.s(["archiveFeature",()=>p],10528),(0,f.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",null),a.s(["deleteFeature",()=>q],50845),(0,f.ensureServerEntryExports)([r]),(0,b.registerServerReference)(r,"400b887a616cbf773d1916f3c9befda61ada388bbd",null),a.s(["resumeFeature",()=>r],26604),(0,f.ensureServerEntryExports)([s]),(0,b.registerServerReference)(s,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",null),a.s(["startFeature",()=>s],54723),(0,f.ensureServerEntryExports)([t]),(0,b.registerServerReference)(t,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",null),a.s(["stopFeature",()=>t],18942),(0,f.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",null),a.s(["unarchiveFeature",()=>u],42886),(0,f.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",null),a.s(["addRepository",()=>v],49560),(0,f.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",null),a.s(["deleteRepository",()=>w],39353),(0,f.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"4066f99f07b348d08962c2d7639dd18f214b5947e1",null),a.s(["getFeatureMetadata",()=>x],29207)}];
31
+
32
+ //# sourceMappingURL=src_presentation_web_app_actions_8514dfcd._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/delete-application.ts","../../../../../../../src/presentation/web/app/actions/open-folder.ts","../../../../../../../src/presentation/web/app/actions/create-project-and-feature.ts","../../../../../../../src/presentation/web/app/actions/compose-user-input.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/create-application.ts","../../../../../../../src/presentation/web/app/actions/open-ide.ts","../../../../../../../src/presentation/web/app/actions/open-shell.ts","../../../../../../../src/presentation/web/app/actions/sync-repository.ts","../../../../../../../src/presentation/web/app/actions/create-project-folder.ts","../../../../../../../src/presentation/web/app/actions/archive-feature.ts","../../../../../../../src/presentation/web/app/actions/delete-feature.ts","../../../../../../../src/presentation/web/app/actions/resume-feature.ts","../../../../../../../src/presentation/web/app/actions/start-feature.ts","../../../../../../../src/presentation/web/app/actions/stop-feature.ts","../../../../../../../src/presentation/web/app/actions/unarchive-feature.ts","../../../../../../../src/presentation/web/app/actions/add-repository.ts","../../../../../../../src/presentation/web/app/actions/delete-repository.ts","../../../../../../../src/presentation/web/app/actions/get-feature-metadata.ts"],"sourcesContent":["'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteApplicationUseCase } from '@shepai/core/application/use-cases/applications/delete-application.use-case';\n\nexport async function deleteApplication(id: string): Promise<{ error?: string }> {\n if (!id?.trim()) {\n return { error: 'Application ID is required' };\n }\n\n try {\n const useCase = resolve<DeleteApplicationUseCase>('DeleteApplicationUseCase');\n await useCase.execute(id);\n return {};\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete application';\n return { error: message };\n }\n}\n","'use server';\n\nimport { existsSync } from 'node:fs';\nimport { platform } from 'node:os';\nimport { isAbsolute, normalize } from 'node:path';\nimport { spawn } from 'node:child_process';\n\n// Use a record lookup instead of if/else to prevent the bundler from\n// tree-shaking platform branches at build time. Turbopack evaluates\n// os.platform() during the build and dead-code-eliminates unused branches,\n// baking in the CI platform (linux) and breaking macOS/Windows installs.\nconst FOLDER_COMMANDS: Record<string, { cmd: string; args: (path: string) => string[] }> = {\n darwin: { cmd: 'open', args: (p) => [p] },\n linux: { cmd: 'xdg-open', args: (p) => [p] },\n win32: { cmd: 'explorer', args: (p) => [p] },\n};\n\nexport async function openFolder(\n repositoryPath: string\n): Promise<{ success: boolean; error?: string; path?: string }> {\n if (!repositoryPath || !isAbsolute(repositoryPath)) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n try {\n if (!existsSync(repositoryPath)) {\n return { success: false, error: 'Directory not found' };\n }\n\n const entry = FOLDER_COMMANDS[platform()];\n if (!entry) {\n return {\n success: false,\n error: `Unsupported platform: ${platform()}`,\n };\n }\n\n // Normalize to platform-native separators — explorer.exe on Windows\n // does not understand forward-slash paths and falls back to Documents.\n const nativePath = normalize(repositoryPath);\n\n const child = spawn(entry.cmd, entry.args(nativePath), {\n detached: true,\n stdio: 'ignore',\n });\n child.on('error', () => undefined); // Prevent uncaught exception on spawn failure\n child.unref();\n\n return { success: true, path: repositoryPath };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateProjectUseCase } from '@shepai/core/application/use-cases/projects/create-project.use-case';\nimport type { AddRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/add-repository.use-case';\nimport type { Feature, Repository } from '@shepai/core/domain/generated/output';\nimport { createFeature } from './create-feature';\n\ninterface QuickFeatureInput {\n description: string;\n attachments?: { path: string; name: string; notes?: string }[];\n agentType?: string;\n model?: string;\n fast?: boolean;\n}\n\n/**\n * Default project instructions prepended to the user's description.\n * These ensure that even a vague one-liner from a non-technical user\n * results in a well-structured, runnable React application.\n */\nconst PROJECT_PREAMBLE = `\\\n## Project Requirements\n\nBuild this as a **React application** using Vite as the build tool.\n\n### Structure\n- Initialize with \\`npm create vite@latest . -- --template react-ts\\` scaffolding\n- Organize code into clear folders: \\`src/components/\\`, \\`src/pages/\\`, \\`src/assets/\\`\n- Use TypeScript throughout\n- Include a working \\`package.json\\` with all dependencies\n\n### Design & UI\n- Create a polished, production-quality interface — not a prototype\n- Use modern CSS (CSS modules or Tailwind CSS) with thoughtful spacing, typography, and color\n- Make it fully responsive (mobile-first)\n- Add subtle micro-interactions: hover states, transitions, focus rings\n- Use professional placeholder content (realistic text, not lorem ipsum)\n- Pick a cohesive color palette and apply it consistently\n\n### Quality\n- Every component should be self-contained and reusable\n- Include proper HTML semantics and accessibility (ARIA labels, alt text, keyboard nav)\n- The app must start successfully with \\`npm install && npm run dev\\`\n\n---\n\n## What to Build\n`;\n\n/**\n * Derive a concise project name from a free-form description.\n * Takes the first handful of meaningful words — `CreateProjectUseCase`\n * will then slugify + cap length for the actual directory name.\n */\nfunction deriveProjectName(description: string): string {\n return description.trim().split(/\\s+/).slice(0, 6).join(' ');\n}\n\nexport async function createProjectAndFeature(input: QuickFeatureInput): Promise<{\n feature?: Feature;\n repository?: Repository;\n repositoryPath?: string;\n error?: string;\n}> {\n const { description, attachments, agentType, model } = input;\n\n if (!description?.trim()) {\n return { error: 'Description is required' };\n }\n\n try {\n const createProject = resolve<CreateProjectUseCase>('CreateProjectUseCase');\n const projectResult = await createProject.execute({\n name: deriveProjectName(description),\n });\n if (!projectResult.ok) {\n return { error: projectResult.error };\n }\n const projectPath = projectResult.path;\n\n const addRepo = resolve<AddRepositoryUseCase>('AddRepositoryUseCase');\n const repository = await addRepo.execute({ path: projectPath });\n\n // Enrich the user's prompt with project-quality instructions\n const enrichedDescription = PROJECT_PREAMBLE + description.trim();\n\n const featureResult = await createFeature({\n description: enrichedDescription,\n repositoryPath: projectPath,\n attachments,\n agentType,\n model,\n fast: input.fast,\n });\n\n if (featureResult.error) {\n return { error: featureResult.error };\n }\n\n return {\n feature: featureResult.feature,\n repository,\n repositoryPath: projectPath,\n };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create project';\n return { error: message };\n }\n}\n","interface Attachment {\n path: string;\n name: string;\n notes?: 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\n .map((a) => (a.notes?.trim() ? `@${a.path} [Note: ${a.notes.trim()}]` : `@${a.path}`))\n .join(' ');\n return `${description}\\n\\n${refs}`;\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 notes?: 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 /** Fork repo and create PR to upstream at merge time. */\n forkAndPr?: boolean;\n /** Commit specs/evidences into the repo (default: true, auto-false when forkAndPr). */\n commitSpecs?: boolean;\n /** Enable CI watch/fix loop after push. */\n ciWatchEnabled?: boolean;\n /** Enable evidence collection after implementation. */\n enableEvidence?: boolean;\n /** Commit evidence to PR. */\n commitEvidence?: 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 /** Sync main from remote before creating the feature branch (default: true). */\n rebaseBeforeBranch?: boolean;\n /** Inject curated skills into the feature worktree. */\n injectSkills?: boolean;\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 forkAndPr,\n commitSpecs,\n ciWatchEnabled,\n enableEvidence,\n commitEvidence,\n agentType,\n model,\n rebaseBeforeBranch,\n injectSkills,\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 ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\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 ...(forkAndPr != null ? { forkAndPr } : {}),\n ...(commitSpecs != null ? { commitSpecs } : {}),\n ...(ciWatchEnabled != null ? { ciWatchEnabled } : {}),\n ...(enableEvidence != null ? { enableEvidence } : {}),\n ...(commitEvidence != null ? { commitEvidence } : {}),\n ...(agentType ? { agentType } : {}),\n ...(model ? { model } : {}),\n ...(sessionId ? { sessionId } : {}),\n ...(rebaseBeforeBranch != null ? { rebaseBeforeBranch } : {}),\n ...(injectSkills != null ? { injectSkills } : {}),\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","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateApplicationUseCase } from '@shepai/core/application/use-cases/applications/create-application.use-case';\nimport type { Application } from '@shepai/core/domain/generated/output';\n\ninterface CreateApplicationInput {\n description: string;\n agentType?: string;\n modelOverride?: string;\n /**\n * When provided, the use case ALSO sends this as the first message of\n * the application's interactive chat session — wrapped server-side\n * with the full application-creation prompt (Shep persona, mission,\n * opinionated stack, workflow, quality bar, definition of done) by\n * the IApplicationCreationPromptBuilder adapter.\n *\n * Awaiting this BEFORE the client navigates guarantees that the chat\n * page's SSR load of chat state already includes the message — it\n * renders on first paint, no extra round trip.\n */\n initialPrompt?: string;\n}\n\n/**\n * Thin server-action wrapper around CreateApplicationUseCase.\n *\n * All orchestration (slug allocation, project scaffold, app persistence,\n * prompt building, first-message dispatch) lives inside the use case so\n * every presentation layer (Web / CLI / TUI) gets identical behavior\n * from a single call.\n */\nexport async function createApplication(\n input: CreateApplicationInput\n): Promise<{ application?: Application; repositoryPath?: string; error?: string }> {\n if (!input.description?.trim()) {\n return { error: 'Description is required' };\n }\n\n try {\n const useCase = resolve<CreateApplicationUseCase>('CreateApplicationUseCase');\n const result = await useCase.execute({\n description: input.description.trim(),\n agentType: input.agentType,\n modelOverride: input.modelOverride,\n initialPrompt: input.initialPrompt,\n });\n return { application: result.application, repositoryPath: result.repositoryPath };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create application';\n return { error: message };\n }\n}\n","'use server';\n\nimport { isAbsolute } from 'node:path';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { LaunchIdeUseCase } from '@shepai/core/application/use-cases/ide/launch-ide.use-case';\nimport { resolve } from '@/lib/server-container';\n\ninterface OpenIdeInput {\n repositoryPath: string;\n branch?: string;\n}\n\nexport async function openIde(\n input: OpenIdeInput\n): Promise<{ success: boolean; error?: string; editor?: string; path?: string }> {\n const { repositoryPath, branch } = input;\n\n if (!repositoryPath || !isAbsolute(repositoryPath)) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n const settings = getSettings();\n const editor = settings.environment.defaultEditor;\n\n const useCase = resolve<LaunchIdeUseCase>('LaunchIdeUseCase');\n const result = await useCase.execute({\n editorId: editor,\n repositoryPath,\n branch,\n checkAvailability: true,\n });\n\n if (!result.ok) {\n return { success: false, error: result.message };\n }\n\n return { success: true, editor: result.editorName, path: result.worktreePath };\n}\n","'use server';\n\nimport { existsSync } from 'node:fs';\nimport { platform } from 'node:os';\nimport { isAbsolute } from 'node:path';\nimport { spawn } from 'node:child_process';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { resolve } from '@/lib/server-container';\nimport type { IToolInstallerService } from '@shepai/core/application/ports/output/services/tool-installer.service';\n\n// Fallback commands for the \"system\" terminal when no tool metadata entry exists.\n// Uses a record lookup instead of if/else to prevent the bundler from\n// tree-shaking platform branches at build time. Turbopack evaluates\n// os.platform() during the build and dead-code-eliminates unused branches,\n// baking in the CI platform (linux) and breaking macOS/Windows installs.\nconst SYSTEM_TERMINAL_COMMANDS: Record<string, { cmd: string; args: (path: string) => string[] }> =\n {\n darwin: { cmd: 'open', args: (p) => ['-a', 'Terminal', p] },\n linux: { cmd: 'x-terminal-emulator', args: (p) => [`--working-directory=${p}`] },\n win32: {\n cmd: 'cmd.exe',\n args: (p) => ['/c', 'start', 'powershell', '-NoExit', '-Command', `Set-Location \"${p}\"`],\n },\n };\n\ninterface OpenShellInput {\n repositoryPath: string;\n branch?: string;\n}\n\nexport async function openShell(\n input: OpenShellInput\n): Promise<{ success: boolean; error?: string; path?: string; shell?: string }> {\n const { repositoryPath, branch } = input;\n\n if (!repositoryPath || !isAbsolute(repositoryPath)) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n try {\n const settings = getSettings();\n const shell = settings.environment.shellPreference;\n const terminalPref = settings.environment.terminalPreference ?? 'system';\n const targetPath = branch ? computeWorktreePath(repositoryPath, branch) : repositoryPath;\n\n if (!existsSync(targetPath)) {\n return { success: false, error: `Path does not exist: ${targetPath}` };\n }\n\n // Try to find the terminal in tool metadata via DI container.\n // Using DI (not a direct import from tool-metadata) ensures that\n // TOOL_METADATA is read from the correct tools/ directory path — it is loaded once\n // in the Node.js CLI bootstrap context where import.meta.url resolves correctly.\n // Direct imports of tool-metadata break in standalone production builds.\n if (terminalPref !== 'system') {\n try {\n const service = resolve<IToolInstallerService>('IToolInstallerService');\n const config = service.getTerminalOpenConfig(terminalPref);\n\n if (config?.openDirectory.includes('{dir}')) {\n const resolved = config.openDirectory.replace('{dir}', targetPath);\n\n if (config.shell) {\n const child = spawn(resolved, [], {\n detached: true,\n stdio: 'ignore',\n shell: true,\n });\n child.on('error', () => undefined);\n child.unref();\n } else {\n const [command, ...args] = resolved.split(/\\s+/);\n const child = spawn(command, args, {\n detached: true,\n stdio: 'ignore',\n });\n child.on('error', () => undefined);\n child.unref();\n }\n\n return { success: true, path: targetPath, shell };\n }\n } catch {\n // DI container not available — fall through to system terminal\n }\n }\n\n // Fallback to system terminal\n const entry = SYSTEM_TERMINAL_COMMANDS[platform()];\n if (!entry) {\n return {\n success: false,\n error: `Unsupported platform: ${platform()}`,\n };\n }\n\n const child = spawn(entry.cmd, entry.args(targetPath), {\n detached: true,\n stdio: 'ignore',\n });\n child.on('error', () => undefined); // Prevent uncaught exception on spawn failure\n child.unref();\n\n return { success: true, path: targetPath, shell };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open shell';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { SyncRepositoryMainUseCase } from '@shepai/core/application/use-cases/repositories/sync-repository-main.use-case';\n\nexport async function syncRepository(\n repositoryId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!repositoryId?.trim()) {\n return { success: false, error: 'Repository id is required' };\n }\n\n try {\n const useCase = resolve<SyncRepositoryMainUseCase>('SyncRepositoryMainUseCase');\n await useCase.execute(repositoryId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to sync repository';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateProjectUseCase } from '@shepai/core/application/use-cases/projects/create-project.use-case';\n\nexport interface CreateProjectFolderResult {\n ok: boolean;\n /** Absolute path to the created folder, normalized to forward slashes. */\n path?: string;\n error?: string;\n}\n\n/**\n * Thin server-action wrapper around CreateProjectUseCase. All slug rules,\n * existence checks, filesystem mutations, and git bootstrapping live in the\n * use case + IProjectScaffoldService adapter — see:\n *\n * packages/core/src/application/use-cases/projects/create-project.use-case.ts\n * packages/core/src/infrastructure/services/project-scaffold/fs-project-scaffold.service.ts\n */\nexport async function createProjectFolder(name: string): Promise<CreateProjectFolderResult> {\n const useCase = resolve<CreateProjectUseCase>('CreateProjectUseCase');\n const result = await useCase.execute({ name });\n if (!result.ok) {\n return { ok: false, error: result.error };\n }\n return { ok: true, path: result.path };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ArchiveFeatureUseCase } from '@shepai/core/application/use-cases/features/archive-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function archiveFeature(\n featureId: string\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const archiveFeatureUseCase = resolve<ArchiveFeatureUseCase>('ArchiveFeatureUseCase');\n const feature = await archiveFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to archive feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteFeatureUseCase } from '@shepai/core/application/use-cases/features/delete-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function deleteFeature(\n featureId: string,\n cleanup?: boolean,\n cascadeDelete?: boolean,\n closePr?: boolean\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const deleteFeatureUseCase = resolve<DeleteFeatureUseCase>('DeleteFeatureUseCase');\n const options: { cleanup?: boolean; cascadeDelete?: boolean; closePr?: boolean } = {};\n if (cleanup !== undefined) options.cleanup = cleanup;\n if (cascadeDelete !== undefined) options.cascadeDelete = cascadeDelete;\n if (closePr !== undefined) options.closePr = closePr;\n const feature =\n Object.keys(options).length > 0\n ? await deleteFeatureUseCase.execute(featureId, options)\n : await deleteFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ResumeFeatureUseCase } from '@shepai/core/application/use-cases/features/resume-feature.use-case';\n\nexport async function resumeFeature(\n featureId: string\n): Promise<{ resumed: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { resumed: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<ResumeFeatureUseCase>('ResumeFeatureUseCase');\n await useCase.execute(featureId);\n return { resumed: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to resume feature';\n return { resumed: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StartFeatureUseCase } from '@shepai/core/application/use-cases/features/start-feature.use-case';\n\nexport async function startFeature(\n featureId: string\n): Promise<{ started: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { started: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<StartFeatureUseCase>('StartFeatureUseCase');\n await useCase.execute(featureId);\n return { started: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to start feature';\n return { started: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StopAgentRunUseCase } from '@shepai/core/application/use-cases/agents/stop-agent-run.use-case';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\n\nexport async function stopFeature(\n featureId: string\n): Promise<{ stopped: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { stopped: false, error: 'Feature id is required' };\n }\n\n try {\n // Find the active agent run for this feature\n const runRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const allRuns = await runRepo.list();\n const activeRun = allRuns.find(\n (r) =>\n r.featureId === featureId &&\n r.status !== 'completed' &&\n r.status !== 'failed' &&\n r.status !== 'interrupted' &&\n r.status !== 'cancelled'\n );\n\n if (!activeRun) {\n return { stopped: false, error: 'No active agent run found for this feature' };\n }\n\n const useCase = resolve<StopAgentRunUseCase>('StopAgentRunUseCase');\n const result = await useCase.execute(activeRun.id);\n\n if (!result.stopped) {\n return { stopped: false, error: result.reason };\n }\n return { stopped: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to stop agent';\n return { stopped: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { UnarchiveFeatureUseCase } from '@shepai/core/application/use-cases/features/unarchive-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function unarchiveFeature(\n featureId: string\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const unarchiveFeatureUseCase = resolve<UnarchiveFeatureUseCase>('UnarchiveFeatureUseCase');\n const feature = await unarchiveFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to unarchive feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { AddRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/add-repository.use-case';\nimport type { Repository } from '@shepai/core/domain/generated/output';\n\ninterface AddRepositoryInput {\n path: string;\n name?: string;\n}\n\nexport async function addRepository(\n input: AddRepositoryInput\n): Promise<{ repository?: Repository; error?: string }> {\n const { path, name } = input;\n\n if (!path?.trim()) {\n return { error: 'path is required' };\n }\n\n try {\n const addRepoUseCase = resolve<AddRepositoryUseCase>('AddRepositoryUseCase');\n const repository = await addRepoUseCase.execute({ path, name });\n return { repository };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add repository';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/delete-repository.use-case';\n\nexport interface DeleteRepositoryActionOptions {\n deleteFromDisk?: boolean;\n}\n\nexport async function deleteRepository(\n repositoryId: string,\n options?: DeleteRepositoryActionOptions\n): Promise<{ success: boolean; error?: string }> {\n if (!repositoryId?.trim()) {\n return { success: false, error: 'id is required' };\n }\n\n try {\n const useCase = resolve<DeleteRepositoryUseCase>('DeleteRepositoryUseCase');\n await useCase.execute(repositoryId, { deleteFromDisk: options?.deleteFromDisk === true });\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete repository';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\n/**\n * Lightweight server action to fetch a single feature's name and description.\n * Used by the SSE effect to update node metadata after AI metadata generation\n * without a full graph reconcile (which can overwrite SSE-driven state).\n */\nexport async function getFeatureMetadata(\n featureId: string\n): Promise<{ name: string; description: string } | null> {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n return { name: feature.name, description: feature.description };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ module.exports=[35556,a=>{"use strict";var b=a.i(92658),c=a.i(74533),d=a.i(12057),e=a.i(12581);let f=(0,d.promisify)(c.execFile);async function g(a,b){let{stdout:c}=await f("git",b,{cwd:a,timeout:5e3});return c.trim()}async function h(a,b=8){if(!a.trim())return{commits:[],branches:[],remotes:[],tags:[],stashCount:0,currentBranch:"",diffStats:null,workingTree:{staged:0,modified:0,untracked:0},error:"Repository path is required"};let c=await Promise.allSettled([g(a,["log",`--max-count=${b}`,"--format=%H%x00%h%x00%s%x00%an%x00%cr","--no-color"]),g(a,["branch","--show-current"]),g(a,["branch","--sort=-committerdate","--format=%(HEAD)%(refname:short)%00%(committerdate:relative)","--no-color"]),g(a,["remote","-v"]),g(a,["tag","--sort=-creatordate","-l","--format=%(refname:short)"]),g(a,["stash","list"]),g(a,["status","--porcelain"]),g(a,["diff","HEAD","--shortstat"])]),d=a=>"fulfilled"===c[a].status?c[a].value:"",e=d(0).split("\n").filter(Boolean).map(a=>{let[b,c,d,e,f]=a.split("\0");return{hash:b,shortHash:c,subject:d,author:e,relativeDate:f}}),f=d(1);e.length>0&&f&&(e[0].branch=f);let i=d(2).split("\n").filter(Boolean).slice(0,10).map(a=>{let b=a.startsWith("*"),[c,d]=(b?a.slice(1):a).split("\0");return{name:c.trim(),isCurrent:b,lastCommitDate:d?.trim()??""}}),j=new Map;d(3).split("\n").filter(Boolean).forEach(a=>{let b=a.match(/^(\S+)\s+(\S+)\s+\(fetch\)/);if(b){let a=b[2].replace(/\/\/[^@]+@/,"//").replace(/x-access-token:[^@]+@/,"");j.set(b[1],a)}});let k=Array.from(j,([a,b])=>({name:a,url:b})),l=d(4).split("\n").filter(Boolean).slice(0,5),m=d(5).split("\n").filter(Boolean).length,n=d(6).split("\n").filter(Boolean),o={staged:0,modified:0,untracked:0};for(let a of n){let b=a[0],c=a[1];"?"===b&&"?"===c?o.untracked++:" "!==b&&"?"!==b&&o.staged++," "!==c&&"?"!==c&&o.modified++}let p=null,q=d(7);if(q){let a=q.match(/(\d+) file/),b=q.match(/(\d+) insertion/),c=q.match(/(\d+) deletion/);p={filesChanged:a?parseInt(a[1],10):0,insertions:b?parseInt(b[1],10):0,deletions:c?parseInt(c[1],10):0}}return{commits:e,branches:i,remotes:k,tags:l,stashCount:m,currentBranch:f,diffStats:p,workingTree:o}}async function i(a,b=10){let c=await h(a,b);return{entries:c.commits,error:c.error}}(0,e.ensureServerEntryExports)([h,i]),(0,b.registerServerReference)(h,"60056cb1d88afe7b000b79614b93edfc589e20dfdb",null),(0,b.registerServerReference)(i,"60d09cdb708d3b0cfa0e6be3558887cc6fd471ebe8",null),a.s(["getGitRepoInfo",()=>h])},61035,a=>{"use strict";var b=a.i(23504),c=a.i(8115),d=a.i(27900),e=a.i(12513),f=a.i(73101),g=a.i(54775),h=a.i(65324),i=a.i(33841),j=a.i(46646),k=a.i(68378),l=a.i(68670),m=a.i(85321),n=a.i(84095),o=a.i(56799),p=a.i(80496),q=a.i(93225),r=a.i(94691),s=a.i(77710),t=a.i(45395),u=a.i(76707),v=a.i(10528),w=a.i(50845),x=a.i(26604),y=a.i(54723),z=a.i(18942),A=a.i(42886),B=a.i(49560),C=a.i(39353),D=a.i(95072),E=a.i(29207),F=a.i(35556);a.s([],43223),a.i(43223),a.s(["0090375660d2bf0df09932302bb2d6896c322ddc2f",()=>g.listGitHubOrganizations,"009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4",()=>e.pickFolder,"00dbbf086a7ef425edbbc5cb9795264e9a155bd40b",()=>c.checkAllAgentsStatus,"00f373462bd571a1792715325fb5184a126c445327",()=>b.getAllAgentModels,"400b887a616cbf773d1916f3c9befda61ada388bbd",()=>x.resumeFeature,"4019757a68b2ab125dac7b85cd2e1dac22da3db6c5",()=>i.deployFeature,"401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99",()=>o.openShell,"40227fbf1f06087486d930f2be73341e7ed80091c3",()=>n.openIde,"4026e56be70d948dc3268ab6e2f2886a1104d8cd07",()=>s.createProjectAndFeature,"402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40",()=>r.getDeploymentLogs,"402cdb26f49257eeb71728b1b3e61835d9fcf99014",()=>A.unarchiveFeature,"4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95",()=>f.listGitHubRepositories,"4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e",()=>l.stopDeployment,"4066f99f07b348d08962c2d7639dd18f214b5947e1",()=>E.getFeatureMetadata,"40726cf93f7ac7e2721f95270a9e1add6a92c81e35",()=>y.startFeature,"407ae360e1c587f168a62691f5fbb902cc30239161",()=>p.openFolder,"40895ee90ed9c02eb9b0d9db928e937cde07a407a4",()=>h.importGitHubRepository,"408ebe4b532992092d18a9b513f7f54038544f0585",()=>k.deployApplication,"40948fe1c9352411e89edf299ed1e8f51bce06bee4",()=>j.deployRepository,"40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41",()=>D.deleteApplication,"40a57525e1106170a91c42e7c7f3fa9a53481100c8",()=>q.syncRepository,"40bf7f0efdba8ee98115b817c2be5858318a7f47e8",()=>z.stopFeature,"40c3e4f1640509f222ee938f58e619fb9dc9e885ad",()=>m.getDeploymentStatus,"40d591435cbf5e2844d6b0f56fb270938d5c8489e7",()=>u.createProjectFolder,"40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9",()=>B.addRepository,"40efbe9d403a44d886e0e48abc4980547033c4d898",()=>v.archiveFeature,"40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348",()=>t.createApplication,"60056cb1d88afe7b000b79614b93edfc589e20dfdb",()=>F.getGitRepoInfo,"606a87dde2ab8df2216d158a8b5e396110073e0a9b",()=>C.deleteRepository,"60b4cbab57a503aa7c536cfc32583da15139bead1a",()=>d.updateAgentAndModel,"78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c",()=>w.deleteFeature],61035)}];
2
+
3
+ //# sourceMappingURL=src_presentation_web_b95ed206._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/app/actions/get-git-log.ts","../../../../../../../src/presentation/web/.next-internal/server/app/%28dashboard%29/%40drawer/repository/%5BrepositoryId%5D/%5Btab%5D/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["'use server';\n\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\n\nconst execFileAsync = promisify(execFile);\n\nasync function git(cwd: string, args: string[]): Promise<string> {\n const { stdout } = await execFileAsync('git', args, { cwd, timeout: 5000 });\n return stdout.trim();\n}\n\nexport interface GitLogEntry {\n hash: string;\n shortHash: string;\n subject: string;\n author: string;\n relativeDate: string;\n branch?: string;\n}\n\nexport interface GitBranchInfo {\n name: string;\n isCurrent: boolean;\n lastCommitDate: string;\n}\n\nexport interface GitRemoteInfo {\n name: string;\n url: string;\n}\n\nexport interface GitWorkingTreeStatus {\n staged: number;\n modified: number;\n untracked: number;\n}\n\nexport interface GitDiffStats {\n filesChanged: number;\n insertions: number;\n deletions: number;\n}\n\nexport interface GitRepoInfo {\n commits: GitLogEntry[];\n branches: GitBranchInfo[];\n remotes: GitRemoteInfo[];\n tags: string[];\n stashCount: number;\n currentBranch: string;\n diffStats: GitDiffStats | null;\n workingTree: GitWorkingTreeStatus;\n error?: string;\n}\n\nexport async function getGitRepoInfo(\n repositoryPath: string,\n commitLimit = 8\n): Promise<GitRepoInfo> {\n const empty: GitRepoInfo = {\n commits: [],\n branches: [],\n remotes: [],\n tags: [],\n stashCount: 0,\n currentBranch: '',\n diffStats: null,\n workingTree: { staged: 0, modified: 0, untracked: 0 },\n };\n\n if (!repositoryPath.trim()) {\n return { ...empty, error: 'Repository path is required' };\n }\n\n const results = await Promise.allSettled([\n // 0: commits\n git(repositoryPath, [\n 'log',\n `--max-count=${commitLimit}`,\n '--format=%H%x00%h%x00%s%x00%an%x00%cr',\n '--no-color',\n ]),\n // 1: current branch\n git(repositoryPath, ['branch', '--show-current']),\n // 2: branches with dates\n git(repositoryPath, [\n 'branch',\n '--sort=-committerdate',\n '--format=%(HEAD)%(refname:short)%00%(committerdate:relative)',\n '--no-color',\n ]),\n // 3: remotes\n git(repositoryPath, ['remote', '-v']),\n // 4: tags (recent 5)\n git(repositoryPath, ['tag', '--sort=-creatordate', '-l', '--format=%(refname:short)']),\n // 5: stash count\n git(repositoryPath, ['stash', 'list']),\n // 6: working tree status\n git(repositoryPath, ['status', '--porcelain']),\n // 7: diff stats (uncommitted — includes staged + unstaged vs HEAD)\n git(repositoryPath, ['diff', 'HEAD', '--shortstat']),\n ]);\n\n const val = (i: number) => (results[i].status === 'fulfilled' ? results[i].value : '');\n\n // Parse commits\n const commits: GitLogEntry[] = val(0)\n .split('\\n')\n .filter(Boolean)\n .map((line: string) => {\n const [hash, shortHash, subject, author, relativeDate] = line.split('\\0');\n return { hash, shortHash, subject, author, relativeDate };\n });\n\n const currentBranch = val(1);\n if (commits.length > 0 && currentBranch) {\n commits[0].branch = currentBranch;\n }\n\n // Parse branches\n const branches: GitBranchInfo[] = val(2)\n .split('\\n')\n .filter(Boolean)\n .slice(0, 10)\n .map((line: string) => {\n const isCurrent = line.startsWith('*');\n const clean = isCurrent ? line.slice(1) : line;\n const [name, lastCommitDate] = clean.split('\\0');\n return { name: name.trim(), isCurrent, lastCommitDate: lastCommitDate?.trim() ?? '' };\n });\n\n // Parse remotes (dedup fetch/push)\n const remoteMap = new Map<string, string>();\n val(3)\n .split('\\n')\n .filter(Boolean)\n .forEach((line: string) => {\n const match = line.match(/^(\\S+)\\s+(\\S+)\\s+\\(fetch\\)/);\n if (match) {\n // Strip credentials/tokens from URL before sending to client\n const sanitized = match[2].replace(/\\/\\/[^@]+@/, '//').replace(/x-access-token:[^@]+@/, '');\n remoteMap.set(match[1], sanitized);\n }\n });\n const remotes: GitRemoteInfo[] = Array.from(remoteMap, ([name, url]) => ({ name, url }));\n\n // Parse tags (top 5)\n const tags = val(4).split('\\n').filter(Boolean).slice(0, 5);\n\n // Stash count\n const stashCount = val(5).split('\\n').filter(Boolean).length;\n\n // Working tree status\n const statusLines = val(6).split('\\n').filter(Boolean);\n const workingTree: GitWorkingTreeStatus = { staged: 0, modified: 0, untracked: 0 };\n for (const line of statusLines) {\n const x = line[0];\n const y = line[1];\n if (x === '?' && y === '?') workingTree.untracked++;\n else if (x !== ' ' && x !== '?') workingTree.staged++;\n if (y !== ' ' && y !== '?') workingTree.modified++;\n }\n\n // Diff stats\n let diffStats: GitDiffStats | null = null;\n const diffLine = val(7);\n if (diffLine) {\n const files = diffLine.match(/(\\d+) file/);\n const ins = diffLine.match(/(\\d+) insertion/);\n const del = diffLine.match(/(\\d+) deletion/);\n diffStats = {\n filesChanged: files ? parseInt(files[1], 10) : 0,\n insertions: ins ? parseInt(ins[1], 10) : 0,\n deletions: del ? parseInt(del[1], 10) : 0,\n };\n }\n\n return { commits, branches, remotes, tags, stashCount, currentBranch, diffStats, workingTree };\n}\n\n// Keep backward compat\nexport async function getGitLog(\n repositoryPath: string,\n limit = 10\n): Promise<{ entries: GitLogEntry[]; error?: string }> {\n const info = await getGitRepoInfo(repositoryPath, limit);\n return { entries: info.commits, error: info.error };\n}\n","export {getAllAgentModels as '00f373462bd571a1792715325fb5184a126c445327'} from 'ACTIONS_MODULE0'\nexport {checkAllAgentsStatus as '00dbbf086a7ef425edbbc5cb9795264e9a155bd40b'} from 'ACTIONS_MODULE1'\nexport {updateAgentAndModel as '60b4cbab57a503aa7c536cfc32583da15139bead1a'} from 'ACTIONS_MODULE2'\nexport {pickFolder as '009691a6cd3b2c2ef91fbc73255d2709b6c5d051c4'} from 'ACTIONS_MODULE3'\nexport {listGitHubRepositories as '4031ecccb7cd5c86319137da2af0a51b0c0f8e0d95'} from 'ACTIONS_MODULE4'\nexport {listGitHubOrganizations as '0090375660d2bf0df09932302bb2d6896c322ddc2f'} from 'ACTIONS_MODULE5'\nexport {importGitHubRepository as '40895ee90ed9c02eb9b0d9db928e937cde07a407a4'} from 'ACTIONS_MODULE6'\nexport {deployFeature as '4019757a68b2ab125dac7b85cd2e1dac22da3db6c5'} from 'ACTIONS_MODULE7'\nexport {deployRepository as '40948fe1c9352411e89edf299ed1e8f51bce06bee4'} from 'ACTIONS_MODULE8'\nexport {deployApplication as '408ebe4b532992092d18a9b513f7f54038544f0585'} from 'ACTIONS_MODULE9'\nexport {stopDeployment as '4058d4d774b9a00d4ea404dc2e1dffd3559a13fa1e'} from 'ACTIONS_MODULE10'\nexport {getDeploymentStatus as '40c3e4f1640509f222ee938f58e619fb9dc9e885ad'} from 'ACTIONS_MODULE11'\nexport {openIde as '40227fbf1f06087486d930f2be73341e7ed80091c3'} from 'ACTIONS_MODULE12'\nexport {openShell as '401e7b7f484afefb6755fb3d3f2c2a4c3ed1ec3f99'} from 'ACTIONS_MODULE13'\nexport {openFolder as '407ae360e1c587f168a62691f5fbb902cc30239161'} from 'ACTIONS_MODULE14'\nexport {syncRepository as '40a57525e1106170a91c42e7c7f3fa9a53481100c8'} from 'ACTIONS_MODULE15'\nexport {getDeploymentLogs as '402a5f9c99ccbf1d3c0cc441ba92b451798b3f5c40'} from 'ACTIONS_MODULE16'\nexport {createProjectAndFeature as '4026e56be70d948dc3268ab6e2f2886a1104d8cd07'} from 'ACTIONS_MODULE17'\nexport {createApplication as '40f8c300c4c7d5f53c5c9434afc2eaaa9da4769348'} from 'ACTIONS_MODULE18'\nexport {createProjectFolder as '40d591435cbf5e2844d6b0f56fb270938d5c8489e7'} from 'ACTIONS_MODULE19'\nexport {archiveFeature as '40efbe9d403a44d886e0e48abc4980547033c4d898'} from 'ACTIONS_MODULE20'\nexport {deleteFeature as '78ffe5e01b8dbdc2aea6bf9627a1d57fc4f618024c'} from 'ACTIONS_MODULE21'\nexport {resumeFeature as '400b887a616cbf773d1916f3c9befda61ada388bbd'} from 'ACTIONS_MODULE22'\nexport {startFeature as '40726cf93f7ac7e2721f95270a9e1add6a92c81e35'} from 'ACTIONS_MODULE23'\nexport {stopFeature as '40bf7f0efdba8ee98115b817c2be5858318a7f47e8'} from 'ACTIONS_MODULE24'\nexport {unarchiveFeature as '402cdb26f49257eeb71728b1b3e61835d9fcf99014'} from 'ACTIONS_MODULE25'\nexport {addRepository as '40d9f11e8b5a5014c05d6e7c71d286bc3e3cf967f9'} from 'ACTIONS_MODULE26'\nexport {deleteRepository as '606a87dde2ab8df2216d158a8b5e396110073e0a9b'} from 'ACTIONS_MODULE27'\nexport {deleteApplication as '40967a1f7fb638f1a5c3db0578e8e9496de2aa9b41'} from 'ACTIONS_MODULE28'\nexport {getFeatureMetadata as '4066f99f07b348d08962c2d7639dd18f214b5947e1'} from 'ACTIONS_MODULE29'\nexport {getGitRepoInfo as '60056cb1d88afe7b000b79614b93edfc589e20dfdb'} from 'ACTIONS_MODULE30'\n"],"names":[],"mappings":"wDAEA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,oBAEA,IAAM,EAAgB,CAAA,EAAA,EAAA,SAAA,AAAS,EAAC,EAAA,QAAQ,EAExC,eAAe,EAAI,CAAW,CAAE,CAAc,EAC5C,GAAM,QAAE,CAAM,CAAE,CAAG,MAAM,EAAc,MAAO,EAAM,KAAE,EAAK,QAAS,GAAK,GACzE,OAAO,EAAO,IAAI,EACpB,CA8CO,eAAe,EACpB,CAAsB,CACtB,EAAc,CAAC,EAaf,GAAI,CAAC,EAAe,IAAI,GACtB,CAD0B,KACnB,CAXP,QAAS,EAAE,CACX,SAAU,EAAE,CACZ,QAAS,EAAE,CACX,KAAM,EAAE,CACR,WAAY,EACZ,cAAe,GACf,UAAW,KACX,YAAa,CAAE,OAAQ,EAAG,SAAU,EAAG,UAAW,CAAE,EAIjC,MAAO,6BAA8B,EAG1D,IAAM,EAAU,MAAM,QAAQ,UAAU,CAAC,CAEvC,EAAI,EAAgB,CAClB,MACA,CAAC,YAAY,EAAE,EAAA,CAAa,CAC5B,wCACA,aACD,EAED,EAAI,EAAgB,CAAC,SAAU,iBAAiB,EAEhD,EAAI,EAAgB,CAClB,SACA,wBACA,+DACA,aACD,EAED,EAAI,EAAgB,CAAC,SAAU,KAAK,EAEpC,EAAI,EAAgB,CAAC,MAAO,sBAAuB,KAAM,4BAA4B,EAErF,EAAI,EAAgB,CAAC,QAAS,OAAO,EAErC,EAAI,EAAgB,CAAC,SAAU,cAAc,EAE7C,EAAI,EAAgB,CAAC,OAAQ,OAAQ,cAAc,EACpD,EAEK,EAAM,AAAC,GAAqC,cAAtB,CAAO,CAAC,EAAE,CAAC,MAAM,CAAmB,CAAO,CAAC,EAAE,CAAC,KAAK,CAAG,GAG7E,EAAyB,EAAI,GAChC,KAAK,CAAC,MACN,MAAM,CAAC,SACP,GAAG,CAAC,AAAC,IACJ,GAAM,CAAC,EAAM,EAAW,EAAS,EAAQ,EAAa,CAAG,EAAK,KAAK,CAAC,MACpE,MAAO,MAAE,YAAM,UAAW,SAAS,EAAQ,cAAa,CAC1D,GAEI,EAAgB,EAAI,GACtB,EAAQ,MAAM,CAAG,GAAK,IACxB,CAAO,CAAC,EAAE,CAAC,MAAM,AADsB,CACnB,CAAA,EAItB,IAAM,EAA4B,EAAI,GACnC,KAAK,CAAC,MACN,MAAM,CAAC,SACP,KAAK,CAAC,EAAG,IACT,GAAG,CAAC,AAAC,IACJ,IAAM,EAAY,EAAK,UAAU,CAAC,KAE5B,CAAC,EAAM,EAAe,CAAG,CADjB,EAAY,EAAK,KAAK,CAAC,GAAK,CAAA,EACL,KAAK,CAAC,MAC3C,MAAO,CAAE,KAAM,EAAK,IAAI,aAAI,EAAW,eAAgB,GAAgB,QAAU,EAAG,CACtF,GAGI,EAAY,IAAI,IACtB,EAAI,GACD,KAAK,CAAC,MACN,MAAM,CAAC,SACP,OAAO,CAAE,AAAD,IACP,IAAM,EAAQ,EAAK,KAAK,CAAC,8BACzB,GAAI,EAAO,CAET,IAAM,EAAY,CAAK,CAAC,EAAE,CAAC,OAAO,CAAC,aAAc,MAAM,OAAO,CAAC,wBAAyB,IACxF,EAAU,GAAG,CAAC,CAAK,CAAC,EAAE,CAAE,EAC1B,CACF,GACF,IAAM,EAA2B,MAAM,IAAI,CAAC,EAAW,CAAC,CAAC,EAAM,EAAI,GAAK,CAAC,MAAE,MAAM,EAAI,CAAC,EAGhF,EAAO,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SAAS,KAAK,CAAC,EAAG,GAGnD,EAAa,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SAAS,MAAM,CAGtD,EAAc,EAAI,GAAG,KAAK,CAAC,MAAM,MAAM,CAAC,SACxC,EAAoC,CAAE,OAAQ,EAAG,SAAU,EAAG,UAAW,CAAE,EACjF,IAAK,IAAM,KAAQ,EAAa,CAC9B,IAAM,EAAI,CAAI,CAAC,EAAE,CACX,EAAI,CAAI,CAAC,EAAE,CACP,MAAN,GAAmB,MAAN,EAAW,EAAY,SAAS,GAClC,MAAN,GAAmB,MAAN,GAAW,EAAY,MAAM,GACzC,MAAN,GAAmB,MAAN,GAAW,EAAY,QAAQ,EAClD,CAGA,IAAI,EAAiC,KAC/B,EAAW,EAAI,GACrB,GAAI,EAAU,CACZ,IAAM,EAAQ,EAAS,KAAK,CAAC,cACvB,EAAM,EAAS,KAAK,CAAC,mBACrB,EAAM,EAAS,KAAK,CAAC,kBAC3B,EAAY,CACV,aAAc,EAAQ,SAAS,CAAK,CAAC,EAAE,CAAE,IAAM,EAC/C,WAAY,EAAM,SAAS,CAAG,CAAC,EAAE,CAAE,IAAM,EACzC,UAAW,EAAM,SAAS,CAAG,CAAC,EAAE,CAAE,IAAM,CAC1C,CACF,CAEA,MAAO,SAAE,EAAS,mBAAU,OAAS,aAAM,gBAAY,YAAe,cAAW,CAAY,CAC/F,CAGO,eAAe,EACpB,CAAsB,CACtB,EAAQ,EAAE,EAEV,IAAM,EAAO,MAAM,EAAe,EAAgB,GAClD,MAAO,CAAE,QAAS,EAAK,OAAO,CAAE,MAAO,EAAK,KAAK,AAAC,CACpD,iCApIsB,EA8HA,IA9HA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MA8HA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,4DCtLtB,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA"}
@@ -0,0 +1,3 @@
1
+ module.exports=[15638,a=>{"use strict";a.s(["ControlCenter",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ControlCenter() from the server but ControlCenter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/control-center.tsx <module evaluation>","ControlCenter")},87979,a=>{"use strict";a.s(["ControlCenter",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call ControlCenter() from the server but ControlCenter is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/control-center.tsx","ControlCenter")},35685,a=>{"use strict";a.i(15638);var b=a.i(87979);a.n(b)},79957,a=>{"use strict";a.s(["useControlCenterState",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call useControlCenterState() from the server but useControlCenterState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/use-control-center-state.ts <module evaluation>","useControlCenterState")},81035,a=>{"use strict";a.s(["useControlCenterState",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call useControlCenterState() from the server but useControlCenterState is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/control-center/use-control-center-state.ts","useControlCenterState")},62858,a=>{"use strict";a.i(79957);var b=a.i(81035);a.n(b)},73941,a=>{"use strict";a.s(["DeploymentStatusProvider",()=>c,"EMPTY_ENTRY",()=>d,"useDeploymentStatusContext",()=>e,"useDeploymentStatusContextOptional",()=>f]);var b=a.i(28478);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call DeploymentStatusProvider() from the server but DeploymentStatusProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx <module evaluation>","DeploymentStatusProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call EMPTY_ENTRY() from the server but EMPTY_ENTRY is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx <module evaluation>","EMPTY_ENTRY"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call useDeploymentStatusContext() from the server but useDeploymentStatusContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx <module evaluation>","useDeploymentStatusContext"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call useDeploymentStatusContextOptional() from the server but useDeploymentStatusContextOptional is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx <module evaluation>","useDeploymentStatusContextOptional")},75288,a=>{"use strict";a.s(["DeploymentStatusProvider",()=>c,"EMPTY_ENTRY",()=>d,"useDeploymentStatusContext",()=>e,"useDeploymentStatusContextOptional",()=>f]);var b=a.i(28478);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call DeploymentStatusProvider() from the server but DeploymentStatusProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx","DeploymentStatusProvider"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call EMPTY_ENTRY() from the server but EMPTY_ENTRY is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx","EMPTY_ENTRY"),e=(0,b.registerClientReference)(function(){throw Error("Attempted to call useDeploymentStatusContext() from the server but useDeploymentStatusContext is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx","useDeploymentStatusContext"),f=(0,b.registerClientReference)(function(){throw Error("Attempted to call useDeploymentStatusContextOptional() from the server but useDeploymentStatusContextOptional is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/hooks/deployment-status-provider.tsx","useDeploymentStatusContextOptional")},42966,a=>{"use strict";a.i(73941);var b=a.i(75288);a.n(b)},19981,a=>{"use strict";var b=a.i(92807),c=a.i(35685);a.i(62858);var d=a.i(42966),e=a.i(74533),f=a.i(12057);let g="win32"===process.platform;var h=a.i(96380),i=a.i(33244),j=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),k=j((a,b)=>{var c=Object.defineProperty,d=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),e=(a,b,d)=>{let e;return(e="symbol"!=typeof b?b+"":b)in a?c(a,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):a[e]=d},f=d((a,b)=>{function c(a,b){a[b]?a[b]++:a[b]=1}function d(a,b){--a[b]||delete a[b]}function f(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}return e+"\x01"+f+"\x01"+(void 0===d?"\0":d)}function g(a,b){return f(a,b.v,b.w,b.name)}b.exports=class{constructor(a){e(this,"_isDirected",!0),e(this,"_isMultigraph",!1),e(this,"_isCompound",!1),e(this,"_label"),e(this,"_defaultNodeLabelFn",()=>{}),e(this,"_defaultEdgeLabelFn",()=>{}),e(this,"_nodes",{}),e(this,"_in",{}),e(this,"_preds",{}),e(this,"_out",{}),e(this,"_sucs",{}),e(this,"_edgeObjs",{}),e(this,"_edgeLabels",{}),e(this,"_nodeCount",0),e(this,"_edgeCount",0),e(this,"_parent"),e(this,"_children"),a&&(this._isDirected=!Object.hasOwn(a,"directed")||a.directed,this._isMultigraph=!!Object.hasOwn(a,"multigraph")&&a.multigraph,this._isCompound=!!Object.hasOwn(a,"compound")&&a.compound),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return this._defaultNodeLabelFn=a,"function"!=typeof a&&(this._defaultNodeLabelFn=()=>a),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._in[b]).length)}sinks(){var a=this;return this.nodes().filter(b=>0===Object.keys(a._out[b]).length)}setNodes(a,b){var c=arguments,d=this;return a.forEach(function(a){c.length>1?d.setNode(a,b):d.setNode(a)}),this}setNode(a,b){return Object.hasOwn(this._nodes,a)?arguments.length>1&&(this._nodes[a]=b):(this._nodes[a]=arguments.length>1?b:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]="\0",this._children[a]={},this._children["\0"][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount),this}node(a){return this._nodes[a]}hasNode(a){return Object.hasOwn(this._nodes,a)}removeNode(a){var b=this;if(Object.hasOwn(this._nodes,a)){var c=a=>b.removeEdge(b._edgeObjs[a]);delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],this.children(a).forEach(function(a){b.setParent(a)}),delete this._children[a]),Object.keys(this._in[a]).forEach(c),delete this._in[a],delete this._preds[a],Object.keys(this._out[a]).forEach(c),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,b){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(void 0===b)b="\0";else{b+="";for(var c=b;void 0!==c;c=this.parent(c))if(c===a)throw Error("Setting "+b+" as parent of "+a+" would create a cycle");this.setNode(b)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=b,this._children[b][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var b=this._parent[a];if("\0"!==b)return b}}children(a="\0"){if(this._isCompound){var b=this._children[a];if(b)return Object.keys(b)}else{if("\0"===a)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var b=this._preds[a];if(b)return Object.keys(b)}successors(a){var b=this._sucs[a];if(b)return Object.keys(b)}neighbors(a){var b=this.predecessors(a);if(b){let d=new Set(b);for(var c of this.successors(a))d.add(c);return Array.from(d.values())}}isLeaf(a){return 0===(this.isDirected()?this.successors(a):this.neighbors(a)).length}filterNodes(a){var b=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});b.setGraph(this.graph());var c=this;Object.entries(this._nodes).forEach(function([c,d]){a(c)&&b.setNode(c,d)}),Object.values(this._edgeObjs).forEach(function(a){b.hasNode(a.v)&&b.hasNode(a.w)&&b.setEdge(a,c.edge(a))});var d={};return this._isCompound&&b.nodes().forEach(a=>b.setParent(a,function a(e){var f=c.parent(e);return void 0===f||b.hasNode(f)?(d[e]=f,f):f in d?d[f]:a(f)}(a))),b}setDefaultEdgeLabel(a){return this._defaultEdgeLabelFn=a,"function"!=typeof a&&(this._defaultEdgeLabelFn=()=>a),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(a,b){var c=this,d=arguments;return a.reduce(function(a,e){return d.length>1?c.setEdge(a,e,b):c.setEdge(a,e),e}),this}setEdge(){var a,b,d,e,g=!1,h=arguments[0];"object"==typeof h&&null!==h&&"v"in h?(a=h.v,b=h.w,d=h.name,2==arguments.length&&(e=arguments[1],g=!0)):(a=h,b=arguments[1],d=arguments[3],arguments.length>2&&(e=arguments[2],g=!0)),a=""+a,b=""+b,void 0!==d&&(d=""+d);var i=f(this._isDirected,a,b,d);if(Object.hasOwn(this._edgeLabels,i))return g&&(this._edgeLabels[i]=e),this;if(void 0!==d&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(b),this._edgeLabels[i]=g?e:this._defaultEdgeLabelFn(a,b,d);var j=function(a,b,c,d){var e=""+b,f=""+c;if(!a&&e>f){var g=e;e=f,f=g}var h={v:e,w:f};return d&&(h.name=d),h}(this._isDirected,a,b,d);return a=j.v,b=j.w,Object.freeze(j),this._edgeObjs[i]=j,c(this._preds[b],a),c(this._sucs[a],b),this._in[b][i]=j,this._out[a][i]=j,this._edgeCount++,this}edge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return this._edgeLabels[d]}edgeAsObj(){let a=this.edge(...arguments);return"object"!=typeof a?{label:a}:a}hasEdge(a,b,c){var d=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c);return Object.hasOwn(this._edgeLabels,d)}removeEdge(a,b,c){var e=1==arguments.length?g(this._isDirected,arguments[0]):f(this._isDirected,a,b,c),h=this._edgeObjs[e];return h&&(a=h.v,b=h.w,delete this._edgeLabels[e],delete this._edgeObjs[e],d(this._preds[b],a),d(this._sucs[a],b),delete this._in[b][e],delete this._out[a][e],this._edgeCount--),this}inEdges(a,b){return this.isDirected()?this.filterEdges(this._in[a],a,b):this.nodeEdges(a,b)}outEdges(a,b){return this.isDirected()?this.filterEdges(this._out[a],a,b):this.nodeEdges(a,b)}nodeEdges(a,b){if(a in this._nodes)return this.filterEdges({...this._in[a],...this._out[a]},a,b)}filterEdges(a,b,c){if(a){var d=Object.values(a);return c?d.filter(function(a){return a.v===b&&a.w===c||a.v===c&&a.w===b}):d}}}}),g=d((a,b)=>{b.exports="3.0.2"}),h=d((a,b)=>{b.exports={Graph:f(),version:g()}}),i=d((a,b)=>{var c=f();b.exports={write:function(a){var b,c,d={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:(b=a).nodes().map(function(a){var c=b.node(a),d=b.parent(a),e={v:a};return void 0!==c&&(e.value=c),void 0!==d&&(e.parent=d),e}),edges:(c=a).edges().map(function(a){var b=c.edge(a),d={v:a.v,w:a.w};return void 0!==a.name&&(d.name=a.name),void 0!==b&&(d.value=b),d})};return void 0!==a.graph()&&(d.value=structuredClone(a.graph())),d},read:function(a){var b=new c(a.options).setGraph(a.value);return a.nodes.forEach(function(a){b.setNode(a.v,a.value),a.parent&&b.setParent(a.v,a.parent)}),a.edges.forEach(function(a){b.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),b}}}),j=d((a,b)=>{b.exports=function(a,b,d,e){return function(a,b,c,d){var e={},f=!0,g=0,h=a.nodes(),i=function(a){var b=c(a);e[a.v].distance+b<e[a.w].distance&&(e[a.w]={distance:e[a.v].distance+b,predecessor:a.v},f=!0)},j=function(){h.forEach(function(a){d(a).forEach(function(b){var c=b.v===a?b.v:b.w,d=c===b.v?b.w:b.v;i({v:c,w:d})})})};h.forEach(function(a){e[a]={distance:a===b?0:1/0}});for(var k=h.length,l=1;l<k&&(f=!1,g++,j(),f);l++);if(g===k-1&&(f=!1,j(),f))throw Error("The graph contains a negative weight cycle");return e}(a,String(b),d||c,e||function(b){return a.outEdges(b)})};var c=()=>1}),k=d((a,b)=>{b.exports=function(a){var b,c={},d=[];return a.nodes().forEach(function(e){b=[],function d(e){Object.hasOwn(c,e)||(c[e]=!0,b.push(e),a.successors(e).forEach(d),a.predecessors(e).forEach(d))}(e),b.length&&d.push(b)}),d}}),l=d((a,b)=>{b.exports=class{constructor(){e(this,"_arr",[]),e(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(a){return a.key})}has(a){return Object.hasOwn(this._keyIndices,a)}priority(a){var b=this._keyIndices[a];if(void 0!==b)return this._arr[b].priority}min(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key}add(a,b){var c=this._keyIndices;if(!Object.hasOwn(c,a=String(a))){var d=this._arr,e=d.length;return c[a]=e,d.push({key:a,priority:b}),this._decrease(e),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var a=this._arr.pop();return delete this._keyIndices[a.key],this._heapify(0),a.key}decrease(a,b){var c=this._keyIndices[a];if(b>this._arr[c].priority)throw Error("New priority is greater than current priority. Key: "+a+" Old: "+this._arr[c].priority+" New: "+b);this._arr[c].priority=b,this._decrease(c)}_heapify(a){var b=this._arr,c=2*a,d=c+1,e=a;c<b.length&&(e=b[c].priority<b[e].priority?c:e,d<b.length&&(e=b[d].priority<b[e].priority?d:e),e!==a&&(this._swap(a,e),this._heapify(e)))}_decrease(a){for(var b,c=this._arr,d=c[a].priority;0!==a&&!(c[b=a>>1].priority<d);)this._swap(a,b),a=b}_swap(a,b){var c=this._arr,d=this._keyIndices,e=c[a],f=c[b];c[a]=f,c[b]=e,d[f.key]=a,d[e.key]=b}}}),m=d((a,b)=>{var c=l();b.exports=function(a,b,e,f){return function(a,b,d,e){var f,g,h={},i=new c,j=function(a){var b=a.v!==f?a.v:a.w,c=h[b],e=d(a),j=g.distance+e;if(e<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+a+" Weight: "+e);j<c.distance&&(c.distance=j,c.predecessor=f,i.decrease(b,j))};for(a.nodes().forEach(function(a){var c=a===b?0:1/0;h[a]={distance:c},i.add(a,c)});i.size()>0&&(g=h[f=i.removeMin()]).distance!==1/0;)e(f).forEach(j);return h}(a,String(b),e||d,f||function(b){return a.outEdges(b)})};var d=()=>1}),n=d((a,b)=>{var c=m();b.exports=function(a,b,d){return a.nodes().reduce(function(e,f){return e[f]=c(a,f,b,d),e},{})}}),o=d((a,b)=>{b.exports=function(a,b,c){if(void 0!==a[b].predecessor)throw Error("Invalid source vertex");if(void 0===a[c].predecessor&&c!==b)throw Error("Invalid destination vertex");return{weight:a[c].distance,path:function(a,b,c){for(var d=[],e=c;e!==b;)d.push(e),e=a[e].predecessor;return d.push(b),d.reverse()}(a,b,c)}}}),p=d((a,b)=>{b.exports=function(a){var b=0,c=[],d={},e=[];return a.nodes().forEach(function(f){Object.hasOwn(d,f)||function f(g){var h=d[g]={onStack:!0,lowlink:b,index:b++};if(c.push(g),a.successors(g).forEach(function(a){Object.hasOwn(d,a)?d[a].onStack&&(h.lowlink=Math.min(h.lowlink,d[a].index)):(f(a),h.lowlink=Math.min(h.lowlink,d[a].lowlink))}),h.lowlink===h.index){var i,j=[];do d[i=c.pop()].onStack=!1,j.push(i);while(g!==i)e.push(j)}}(f)}),e}}),q=d((a,b)=>{var c=p();b.exports=function(a){return c(a).filter(function(b){return b.length>1||1===b.length&&a.hasEdge(b[0],b[0])})}}),r=d((a,b)=>{b.exports=function(a,b,d){var e,f,g,h,i;return e=a,f=b||c,g=d||function(b){return a.outEdges(b)},h={},(i=e.nodes()).forEach(function(a){h[a]={},h[a][a]={distance:0},i.forEach(function(b){a!==b&&(h[a][b]={distance:1/0})}),g(a).forEach(function(b){var c=b.v===a?b.w:b.v,d=f(b);h[a][c]={distance:d,predecessor:a}})}),i.forEach(function(a){var b=h[a];i.forEach(function(c){var d=h[c];i.forEach(function(c){var e=d[a],f=b[c],g=d[c],h=e.distance+f.distance;h<g.distance&&(g.distance=h,g.predecessor=f.predecessor)})})}),h};var c=()=>1}),s=d((a,b)=>{function c(a){var b={},c={},e=[];if(a.sinks().forEach(function f(g){if(Object.hasOwn(c,g))throw new d;Object.hasOwn(b,g)||(c[g]=!0,b[g]=!0,a.predecessors(g).forEach(f),delete c[g],e.push(g))}),Object.keys(b).length!==a.nodeCount())throw new d;return e}var d=class extends Error{constructor(){super(...arguments)}};b.exports=c,c.CycleException=d}),t=d((a,b)=>{var c=s();b.exports=function(a){try{c(a)}catch(a){if(a instanceof c.CycleException)return!1;throw a}return!0}}),u=d((a,b)=>{b.exports=function(a,b,c,d,e){Array.isArray(b)||(b=[b]);var f=(a.isDirected()?a.successors:a.neighbors).bind(a),g={};return b.forEach(function(b){if(!a.hasNode(b))throw Error("Graph does not have node: "+b);e=function a(b,c,d,e,f,g,h){return Object.hasOwn(e,c)||(e[c]=!0,d||(h=g(h,c)),f(c).forEach(function(c){h=a(b,c,d,e,f,g,h)}),d&&(h=g(h,c))),h}(a,b,"post"===c,g,f,d,e)}),e}}),v=d((a,b)=>{var c=u();b.exports=function(a,b,d){return c(a,b,d,function(a,b){return a.push(b),a},[])}}),w=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"post")}}),x=d((a,b)=>{var c=v();b.exports=function(a,b){return c(a,b,"pre")}}),y=d((a,b)=>{var c=f(),d=l();b.exports=function(a,b){var e,f=new c,g={},h=new d;function i(a){var c=a.v===e?a.w:a.v,d=h.priority(c);if(void 0!==d){var f=b(a);f<d&&(g[c]=e,h.decrease(c,f))}}if(0===a.nodeCount())return f;a.nodes().forEach(function(a){h.add(a,1/0),f.setNode(a)}),h.decrease(a.nodes()[0],0);for(var j=!1;h.size()>0;){if(Object.hasOwn(g,e=h.removeMin()))f.setEdge(e,g[e]);else{if(j)throw Error("Input graph is not connected: "+a);j=!0}a.nodeEdges(e).forEach(i)}return f}}),z=d((a,b)=>{var c=m(),d=j();b.exports=function(a,b,e,f){return function(a,b,e,f){if(void 0===e)return c(a,b,e,f);for(var g=!1,h=a.nodes(),i=0;i<h.length;i++){for(var j=f(h[i]),k=0;k<j.length;k++){var l=j[k],m=l.v===h[i]?l.v:l.w,n=m===l.v?l.w:l.v;0>e({v:m,w:n})&&(g=!0)}if(g)return d(a,b,e,f)}return c(a,b,e,f)}(a,b,e,f||function(b){return a.outEdges(b)})}}),A=d((a,b)=>{b.exports={bellmanFord:j(),components:k(),dijkstra:m(),dijkstraAll:n(),extractPath:o(),findCycles:q(),floydWarshall:r(),isAcyclic:t(),postorder:w(),preorder:x(),prim:y(),shortestPaths:z(),reduce:u(),tarjan:p(),topsort:s()}}),B=h();b.exports={Graph:B.Graph,json:i(),alg:A(),version:B.version}}),l=j((a,b)=>{function c(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function d(a,b){if("_next"!==a&&"_prev"!==a)return b}b.exports=class{constructor(){let a={};a._next=a._prev=a,this._sentinel=a}dequeue(){let a=this._sentinel,b=a._prev;if(b!==a)return c(b),b}enqueue(a){let b=this._sentinel;a._prev&&a._next&&c(a),a._next=b._next,b._next._prev=a,b._next=a,a._prev=b}toString(){let a=[],b=this._sentinel,c=b._prev;for(;c!==b;)a.push(JSON.stringify(c,d)),c=c._prev;return"["+a.join(", ")+"]"}}}),m=j((a,b)=>{var c=k().Graph,d=l();b.exports=function(a,b){var h,i;let j,k,l,m,n;if(1>=a.nodeCount())return[];let o=(h=a,i=b||e,j=new c,k=0,l=0,h.nodes().forEach(a=>{j.setNode(a,{v:a,in:0,out:0})}),h.edges().forEach(a=>{let b=j.edge(a.v,a.w)||0,c=i(a);j.setEdge(a.v,a.w,b+c),l=Math.max(l,j.node(a.v).out+=c),k=Math.max(k,j.node(a.w).in+=c)}),m=(function(a){let b=[];for(let c=0;c<a;c++)b.push(c);return b})(l+k+3).map(()=>new d),n=k+1,j.nodes().forEach(a=>{g(m,n,j.node(a))}),{graph:j,buckets:m,zeroIdx:n});return(function(a,b,c){let d=[],e=b[b.length-1],g=b[0],h;for(;a.nodeCount();){for(;h=g.dequeue();)f(a,b,c,h);for(;h=e.dequeue();)f(a,b,c,h);if(a.nodeCount()){for(let e=b.length-2;e>0;--e)if(h=b[e].dequeue()){d=d.concat(f(a,b,c,h,!0));break}}}return d})(o.graph,o.buckets,o.zeroIdx).flatMap(b=>a.outEdges(b.v,b.w))};var e=()=>1;function f(a,b,c,d,e){let f=e?[]:void 0;return a.inEdges(d.v).forEach(d=>{let h=a.edge(d),i=a.node(d.v);e&&f.push({v:d.v,w:d.w}),i.out-=h,g(b,c,i)}),a.outEdges(d.v).forEach(d=>{let e=a.edge(d),f=d.w,h=a.node(f);h.in-=e,g(b,c,h)}),a.removeNode(d.v),f}function g(a,b,c){c.out?c.in?a[c.out-c.in+b].enqueue(c):a[a.length-1].enqueue(c):a[0].enqueue(c)}}),n=j((a,b)=>{var c=k().Graph;function d(a,b,c,d){for(var e=d;a.hasNode(e);)e=h(d);return c.dummy=b,a.setNode(e,c),e}b.exports={addBorderNode:function(a,b,c,e){let f={width:0,height:0};return arguments.length>=4&&(f.rank=c,f.order=e),d(a,"border",f,b)},addDummyNode:d,applyWithChunking:e,asNonCompoundGraph:function(a){let b=new c({multigraph:a.isMultigraph()}).setGraph(a.graph());return a.nodes().forEach(c=>{a.children(c).length||b.setNode(c,a.node(c))}),a.edges().forEach(c=>{b.setEdge(c,a.edge(c))}),b},buildLayerMatrix:function(a){let b=i(f(a)+1).map(()=>[]);return a.nodes().forEach(c=>{let d=a.node(c),e=d.rank;void 0!==e&&(b[e][d.order]=c)}),b},intersectRect:function(a,b){let c,d,e=a.x,f=a.y,g=b.x-e,h=b.y-f,i=a.width/2,j=a.height/2;if(!g&&!h)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(h)*i>Math.abs(g)*j?(h<0&&(j=-j),c=j*g/h,d=j):(g<0&&(i=-i),c=i,d=i*h/g),{x:e+c,y:f+d}},mapValues:function(a,b){let c=b;return"string"==typeof b&&(c=a=>a[b]),Object.entries(a).reduce((a,[b,d])=>(a[b]=c(d,b),a),{})},maxRank:f,normalizeRanks:function(a){let b=e(Math.min,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?Number.MAX_VALUE:c}));a.nodes().forEach(c=>{let d=a.node(c);Object.hasOwn(d,"rank")&&(d.rank-=b)})},notime:function(a,b){return b()},partition:function(a,b){let c={lhs:[],rhs:[]};return a.forEach(a=>{b(a)?c.lhs.push(a):c.rhs.push(a)}),c},pick:function(a,b){let c={};for(let d of b)void 0!==a[d]&&(c[d]=a[d]);return c},predecessorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.inEdges(b).forEach(b=>{c[b.v]=(c[b.v]||0)+a.edge(b).weight}),c});return j(a.nodes(),b)},range:i,removeEmptyRanks:function(a){let b=e(Math.min,a.nodes().map(b=>a.node(b).rank).filter(a=>void 0!==a)),c=[];a.nodes().forEach(d=>{let e=a.node(d).rank-b;c[e]||(c[e]=[]),c[e].push(d)});let d=0,f=a.graph().nodeRankFactor;Array.from(c).forEach((b,c)=>{void 0===b&&c%f!=0?--d:void 0!==b&&d&&b.forEach(b=>a.node(b).rank+=d)})},simplify:function(a){let b=new c().setGraph(a.graph());return a.nodes().forEach(c=>b.setNode(c,a.node(c))),a.edges().forEach(c=>{let d=b.edge(c.v,c.w)||{weight:0,minlen:1},e=a.edge(c);b.setEdge(c.v,c.w,{weight:d.weight+e.weight,minlen:Math.max(d.minlen,e.minlen)})}),b},successorWeights:function(a){let b=a.nodes().map(b=>{let c={};return a.outEdges(b).forEach(b=>{c[b.w]=(c[b.w]||0)+a.edge(b).weight}),c});return j(a.nodes(),b)},time:function(a,b){let c=Date.now();try{return b()}finally{console.log(a+" time: "+(Date.now()-c)+"ms")}},uniqueId:h,zipObject:j};function e(a,b){if(!(b.length>65535))return a.apply(null,b);{let c=function(a,b=65535){let c=[];for(let d=0;d<a.length;d+=b){let e=a.slice(d,d+b);c.push(e)}return c}(b);return a.apply(null,c.map(b=>a.apply(null,b)))}}function f(a){return e(Math.max,a.nodes().map(b=>{let c=a.node(b).rank;return void 0===c?5e-324:c}))}var g=0;function h(a){return a+""+ ++g}function i(a,b,c=1){null==b&&(b=a,a=0);let d=a=>a<b;c<0&&(d=a=>b<a);let e=[];for(let b=a;d(b);b+=c)e.push(b);return e}function j(a,b){return a.reduce((a,c,d)=>(a[c]=b[d],a),{})}}),o=j((a,b)=>{var c=m(),d=n().uniqueId;b.exports={run:function(a){var b,e;let f,g,h;("greedy"===a.graph().acyclicer?c(a,(b=a,a=>b.edge(a).weight)):(f=[],g={},h={},(e=a).nodes().forEach(function a(b){Object.hasOwn(h,b)||(h[b]=!0,g[b]=!0,e.outEdges(b).forEach(b=>{Object.hasOwn(g,b.w)?f.push(b):a(b.w)}),delete g[b])}),f)).forEach(b=>{let c=a.edge(b);a.removeEdge(b),c.forwardName=b.name,c.reversed=!0,a.setEdge(b.w,b.v,c,d("rev"))})},undo:function(a){a.edges().forEach(b=>{let c=a.edge(b);if(c.reversed){a.removeEdge(b);let d=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(b.w,b.v,c,d)}})}}}),p=j((a,b)=>{var c=n();b.exports={run:function(a){a.graph().dummyChains=[],a.edges().forEach(b=>(function(a,b){let d,e,f,g=b.v,h=a.node(g).rank,i=b.w,j=a.node(i).rank,k=b.name,l=a.edge(b),m=l.labelRank;if(j!==h+1){for(a.removeEdge(b),f=0,++h;h<j;++f,++h)l.points=[],e={width:0,height:0,edgeLabel:l,edgeObj:b,rank:h},d=c.addDummyNode(a,"edge",e,"_d"),h===m&&(e.width=l.width,e.height=l.height,e.dummy="edge-label",e.labelpos=l.labelpos),a.setEdge(g,d,{weight:l.weight},k),0===f&&a.graph().dummyChains.push(d),g=d;a.setEdge(g,i,{weight:l.weight},k)}})(a,b))},undo:function(a){a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeLabel,e;for(a.setEdge(c.edgeObj,d);c.dummy;)e=a.successors(b)[0],a.removeNode(b),d.points.push({x:c.x,y:c.y}),"edge-label"===c.dummy&&(d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height),b=e,c=a.node(b)})}}}),q=j((a,b)=>{var{applyWithChunking:c}=n();b.exports={longestPath:function(a){var b={};a.sources().forEach(function d(e){var f=a.node(e);if(Object.hasOwn(b,e))return f.rank;b[e]=!0;var g=c(Math.min,a.outEdges(e).map(b=>null==b?1/0:d(b.w)-a.edge(b).minlen));return g===1/0&&(g=0),f.rank=g})},slack:function(a,b){return a.node(b.w).rank-a.node(b.v).rank-a.edge(b).minlen}}}),r=j((a,b)=>{var c=k().Graph,d=q().slack;b.exports=function(a){var b,e,f,g,h=new c({directed:!1}),i=a.nodes()[0],j=a.nodeCount();for(h.setNode(i,{});b=h,e=a,b.nodes().forEach(function a(c){e.nodeEdges(c).forEach(f=>{var g=f.v,h=c===g?f.w:g;b.hasNode(h)||d(e,f)||(b.setNode(h,{}),b.setEdge(c,h,{}),a(h))})}),b.nodeCount()<j;)f=function(a,b){return b.edges().reduce((c,e)=>{let f=1/0;return a.hasNode(e.v)!==a.hasNode(e.w)&&(f=d(b,e)),f<c[0]?[f,e]:c},[1/0,null])[1]}(h,a),g=h.hasNode(f.v)?d(a,f):-d(a,f),function(a,b,c){a.nodes().forEach(a=>b.node(a).rank+=c)}(h,a,g);return h}}),s=j((a,b)=>{var c=r(),d=q().slack,e=q().longestPath,f=k().alg.preorder,g=k().alg.postorder,h=n().simplify;function i(a){e(a=h(a));var b,d,f=c(a);for(m(f),j(f,a);b=o(f);)d=p(f,a,b),s(f,a,b,d)}function j(a,b){var c=g(a,a.nodes());(c=c.slice(0,c.length-1)).forEach(c=>{var d,e,f,g;return d=a,e=b,f=c,g=d.node(f).parent,void(d.edge(f,g).cutvalue=l(d,e,f))})}function l(a,b,c){var d=a.node(c).parent,e=!0,f=b.edge(c,d),g=0;return f||(e=!1,f=b.edge(d,c)),g=f.weight,b.nodeEdges(c).forEach(f=>{var h=f.v===c,i=h?f.w:f.v;if(i!==d){var j,k,l,m=h===e,n=b.edge(f).weight;if(g+=m?n:-n,j=a,k=c,l=i,j.hasEdge(k,l)){var o=a.edge(c,i).cutvalue;g+=m?-o:o}}}),g}function m(a,b){arguments.length<2&&(b=a.nodes()[0]),function a(b,c,d,e,f){var g=d,h=b.node(e);return c[e]=!0,b.neighbors(e).forEach(f=>{Object.hasOwn(c,f)||(d=a(b,c,d,f,e))}),h.low=g,h.lim=d++,f?h.parent=f:delete h.parent,d}(a,{},1,b)}function o(a){return a.edges().find(b=>a.edge(b).cutvalue<0)}function p(a,b,c){var e=c.v,f=c.w;b.hasEdge(e,f)||(e=c.w,f=c.v);var g=a.node(e),h=a.node(f),i=g,j=!1;return g.lim>h.lim&&(i=h,j=!0),b.edges().filter(b=>j===t(a,a.node(b.v),i)&&j!==t(a,a.node(b.w),i)).reduce((a,c)=>d(b,c)<d(b,a)?c:a)}function s(a,b,c,d){var e,g,h,i,k=c.v,l=c.w;a.removeEdge(k,l),a.setEdge(d.v,d.w,{}),m(a),j(a,b),e=a,g=b,h=e.nodes().find(a=>!g.node(a).parent),(i=(i=f(e,h)).slice(1)).forEach(a=>{var b=e.node(a).parent,c=g.edge(a,b),d=!1;c||(c=g.edge(b,a),d=!0),g.node(a).rank=g.node(b).rank+(d?c.minlen:-c.minlen)})}function t(a,b,c){return c.low<=b.lim&&b.lim<=c.lim}b.exports=i,i.initLowLimValues=m,i.initCutValues=j,i.calcCutValue=l,i.leaveEdge=o,i.enterEdge=p,i.exchangeEdges=s}),t=j((a,b)=>{var c=q().longestPath,d=r(),e=s();b.exports=function(a){var b,g=a.graph().ranker;if(g instanceof Function)return g(a);switch(a.graph().ranker){case"network-simplex":default:e(a);break;case"tight-tree":c(b=a),d(b);break;case"longest-path":f(a);case"none":}};var f=c}),u=j((a,b)=>{b.exports=function(a){var b;let c,d,e=(c={},d=0,(b=a).children().forEach(function a(e){let f=d;b.children(e).forEach(a),c[e]={low:f,lim:d++}}),c);a.graph().dummyChains.forEach(b=>{let c=a.node(b),d=c.edgeObj,f=function(a,b,c,d){let e=[],f=[],g=Math.min(b[c].low,b[d].low),h=Math.max(b[c].lim,b[d].lim),i,j;i=c;do e.push(i=a.parent(i));while(i&&(b[i].low>g||h>b[i].lim))for(j=i,i=d;(i=a.parent(i))!==j;)f.push(i);return{path:e.concat(f.reverse()),lca:j}}(a,e,d.v,d.w),g=f.path,h=f.lca,i=0,j=g[0],k=!0;for(;b!==d.w;){if(c=a.node(b),k){for(;(j=g[i])!==h&&a.node(j).maxRank<c.rank;)i++;j===h&&(k=!1)}if(!k){for(;i<g.length-1&&a.node(j=g[i+1]).minRank<=c.rank;)i++;j=g[i]}a.setParent(b,j),b=a.successors(b)[0]}})}}),v=j((a,b)=>{var c=n();b.exports={run:function(a){var b,d,e;let f=c.addDummyNode(a,"root",{},"_root"),g=(d={},(b=a).children().forEach(a=>(function a(c,e){var f=b.children(c);f&&f.length&&f.forEach(b=>a(b,e+1)),d[c]=e})(a,1)),d),h=Object.values(g),i=c.applyWithChunking(Math.max,h)-1,j=2*i+1;a.graph().nestingRoot=f,a.edges().forEach(b=>a.edge(b).minlen*=j);let k=(e=a).edges().reduce((a,b)=>a+e.edge(b).weight,0)+1;a.children().forEach(b=>(function a(b,d,e,f,g,h,i){let j=b.children(i);if(!j.length){i!==d&&b.setEdge(d,i,{weight:0,minlen:e});return}let k=c.addBorderNode(b,"_bt"),l=c.addBorderNode(b,"_bb"),m=b.node(i);b.setParent(k,i),m.borderTop=k,b.setParent(l,i),m.borderBottom=l,j.forEach(c=>{a(b,d,e,f,g,h,c);let j=b.node(c),m=j.borderTop?j.borderTop:c,n=j.borderBottom?j.borderBottom:c,o=j.borderTop?f:2*f,p=m!==n?1:g-h[i]+1;b.setEdge(k,m,{weight:o,minlen:p,nestingEdge:!0}),b.setEdge(n,l,{weight:o,minlen:p,nestingEdge:!0})}),b.parent(i)||b.setEdge(d,k,{weight:0,minlen:g+h[i]})})(a,f,j,k,i,g,b)),a.graph().nodeRankFactor=j},cleanup:function(a){var b=a.graph();a.removeNode(b.nestingRoot),delete b.nestingRoot,a.edges().forEach(b=>{a.edge(b).nestingEdge&&a.removeEdge(b)})}}}),w=j((a,b)=>{var c=n();function d(a,b,d,e,f,g){let h=f[b][g-1],i=c.addDummyNode(a,"border",{width:0,height:0,rank:g,borderType:b},d);f[b][g]=i,a.setParent(i,e),h&&a.setEdge(h,i,{weight:1})}b.exports=function(a){a.children().forEach(function b(c){let e=a.children(c),f=a.node(c);if(e.length&&e.forEach(b),Object.hasOwn(f,"minRank")){f.borderLeft=[],f.borderRight=[];for(let b=f.minRank,e=f.maxRank+1;b<e;++b)d(a,"borderLeft","_bl",c,f,b),d(a,"borderRight","_br",c,f,b)}})}}),x=j((a,b)=>{function c(a){a.nodes().forEach(b=>d(a.node(b))),a.edges().forEach(b=>d(a.edge(b)))}function d(a){let b=a.width;a.width=a.height,a.height=b}function e(a){a.y=-a.y}function f(a){let b=a.x;a.x=a.y,a.y=b}b.exports={adjust:function(a){let b=a.graph().rankdir.toLowerCase();("lr"===b||"rl"===b)&&c(a)},undo:function(a){var b,d;let g=a.graph().rankdir.toLowerCase();("bt"===g||"rl"===g)&&((b=a).nodes().forEach(a=>e(b.node(a))),b.edges().forEach(a=>{let c=b.edge(a);c.points.forEach(e),Object.hasOwn(c,"y")&&e(c)})),("lr"===g||"rl"===g)&&((d=a).nodes().forEach(a=>f(d.node(a))),d.edges().forEach(a=>{let b=d.edge(a);b.points.forEach(f),Object.hasOwn(b,"x")&&f(b)}),c(a))}}}),y=j((a,b)=>{var c=n();b.exports=function(a){let b={},d=a.nodes().filter(b=>!a.children(b).length),e=d.map(b=>a.node(b).rank),f=c.applyWithChunking(Math.max,e),g=c.range(f+1).map(()=>[]);return d.sort((b,c)=>a.node(b).rank-a.node(c).rank).forEach(function c(d){b[d]||(b[d]=!0,g[a.node(d).rank].push(d),a.successors(d).forEach(c))}),g}}),z=j((a,b)=>{var c=n().zipObject;b.exports=function(a,b){let d=0;for(let e=1;e<b.length;++e)d+=function(a,b,d){let e=c(d,d.map((a,b)=>b)),f=b.flatMap(b=>a.outEdges(b).map(b=>({pos:e[b.w],weight:a.edge(b).weight})).sort((a,b)=>a.pos-b.pos)),g=1;for(;g<d.length;)g<<=1;let h=2*g-1;g-=1;let i=Array(h).fill(0),j=0;return f.forEach(a=>{let b=a.pos+g;i[b]+=a.weight;let c=0;for(;b>0;)b%2&&(c+=i[b+1]),b=b-1>>1,i[b]+=a.weight;j+=a.weight*c}),j}(a,b[e-1],b[e]);return d}}),A=j((a,b)=>{b.exports=function(a,b=[]){return b.map(b=>{let c=a.inEdges(b);if(!c.length)return{v:b};{let d=c.reduce((b,c)=>{let d=a.edge(c),e=a.node(c.v);return{sum:b.sum+d.weight*e.order,weight:b.weight+d.weight}},{sum:0,weight:0});return{v:b,barycenter:d.sum/d.weight,weight:d.weight}}})}}),B=j((a,b)=>{var c=n();b.exports=function(a,b){let d={};return a.forEach((a,b)=>{let c=d[a.v]={indegree:0,in:[],out:[],vs:[a.v],i:b};void 0!==a.barycenter&&(c.barycenter=a.barycenter,c.weight=a.weight)}),b.edges().forEach(a=>{let b=d[a.v],c=d[a.w];void 0!==b&&void 0!==c&&(c.indegree++,b.out.push(d[a.w]))}),function(a){let b=[];for(;a.length;){let c=a.pop();b.push(c),c.in.reverse().forEach(function(a){return b=>{b.merged||(void 0===b.barycenter||void 0===a.barycenter||b.barycenter>=a.barycenter)&&function(a,b){let c=0,d=0;a.weight&&(c+=a.barycenter*a.weight,d+=a.weight),b.weight&&(c+=b.barycenter*b.weight,d+=b.weight),a.vs=b.vs.concat(a.vs),a.barycenter=c/d,a.weight=d,a.i=Math.min(b.i,a.i),b.merged=!0}(a,b)}}(c)),c.out.forEach(function(b){return c=>{c.in.push(b),0==--c.indegree&&a.push(c)}}(c))}return b.filter(a=>!a.merged).map(a=>c.pick(a,["vs","i","barycenter","weight"]))}(Object.values(d).filter(a=>!a.indegree))}}),C=j((a,b)=>{var c=n();function d(a,b,c){let d;for(;b.length&&(d=b[b.length-1]).i<=c;)b.pop(),a.push(d.vs),c++;return c}b.exports=function(a,b){var e;let f=c.partition(a,a=>Object.hasOwn(a,"barycenter")),g=f.lhs,h=f.rhs.sort((a,b)=>b.i-a.i),i=[],j=0,k=0,l=0;g.sort((e=!!b,(a,b)=>a.barycenter<b.barycenter?-1:a.barycenter>b.barycenter?1:e?b.i-a.i:a.i-b.i)),l=d(i,h,l),g.forEach(a=>{l+=a.vs.length,i.push(a.vs),j+=a.barycenter*a.weight,k+=a.weight,l=d(i,h,l)});let m={vs:i.flat(!0)};return k&&(m.barycenter=j/k,m.weight=k),m}}),D=j((a,b)=>{var c=A(),d=B(),e=C();b.exports=function a(b,f,g,h){var i,j;let k=b.children(f),l=b.node(f),m=l?l.borderLeft:void 0,n=l?l.borderRight:void 0,o={};m&&(k=k.filter(a=>a!==m&&a!==n));let p=c(b,k);p.forEach(c=>{if(b.children(c.v).length){var d,e;let f=a(b,c.v,g,h);o[c.v]=f,Object.hasOwn(f,"barycenter")&&(d=c,e=f,void 0!==d.barycenter?(d.barycenter=(d.barycenter*d.weight+e.barycenter*e.weight)/(d.weight+e.weight),d.weight+=e.weight):(d.barycenter=e.barycenter,d.weight=e.weight))}});let q=d(p,g);i=q,j=o,i.forEach(a=>{a.vs=a.vs.flatMap(a=>j[a]?j[a].vs:a)});let r=e(q,h);if(m&&(r.vs=[m,r.vs,n].flat(!0),b.predecessors(m).length)){let a=b.node(b.predecessors(m)[0]),c=b.node(b.predecessors(n)[0]);Object.hasOwn(r,"barycenter")||(r.barycenter=0,r.weight=0),r.barycenter=(r.barycenter*r.weight+a.order+c.order)/(r.weight+2),r.weight+=2}return r}}),E=j((a,b)=>{var c=k().Graph,d=n();b.exports=function(a,b,e,f){f||(f=a.nodes());let g=function(a){for(var b;a.hasNode(b=d.uniqueId("_root")););return b}(a),h=new c({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(b=>a.node(b));return f.forEach(c=>{let d=a.node(c),f=a.parent(c);(d.rank===b||d.minRank<=b&&b<=d.maxRank)&&(h.setNode(c),h.setParent(c,f||g),a[e](c).forEach(b=>{let d=b.v===c?b.w:b.v,e=h.edge(d,c),f=void 0!==e?e.weight:0;h.setEdge(d,c,{weight:a.edge(b).weight+f})}),Object.hasOwn(d,"minRank")&&h.setNode(c,{borderLeft:d.borderLeft[b],borderRight:d.borderRight[b]}))}),h}}),F=j((a,b)=>{b.exports=function(a,b,c){let d={},e;c.forEach(c=>{let f=a.parent(c),g,h;for(;f;){if((g=a.parent(f))?(h=d[g],d[g]=f):(h=e,e=f),h&&h!==f)return void b.setEdge(h,f);f=g}})}}),G=j((a,b)=>{var c=y(),d=z(),e=D(),f=E(),g=F(),h=k().Graph,i=n();function j(a,b,c){let d=new Map,e=(a,b)=>{d.has(a)||d.set(a,[]),d.get(a).push(b)};for(let b of a.nodes()){let c=a.node(b);if("number"==typeof c.rank&&e(c.rank,b),"number"==typeof c.minRank&&"number"==typeof c.maxRank)for(let a=c.minRank;a<=c.maxRank;a++)a!==c.rank&&e(a,b)}return b.map(function(b){return f(a,b,c,d.get(b)||[])})}function l(a,b){Object.values(b).forEach(b=>b.forEach((b,c)=>a.node(b).order=c))}b.exports=function a(b,f={}){if("function"==typeof f.customOrder)return void f.customOrder(b,a);let k=i.maxRank(b),m=j(b,i.range(1,k+1),"inEdges"),n=j(b,i.range(k-1,-1,-1),"outEdges"),o=c(b);if(l(b,o),f.disableOptimalOrderHeuristic)return;let p=1/0,q,r=f.constraints||[];for(let a=0,c=0;c<4;++a,++c){(function(a,b,c){let d=new h;a.forEach(function(a){c.forEach(a=>d.setEdge(a.left,a.right));let f=a.graph().root,h=e(a,f,d,b);h.vs.forEach((b,c)=>a.node(b).order=c),g(a,d,h.vs)})})(a%2?m:n,a%4>=2,r),o=i.buildLayerMatrix(b);let f=d(b,o);f<p?(c=0,q=Object.assign({},o),p=f):f===p&&(q=structuredClone(o))}l(b,q)}}),H=j((a,b)=>{var c=k().Graph,d=n();function e(a,b){let c={};return b.length&&b.reduce(function(b,d){let e=0,f=0,h=b.length,i=d[d.length-1];return d.forEach((b,j)=>{let k=function(a,b){if(a.node(b).dummy)return a.predecessors(b).find(b=>a.node(b).dummy)}(a,b),l=k?a.node(k).order:h;(k||b===i)&&(d.slice(f,j+1).forEach(b=>{a.predecessors(b).forEach(d=>{let f=a.node(d),h=f.order;(h<e||l<h)&&!(f.dummy&&a.node(b).dummy)&&g(c,d,b)})}),f=j+1,e=l)}),d}),c}function f(a,b){let c={};function e(b,e,f,h,i){let j;d.range(e,f).forEach(d=>{j=b[d],a.node(j).dummy&&a.predecessors(j).forEach(b=>{let d=a.node(b);d.dummy&&(d.order<h||d.order>i)&&g(c,b,j)})})}return b.length&&b.reduce(function(b,c){let d=-1,f,g=0;return c.forEach((h,i)=>{if("border"===a.node(h).dummy){let b=a.predecessors(h);b.length&&(f=a.node(b[0]).order,e(c,g,i,d,f),g=i,d=f)}e(c,g,c.length,f,b.length)}),c}),c}function g(a,b,c){if(b>c){let a=b;b=c,c=a}let d=a[b];d||(a[b]=d={}),d[c]=!0}function h(a,b,c){if(b>c){let a=b;b=c,c=a}return!!a[b]&&Object.hasOwn(a[b],c)}function i(a,b,c,d){let e={},f={},g={};return b.forEach(a=>{a.forEach((a,b)=>{e[a]=a,f[a]=a,g[a]=b})}),b.forEach(a=>{let b=-1;a.forEach(a=>{let i=d(a);if(i.length){let d=((i=i.sort((a,b)=>g[a]-g[b])).length-1)/2;for(let j=Math.floor(d),k=Math.ceil(d);j<=k;++j){let d=i[j];f[a]===a&&b<g[d]&&!h(c,a,d)&&(f[d]=a,f[a]=e[a]=e[d],b=g[d])}}})}),{root:e,align:f}}function j(a,b,d,e,f){var g,h,i,j,k,l,m;let n,o,p,q={},r=(g=a,h=b,i=d,j=f,n=new c,p=(k=(o=g.graph()).nodesep,l=o.edgesep,m=j,(a,b,c)=>{let d=a.node(b),e=a.node(c),f,g;if(f=0+d.width/2,Object.hasOwn(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":g=-d.width/2;break;case"r":g=d.width/2}if(g&&(f+=m?g:-g),g=0,f+=(d.dummy?l:k)/2,f+=(e.dummy?l:k)/2,f+=e.width/2,Object.hasOwn(e,"labelpos"))switch(e.labelpos.toLowerCase()){case"l":g=e.width/2;break;case"r":g=-e.width/2}return g&&(f+=m?g:-g),g=0,f}),h.forEach(a=>{let b;a.forEach(a=>{let c=i[a];if(n.setNode(c),b){var d=i[b],e=n.edge(d,c);n.setEdge(d,c,Math.max(p(g,a,b),e||0))}b=a})}),n),s=f?"borderLeft":"borderRight";function t(a,b){let c=r.nodes().slice(),d={},e=c.pop();for(;e;){if(d[e])a(e);else for(let a of(d[e]=!0,c.push(e),b(e)))c.push(a);e=c.pop()}}return t(function(a){q[a]=r.inEdges(a).reduce((a,b)=>Math.max(a,q[b.v]+r.edge(b)),0)},r.predecessors.bind(r)),t(function(b){let c=r.outEdges(b).reduce((a,b)=>Math.min(a,q[b.w]-r.edge(b)),1/0),d=a.node(b);c!==1/0&&d.borderType!==s&&(q[b]=Math.max(q[b],c))},r.successors.bind(r)),Object.keys(e).forEach(a=>q[a]=q[d[a]]),q}function l(a,b){return Object.values(b).reduce((b,c)=>{let d=-1/0,e=1/0;Object.entries(c).forEach(([b,c])=>{var f,g;let h=(f=a,g=b,f.node(g).width/2);d=Math.max(c+h,d),e=Math.min(c-h,e)});let f=d-e;return f<b[0]&&(b=[f,c]),b},[1/0,null])[1]}function m(a,b){let c=Object.values(b),e=d.applyWithChunking(Math.min,c),f=d.applyWithChunking(Math.max,c);["u","d"].forEach(c=>{["l","r"].forEach(g=>{let h=c+g,i=a[h];if(i===b)return;let j=Object.values(i),k=e-d.applyWithChunking(Math.min,j);"l"!==g&&(k=f-d.applyWithChunking(Math.max,j)),k&&(a[h]=d.mapValues(i,a=>a+k))})})}function o(a,b){return d.mapValues(a.ul,(c,d)=>{if(b)return a[b.toLowerCase()][d];{let b=Object.values(a).map(a=>a[d]).sort((a,b)=>a-b);return(b[1]+b[2])/2}})}b.exports={positionX:function(a){let b=d.buildLayerMatrix(a),c=Object.assign(e(a,b),f(a,b)),g={},h;["u","d"].forEach(e=>{h="u"===e?b:Object.values(b).reverse(),["l","r"].forEach(b=>{"r"===b&&(h=h.map(a=>Object.values(a).reverse()));let f=("u"===e?a.predecessors:a.successors).bind(a),k=i(a,h,c,f),l=j(a,h,k.root,k.align,"r"===b);"r"===b&&(l=d.mapValues(l,a=>-a)),g[e+b]=l})});let k=l(a,g);return m(g,k),o(g,a.graph().align)},findType1Conflicts:e,findType2Conflicts:f,addConflict:g,hasConflict:h,verticalAlignment:i,horizontalCompaction:j,alignCoordinates:m,findSmallestWidthAlignment:l,balance:o}}),I=j((a,b)=>{var c=n(),d=H().positionX;b.exports=function(a){var b;let e,f,g,h;b=a=c.asNonCompoundGraph(a),e=c.buildLayerMatrix(b),f=b.graph().ranksep,g=b.graph().rankalign,h=0,e.forEach(a=>{let c=a.reduce((a,c)=>{let d=b.node(c).height;return a>d?a:d},0);a.forEach(a=>{let d=b.node(a);"top"===g?d.y=h+d.height/2:"bottom"===g?d.y=h+c-d.height/2:d.y=h+c/2}),h+=c+f}),Object.entries(d(a)).forEach(([b,c])=>a.node(b).x=c)}}),J=j((a,b)=>{var c=o(),d=p(),e=t(),f=n().normalizeRanks,g=u(),h=n().removeEmptyRanks,i=v(),j=w(),l=x(),m=G(),q=I(),r=n(),s=k().Graph;b.exports=function(a,b={}){let k=b.debugTiming?r.time:r.notime;return k("layout",()=>{let n=k(" buildLayoutGraph",()=>{var b;let c,d;return b=a,c=new s({multigraph:!0,compound:!0}),d=J(b.graph()),c.setGraph(Object.assign({},z,H(d,y),r.pick(d,A))),b.nodes().forEach(a=>{let d=H(J(b.node(a)),B);Object.keys(C).forEach(a=>{void 0===d[a]&&(d[a]=C[a])}),c.setNode(a,d),c.setParent(a,b.parent(a))}),b.edges().forEach(a=>{let d=J(b.edge(a));c.setEdge(a,Object.assign({},E,H(d,D),r.pick(d,F)))}),c});return k(" runLayout",()=>{var a,o,p;return a=n,o=k,p=b,void(o(" makeSpaceForEdgeLabels",()=>{var b;let c;return c=(b=a).graph(),void(c.ranksep/=2,b.edges().forEach(a=>{let d=b.edge(a);d.minlen*=2,"c"!==d.labelpos.toLowerCase()&&("TB"===c.rankdir||"BT"===c.rankdir?d.width+=d.labeloffset:d.height+=d.labeloffset)}))}),o(" removeSelfEdges",()=>{var b;(b=a).edges().forEach(a=>{if(a.v===a.w){var c=b.node(a.v);c.selfEdges||(c.selfEdges=[]),c.selfEdges.push({e:a,label:b.edge(a)}),b.removeEdge(a)}})}),o(" acyclic",()=>c.run(a)),o(" nestingGraph.run",()=>i.run(a)),o(" rank",()=>e(r.asNonCompoundGraph(a))),o(" injectEdgeLabelProxies",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(c.width&&c.height){let c=b.node(a.v),d={rank:(b.node(a.w).rank-c.rank)/2+c.rank,e:a};r.addDummyNode(b,"edge-proxy",d,"_ep")}})}),o(" removeEmptyRanks",()=>h(a)),o(" nestingGraph.cleanup",()=>i.cleanup(a)),o(" normalizeRanks",()=>f(a)),o(" assignRankMinMax",()=>{var b;let c;return c=0,void((b=a).nodes().forEach(a=>{let d=b.node(a);d.borderTop&&(d.minRank=b.node(d.borderTop).rank,d.maxRank=b.node(d.borderBottom).rank,c=Math.max(c,d.maxRank))}),b.graph().maxRank=c)}),o(" removeEdgeLabelProxies",()=>{var b;(b=a).nodes().forEach(a=>{let c=b.node(a);"edge-proxy"===c.dummy&&(b.edge(c.e).labelRank=c.rank,b.removeNode(a))})}),o(" normalize.run",()=>d.run(a)),o(" parentDummyChains",()=>g(a)),o(" addBorderSegments",()=>j(a)),o(" order",()=>m(a,p)),o(" insertSelfEdges",()=>{var b;return b=a,void r.buildLayerMatrix(b).forEach(a=>{var c=0;a.forEach((a,d)=>{var e=b.node(a);e.order=d+c,(e.selfEdges||[]).forEach(a=>{r.addDummyNode(b,"selfedge",{width:a.label.width,height:a.label.height,rank:e.rank,order:d+ ++c,e:a.e,label:a.label},"_se")}),delete e.selfEdges})})}),o(" adjustCoordinateSystem",()=>l.adjust(a)),o(" position",()=>q(a)),o(" positionSelfEdges",()=>{var b;(b=a).nodes().forEach(a=>{var c=b.node(a);if("selfedge"===c.dummy){var d=b.node(c.e.v),e=d.x+d.width/2,f=d.y,g=c.x-e,h=d.height/2;b.setEdge(c.e,c.label),b.removeNode(a),c.label.points=[{x:e+2*g/3,y:f-h},{x:e+5*g/6,y:f-h},{x:e+g,y:f},{x:e+5*g/6,y:f+h},{x:e+2*g/3,y:f+h}],c.label.x=c.x,c.label.y=c.y}})}),o(" removeBorderNodes",()=>{var b;(b=a).nodes().forEach(a=>{if(b.children(a).length){let c=b.node(a),d=b.node(c.borderTop),e=b.node(c.borderBottom),f=b.node(c.borderLeft[c.borderLeft.length-1]),g=b.node(c.borderRight[c.borderRight.length-1]);c.width=Math.abs(g.x-f.x),c.height=Math.abs(e.y-d.y),c.x=f.x+c.width/2,c.y=d.y+c.height/2}}),b.nodes().forEach(a=>{"border"===b.node(a).dummy&&b.removeNode(a)})}),o(" normalize.undo",()=>d.undo(a)),o(" fixupEdgeLabelCoords",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);if(Object.hasOwn(c,"x"))switch(("l"===c.labelpos||"r"===c.labelpos)&&(c.width-=c.labeloffset),c.labelpos){case"l":c.x-=c.width/2+c.labeloffset;break;case"r":c.x+=c.width/2+c.labeloffset}})}),o(" undoCoordinateSystem",()=>l.undo(a)),o(" translateGraph",()=>(function(a){let b=1/0,c=0,d=1/0,e=0,f=a.graph(),g=f.marginx||0,h=f.marginy||0;function i(a){let f=a.x,g=a.y,h=a.width,i=a.height;b=Math.min(b,f-h/2),c=Math.max(c,f+h/2),d=Math.min(d,g-i/2),e=Math.max(e,g+i/2)}a.nodes().forEach(b=>i(a.node(b))),a.edges().forEach(b=>{let c=a.edge(b);Object.hasOwn(c,"x")&&i(c)}),b-=g,d-=h,a.nodes().forEach(c=>{let e=a.node(c);e.x-=b,e.y-=d}),a.edges().forEach(c=>{let e=a.edge(c);e.points.forEach(a=>{a.x-=b,a.y-=d}),Object.hasOwn(e,"x")&&(e.x-=b),Object.hasOwn(e,"y")&&(e.y-=d)}),f.width=c-b+g,f.height=e-d+h})(a)),o(" assignNodeIntersects",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a),d=b.node(a.v),e=b.node(a.w),f,g;c.points?(f=c.points[0],g=c.points[c.points.length-1]):(c.points=[],f=e,g=d),c.points.unshift(r.intersectRect(d,f)),c.points.push(r.intersectRect(e,g))})}),o(" reversePoints",()=>{var b;(b=a).edges().forEach(a=>{let c=b.edge(a);c.reversed&&c.points.reverse()})}),o(" acyclic.undo",()=>c.undo(a)))}),k(" updateInputGraph",()=>{var b,c;return b=a,c=n,void(b.nodes().forEach(a=>{let d=b.node(a),e=c.node(a);d&&(d.x=e.x,d.y=e.y,d.order=e.order,d.rank=e.rank,c.children(a).length&&(d.width=e.width,d.height=e.height))}),b.edges().forEach(a=>{let d=b.edge(a),e=c.edge(a);d.points=e.points,Object.hasOwn(e,"x")&&(d.x=e.x,d.y=e.y)}),b.graph().width=c.graph().width,b.graph().height=c.graph().height)}),n})};var y=["nodesep","edgesep","ranksep","marginx","marginy"],z={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},A=["acyclicer","ranker","rankdir","align","rankalign"],B=["width","height","rank"],C={width:0,height:0},D=["minlen","weight","width","height","labeloffset"],E={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},F=["labelpos"];function H(a,b){return r.mapValues(r.pick(a,b),Number)}function J(a){var b={};return a&&Object.entries(a).forEach(([a,c])=>{"string"==typeof a&&(a=a.toLowerCase()),b[a]=c}),b}}),K=j((a,b)=>{var c=n(),d=k().Graph;b.exports={debugOrdering:function(a){let b=c.buildLayerMatrix(a),e=new d({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(b=>{e.setNode(b,{label:b}),e.setParent(b,"layer"+a.node(b).rank)}),a.edges().forEach(a=>e.setEdge(a.v,a.w,{},a.name)),b.forEach((a,b)=>{e.setNode("layer"+b,{rank:"same"}),a.reduce((a,b)=>(e.setEdge(a,b,{style:"invis"}),b))}),e}}}),L=j((a,b)=>{b.exports="2.0.4"});let M=j((a,b)=>{b.exports={graphlib:k(),layout:J(),debug:K(),util:{time:n().time,notime:n().notime},version:L()}})(),N={direction:"LR",ranksep:200,nodesep:48},O={featureNode:{width:388,height:140},repositoryNode:{width:400,height:140},applicationNode:{width:416,height:300}};function P(a,b){let c=a.data;return c&&"number"==typeof c.width&&"number"==typeof c.height?{width:c.width,height:c.height}:O[a.type??""]??b}var Q=a.i(93354),R=a.i(81719),S=a.i(14703),T=a.i(79372),U=a.i(29918);function V(a,b,c,d,e,f,g){[...a].sort((a,b)=>(a.feature.createdAt instanceof Date?a.feature.createdAt.getTime():Number(a.feature.createdAt))-(b.feature.createdAt instanceof Date?b.feature.createdAt.getTime():Number(b.feature.createdAt))).forEach(({feature:a,run:h})=>{let i;if(a.parentId&&"Blocked"===a.lifecycle){let b=c.find(b=>b.feature.id===a.parentId);b&&(i=b.feature.name)}let j=(h?.status===R.AgentRunStatus.running||h?.status===R.AgentRunStatus.pending)&&h?.pid?(0,T.isProcessAlive)(h.pid):void 0,k={name:a.name,description:a.description??a.slug,featureId:a.id,lifecycle:(0,S.deriveLifecycle)(a,h),repositoryPath:a.repositoryPath,branch:a.branch,worktreePath:a.worktreePath??(0,U.computeWorktreePath)(a.repositoryPath,a.branch),specPath:a.specPath,state:(0,S.deriveNodeState)(a,h,void 0!==j?{isPidAlive:j}:void 0),progress:(0,S.deriveProgress)(a),summary:a.description,userQuery:a.userQuery,createdAt:a.createdAt instanceof Date?a.createdAt.getTime():a.createdAt,...a.fast&&{fastMode:!0},approvalGates:a.approvalGates,push:a.push,openPr:a.openPr,forkAndPr:a.forkAndPr,commitSpecs:a.commitSpecs,enableEvidence:a.enableEvidence??g?.enableEvidence??!1,commitEvidence:a.commitEvidence??g?.commitEvidence??!1,ciWatchEnabled:a.ciWatchEnabled??g?.ciWatchEnabled??!0,...f&&{repositoryName:f},...h?.agentType&&{agentType:h.agentType},...h?.modelId&&{modelId:h.modelId},...h?.error&&{errorMessage:h.error},...i&&{blockedBy:i},...null!=a.agentRunId&&{hasAgentRun:!0},...null!=a.plan&&{hasPlan:!0},...a.pr&&{pr:{url:a.pr.url,number:a.pr.number,status:a.pr.status,ciStatus:a.pr.ciStatus,commitHash:a.pr.commitHash,mergeable:a.pr.mergeable}}},l=`feat-${a.id}`;d.push({id:l,type:"featureNode",position:{x:0,y:0},data:k}),a.parentId||e.push({id:`edge-${b}-${l}`,source:b,target:l,style:{strokeDasharray:"5 5"}})})}let W=(0,f.promisify)(e.execFile),X=new Map;async function Y(a,b){try{let{stdout:c}=await W("git",b,g?{cwd:a,windowsHide:!0}:{cwd:a});return c.trim()}catch{return null}}async function Z(a){try{let b=await Y(a.path,["rev-parse","HEAD"]);if(!b)return void X.set(a.path,{kind:"not-a-repo",checkedAt:Date.now()});let[c,d]=await Promise.all([Y(a.path,["symbolic-ref","--short","HEAD"]),Y(a.path,["log","-1",`--format=%s\x1f%an`])]);if(!c)return;let[e,f]=(d??"").split("\x1f"),g=null,h=await Y(a.path,["symbolic-ref","--short","refs/remotes/origin/HEAD"]),i=h?.replace("origin/","")??null;if(i){let b=await Y(a.path,["rev-list","--count",`${c}..origin/${i}`]);g=null!==b?parseInt(b,10):null,isNaN(g)&&(g=null)}X.set(a.path,{kind:"repo",sha:b,checkedAt:Date.now(),data:{branch:c,commitMessage:e??"unknown",committer:f??"unknown",behindCount:g}})}catch{}}async function $(){let a=(0,h.resolve)("ListFeaturesUseCase"),b=(0,h.resolve)("ListRepositoriesUseCase"),c=(0,h.resolve)("IAgentRunRepository"),d=null;try{d=(0,h.resolve)("ListApplicationsUseCase")}catch{}let[e,f,g]=await Promise.all([a.execute({includeArchived:!0}),b.execute(),d?d.execute():Promise.resolve([])]),j=new Map,k=new Map;for(let a of f){let b=function(a){let b=X.get(a.path),c=Date.now();return b?(c-b.checkedAt>=3e4&&Z(a),"not-a-repo"===b.kind)?{status:"not-a-repo"}:{status:"ready",data:b.data}:(Z(a),{status:"loading"})}(a);k.set(a.path,b.status),"ready"===b.status&&j.set(a.path,b.data)}try{(0,h.resolve)("AutoResolveMergedBranchesUseCase").execute(e)}catch{}let l=await Promise.all(e.map(async a=>{let b=a.agentRunId?await c.findById(a.agentRunId):null;return{feature:a,run:b}})),{workflow:m}=(0,i.getSettings)(),{nodes:n,edges:o}=function(a,b,c){let d=a=>a.replace(/\\/g,"/"),e={};b.forEach(a=>{let b=d(a.feature.repositoryPath);e[b]||(e[b]=[]),e[b].push(a)});let f=[],g=[],h=new Set;for(let i of a){let a=d(i.path);h.add(a);let j=`repo-${i.id}`,k=c?.repoGitInfo?.get(i.path),l=c?.repoGitStatus?.get(i.path)??"loading";f.push({id:j,type:"repositoryNode",position:{x:0,y:0},data:{name:i.name,repositoryPath:a,id:i.id,createdAt:i.createdAt instanceof Date?i.createdAt.getTime():Number(i.createdAt),gitInfoStatus:l,...k&&{branch:k.branch,commitMessage:k.commitMessage,committer:k.committer,behindCount:k.behindCount}}}),V(e[a]??[],j,b,f,g,i.name,c)}for(let[a,d]of Object.entries(e)){if(h.has(a))continue;let e=`virtual-repo-${a}`,i=a.split("/").filter(Boolean).at(-1)??a;f.push({id:e,type:"repositoryNode",position:{x:0,y:0},data:{name:i,repositoryPath:a}}),V(d,e,b,f,g,i,c)}for(let{feature:a}of b)if(a.parentId){let b=`feat-${a.parentId}`,c=`feat-${a.id}`;f.some(a=>a.id===b)&&f.some(a=>a.id===c)&&g.push({id:`dep-${b}-${c}`,source:b,target:c,type:"dependencyEdge"})}if(c?.applications)for(let a of c.applications){let b=`app-${a.id}`;f.push({id:b,type:"applicationNode",position:{x:0,y:0},data:{id:a.id,name:a.name,description:a.description,status:a.status,repositoryPath:d(a.repositoryPath),additionalPathCount:a.additionalPaths?.length??0}})}return{nodes:f,edges:g}}(f,l,{enableEvidence:m.enableEvidence,commitEvidence:m.commitEvidence,ciWatchEnabled:m.ciWatchEnabled,repoGitInfo:j,repoGitStatus:k,applications:g}),p=[];try{let a=(0,h.resolve)("ListDeploymentsUseCase");p=await a.execute()}catch{}let{dir:q}=(0,Q.getLanguagePreference)();return{...function(a,b,c={}){let{direction:d="TB",nodeSize:e={width:172,height:36},ranksep:f=80,nodesep:g=30}=c;if(0===a.length)return{nodes:[],edges:[]};let h=new M.graphlib.Graph({multigraph:!0});h.setDefaultEdgeLabel(()=>({})),h.setGraph({rankdir:d,ranksep:f,nodesep:g});let i=new Set;for(let a of b)i.add(a.source),i.add(a.target);let j=a.filter(a=>i.has(a.id)),k=a.filter(a=>!i.has(a.id));for(let a of j){let b=P(a,e);h.setNode(a.id,{width:b.width,height:b.height})}for(let a of b)h.hasNode(a.source)&&h.hasNode(a.target)&&h.setEdge(a.source,a.target,{},a.id);M.layout(h);let{targetPosition:l,sourcePosition:m}=function(a){switch(a){case"LR":return{targetPosition:"left",sourcePosition:"right"};case"RL":return{targetPosition:"right",sourcePosition:"left"};case"BT":return{targetPosition:"bottom",sourcePosition:"top"};default:return{targetPosition:"top",sourcePosition:"bottom"}}}(d),n="LR"===d||"RL"===d,o=new Map;for(let a of j){let b=h.node(a.id),c=P(a,e);o.set(a.id,{cx:b.x,cy:b.y,w:c.width,h:c.height})}let p=0;for(let a of o.values()){p=n?a.cx:a.cy;break}for(let a of k){let b=P(a,e);o.set(a.id,{cx:n?p:0,cy:n?0:p,w:b.width,h:b.height})}let q=new Map;for(let a of b)o.has(a.source)&&o.has(a.target)&&(q.has(a.source)||q.set(a.source,[]),q.get(a.source).push(a.target));let r=new Map;for(let b=0;b<a.length;b++)r.set(a[b].id,b);for(let[,a]of q)a.sort((a,b)=>(r.get(a)??0)-(r.get(b)??0));let s=new Set;for(let a of q.values())for(let b of a)s.add(b);let t=[...[...i].filter(a=>o.has(a)&&!s.has(a)),...k.map(a=>a.id)];t.sort((a,b)=>(r.get(a)??0)-(r.get(b)??0));let u=new Map;for(let a of t)!function a(b){if(u.has(b))return u.get(b);let c=o.get(b),d=n?c.h:c.w,e=q.get(b);if(!e||0===e.length)return u.set(b,d),d;let f=0;for(let b of e)f+=a(b);let h=Math.max(d,f+=(e.length-1)*g);return u.set(b,h),h}(a);let v=0;for(let a of t){let b=u.get(a)??0;!function a(b,c){let d=o.get(b);n?d.cy=c:d.cx=c;let e=q.get(b);if(!e||0===e.length)return;let f=0;for(let a of e)f+=u.get(a)??0;let h=c-(f+=(e.length-1)*g)/2;for(let b of e){let c=u.get(b)??0;a(b,h+c/2),h+=c+g}}(a,v+b/2),v+=b+g}let w=[];for(let b of a){let a=o.get(b.id);a&&w.push({...b,targetPosition:l,sourcePosition:m,position:{x:a.cx-a.w/2,y:a.cy-a.h/2}})}return{nodes:w,edges:[...b]}}(n,o,function(a="ltr"){return{...N,direction:"rtl"===a?"RL":"LR"}}(q)),deployments:p}}async function _({children:a,drawer:e}){let{nodes:f,edges:g,deployments:h}=await $();return(0,b.jsx)("div",{className:"h-screen w-full",children:(0,b.jsxs)(d.DeploymentStatusProvider,{initialDeployments:h,children:[(0,b.jsx)(c.ControlCenter,{initialNodes:f,initialEdges:g,drawer:e}),a]})})}a.s(["default",()=>_,"dynamic",0,"force-dynamic"],19981)}];
2
+
3
+ //# sourceMappingURL=src_presentation_web_bade80bd._.js.map