@shepai/cli 1.127.2 → 1.127.3-pr401.eb52cb4

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 (385) hide show
  1. package/apis/json-schema/EnvironmentConfig.yaml +3 -0
  2. package/apis/json-schema/FeatureFlags.yaml +5 -0
  3. package/apis/json-schema/Repository.yaml +3 -0
  4. package/dist/eslint.config.mjs +4 -0
  5. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts +4 -0
  6. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +118 -0
  8. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -0
  9. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +58 -0
  10. package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -0
  11. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  12. package/dist/packages/core/src/application/ports/output/services/index.js +1 -0
  13. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts +31 -0
  14. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -0
  15. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +86 -0
  16. package/dist/packages/core/src/application/use-cases/repositories/list-github-repositories.use-case.d.ts +13 -0
  17. package/dist/packages/core/src/application/use-cases/repositories/list-github-repositories.use-case.d.ts.map +1 -0
  18. package/dist/packages/core/src/application/use-cases/repositories/list-github-repositories.use-case.js +35 -0
  19. package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
  20. package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +2 -0
  21. package/dist/packages/core/src/domain/generated/output.d.ts +12 -0
  22. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  23. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/di/container.js +12 -0
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts +1 -0
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.js +2 -0
  28. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
  29. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -0
  31. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/040-add-repository-remote-url.d.ts +12 -0
  32. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/040-add-repository-remote-url.d.ts.map +1 -0
  33. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/040-add-repository-remote-url.js +29 -0
  34. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/041-add-feature-flag-github-import.d.ts +11 -0
  35. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/041-add-feature-flag-github-import.d.ts.map +1 -0
  36. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/041-add-feature-flag-github-import.js +17 -0
  37. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts +3 -0
  38. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts.map +1 -1
  39. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.js +38 -2
  40. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  41. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
  42. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +18 -0
  43. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -0
  44. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +171 -0
  45. package/dist/src/presentation/cli/commands/repo/add.command.d.ts +13 -0
  46. package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -0
  47. package/dist/src/presentation/cli/commands/repo/add.command.js +82 -0
  48. package/dist/src/presentation/cli/commands/repo/index.d.ts +1 -0
  49. package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
  50. package/dist/src/presentation/cli/commands/repo/index.js +4 -1
  51. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts +33 -0
  52. package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -0
  53. package/dist/src/presentation/tui/wizards/github-import.wizard.js +121 -0
  54. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/page.d.ts.map +1 -1
  55. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +14 -1
  56. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts +2 -0
  57. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  58. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +1 -1
  59. package/dist/src/presentation/web/app/actions/import-github-repository.d.ts +11 -0
  60. package/dist/src/presentation/web/app/actions/import-github-repository.d.ts.map +1 -0
  61. package/dist/src/presentation/web/app/actions/import-github-repository.js +27 -0
  62. package/dist/src/presentation/web/app/actions/list-github-repositories.d.ts +11 -0
  63. package/dist/src/presentation/web/app/actions/list-github-repositories.d.ts.map +1 -0
  64. package/dist/src/presentation/web/app/actions/list-github-repositories.js +17 -0
  65. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts +4 -3
  66. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.js +22 -5
  68. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
  69. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +20 -3
  70. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.d.ts +8 -0
  71. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.d.ts.map +1 -0
  72. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.js +33 -0
  73. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts +10 -0
  74. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts.map +1 -0
  75. package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.js +26 -0
  76. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.d.ts +15 -0
  77. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.d.ts.map +1 -0
  78. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +52 -0
  79. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts +10 -0
  80. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts.map +1 -0
  81. package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.js +78 -0
  82. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.d.ts +7 -0
  83. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.d.ts.map +1 -0
  84. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.js +46 -0
  85. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts +10 -0
  86. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts.map +1 -0
  87. package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.js +29 -0
  88. package/dist/src/presentation/web/components/common/github-import-dialog/index.d.ts +4 -0
  89. package/dist/src/presentation/web/components/common/github-import-dialog/index.d.ts.map +1 -0
  90. package/dist/src/presentation/web/components/common/github-import-dialog/index.js +3 -0
  91. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.d.ts.map +1 -1
  92. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.js +19 -2
  93. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts +5 -0
  94. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.d.ts.map +1 -1
  95. package/dist/src/presentation/web/components/common/repository-node/repository-drawer.stories.js +38 -9
  96. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
  97. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +9 -1
  98. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
  99. package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
  100. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  101. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +5 -0
  102. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
  103. package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
  104. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  105. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +56 -27
  106. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
  107. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +7 -1
  108. package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
  109. package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
  110. package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
  111. package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
  112. package/dist/src/presentation/web/lib/feature-flags.js +5 -0
  113. package/dist/tsconfig.build.tsbuildinfo +1 -1
  114. package/package.json +5 -5
  115. package/web/.next/BUILD_ID +1 -1
  116. package/web/.next/build-manifest.json +2 -2
  117. package/web/.next/fallback-build-manifest.json +2 -2
  118. package/web/.next/prerender-manifest.json +3 -3
  119. package/web/.next/required-server-files.js +3 -3
  120. package/web/.next/required-server-files.json +3 -3
  121. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +74 -44
  122. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +4 -4
  123. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  124. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  125. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +74 -44
  126. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +4 -4
  127. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  128. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  129. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +86 -56
  130. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  131. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  132. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  133. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +86 -56
  134. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  135. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  136. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  137. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +70 -40
  138. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +4 -4
  139. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  140. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  141. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +74 -44
  142. package/web/.next/server/app/(dashboard)/create/page.js +4 -4
  143. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  144. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  145. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +86 -56
  146. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  147. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  148. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  149. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +86 -56
  150. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  151. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  152. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  153. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +70 -40
  154. package/web/.next/server/app/(dashboard)/page.js +4 -4
  155. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  156. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  157. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +70 -40
  158. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +4 -4
  159. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  160. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  161. package/web/.next/server/app/_global-error.html +2 -2
  162. package/web/.next/server/app/_global-error.rsc +1 -1
  163. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  164. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  165. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  166. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  167. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  168. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +32 -2
  169. package/web/.next/server/app/_not-found/page.js +1 -1
  170. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  171. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  172. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  173. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  174. package/web/.next/server/app/api/graph-data/route.js +1 -1
  175. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  176. package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -12
  177. package/web/.next/server/app/settings/page.js +2 -2
  178. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  179. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  180. package/web/.next/server/app/skills/page/server-reference-manifest.json +42 -12
  181. package/web/.next/server/app/skills/page.js +2 -1
  182. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  183. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  184. package/web/.next/server/app/tools/page/server-reference-manifest.json +42 -12
  185. package/web/.next/server/app/tools/page.js +2 -1
  186. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  187. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  188. package/web/.next/server/app/version/page/server-reference-manifest.json +32 -2
  189. package/web/.next/server/app/version/page.js +2 -2
  190. package/web/.next/server/app/version/page.js.nft.json +1 -1
  191. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  192. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  193. package/web/.next/server/chunks/{[root-of-the-server]__dcd4f847._.js → [root-of-the-server]__693510ee._.js} +2 -2
  194. package/web/.next/server/chunks/[root-of-the-server]__693510ee._.js.map +1 -0
  195. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  196. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  197. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +3 -0
  198. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +1 -0
  199. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  200. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  201. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +3 -0
  202. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +1 -0
  203. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +3 -0
  204. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +1 -0
  205. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +3 -0
  206. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +1 -0
  207. package/web/.next/server/chunks/ssr/[root-of-the-server]__166bcbbe._.js +4 -0
  208. package/web/.next/server/chunks/ssr/[root-of-the-server]__166bcbbe._.js.map +1 -0
  209. package/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +1 -1
  210. package/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js.map +1 -1
  211. package/web/.next/server/chunks/ssr/[root-of-the-server]__338c67a2._.js +4 -0
  212. package/web/.next/server/chunks/ssr/[root-of-the-server]__338c67a2._.js.map +1 -0
  213. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +3 -0
  214. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js.map +1 -0
  215. package/web/.next/server/chunks/ssr/[root-of-the-server]__364a7d51._.js +4 -0
  216. package/web/.next/server/chunks/ssr/[root-of-the-server]__364a7d51._.js.map +1 -0
  217. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
  218. package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
  219. package/web/.next/server/chunks/ssr/{[root-of-the-server]__e44ae5ca._.js → [root-of-the-server]__755cfe02._.js} +2 -2
  220. package/web/.next/server/chunks/ssr/{[root-of-the-server]__430169b6._.js.map → [root-of-the-server]__755cfe02._.js.map} +1 -1
  221. package/web/.next/server/chunks/ssr/[root-of-the-server]__86692e81._.js +4 -0
  222. package/web/.next/server/chunks/ssr/[root-of-the-server]__86692e81._.js.map +1 -0
  223. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a576834._.js +3 -0
  224. package/web/.next/server/chunks/ssr/[root-of-the-server]__9a576834._.js.map +1 -0
  225. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1aa034e9._.js → [root-of-the-server]__a628fb91._.js} +2 -2
  226. package/web/.next/server/chunks/ssr/{[root-of-the-server]__e44ae5ca._.js.map → [root-of-the-server]__a628fb91._.js.map} +1 -1
  227. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6cc70784._.js → [root-of-the-server]__bfba58e6._.js} +2 -2
  228. package/web/.next/server/chunks/ssr/{[root-of-the-server]__6cc70784._.js.map → [root-of-the-server]__bfba58e6._.js.map} +1 -1
  229. package/web/.next/server/chunks/ssr/{[root-of-the-server]__430169b6._.js → [root-of-the-server]__c3ab8422._.js} +2 -2
  230. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1aa034e9._.js.map → [root-of-the-server]__c3ab8422._.js.map} +1 -1
  231. package/web/.next/server/chunks/ssr/[root-of-the-server]__d61bd462._.js +3 -0
  232. package/web/.next/server/chunks/ssr/[root-of-the-server]__d61bd462._.js.map +1 -0
  233. package/web/.next/server/chunks/ssr/[root-of-the-server]__f08be88a._.js +3 -0
  234. package/web/.next/server/chunks/ssr/[root-of-the-server]__f08be88a._.js.map +1 -0
  235. package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js +4 -0
  236. package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js.map +1 -0
  237. package/web/.next/server/chunks/ssr/{_918887c5._.js → _0020fddd._.js} +2 -2
  238. package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -0
  239. package/web/.next/server/chunks/ssr/{_2f6f48b8._.js → _02ec1aea._.js} +2 -2
  240. package/web/.next/server/chunks/ssr/{_2f6f48b8._.js.map → _02ec1aea._.js.map} +1 -1
  241. package/web/.next/server/chunks/ssr/_67104d9e._.js +3 -0
  242. package/web/.next/server/chunks/ssr/_67104d9e._.js.map +1 -0
  243. package/web/.next/server/chunks/ssr/_78e22029._.js +3 -0
  244. package/web/.next/server/chunks/ssr/_78e22029._.js.map +1 -0
  245. package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
  246. package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
  247. package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
  248. package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
  249. package/web/.next/server/chunks/ssr/_a7a52b70._.js +9 -0
  250. package/web/.next/server/chunks/ssr/_a7a52b70._.js.map +1 -0
  251. package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
  252. package/web/.next/server/chunks/ssr/_b4b8a636._.js +3 -0
  253. package/web/.next/server/chunks/ssr/_b4b8a636._.js.map +1 -0
  254. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  255. package/web/.next/server/chunks/ssr/{_05224854._.js → _d4c49d8a._.js} +2 -2
  256. package/web/.next/server/chunks/ssr/_d4c49d8a._.js.map +1 -0
  257. package/web/.next/server/chunks/ssr/_d8575088._.js +3 -0
  258. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -0
  259. package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
  260. package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
  261. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  262. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  263. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  264. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  265. package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +3 -0
  266. package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +1 -0
  267. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +3 -0
  268. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +1 -0
  269. package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +5 -0
  270. package/web/.next/server/chunks/ssr/{src_presentation_web_9db47db7._.js.map → src_presentation_web_8e7fe0d1._.js.map} +1 -1
  271. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +3 -0
  272. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +1 -0
  273. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +3 -0
  274. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -0
  275. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +3 -0
  276. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -0
  277. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js +3 -0
  278. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_get-graph-data_ts_b018483e._.js.map +1 -0
  279. package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +5 -0
  280. package/web/.next/server/chunks/ssr/{src_presentation_web_ede4a227._.js.map → src_presentation_web_b9023017._.js.map} +1 -1
  281. package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js +3 -0
  282. package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js.map +1 -0
  283. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  284. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  285. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  286. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  287. package/web/.next/server/chunks/ssr/{src_presentation_web_4615d5dc._.js → src_presentation_web_f5b454cd._.js} +2 -2
  288. package/web/.next/server/chunks/ssr/{src_presentation_web_4615d5dc._.js.map → src_presentation_web_f5b454cd._.js.map} +1 -1
  289. package/web/.next/server/pages/500.html +2 -2
  290. package/web/.next/server/server-reference-manifest.js +1 -1
  291. package/web/.next/server/server-reference-manifest.json +520 -294
  292. package/web/.next/static/chunks/179823f453f854ae.js +1 -0
  293. package/web/.next/static/chunks/{46e964a7fbd14bc8.js → 19b580c6b5690953.js} +1 -1
  294. package/web/.next/static/chunks/1dd878b6feb55d2e.js +1 -0
  295. package/web/.next/static/chunks/284ee94768ff2fcf.css +1 -0
  296. package/web/.next/static/chunks/314b8314f77d6921.js +1 -0
  297. package/web/.next/static/chunks/31aa863b59d1dc79.js +1 -0
  298. package/web/.next/static/chunks/370b319bd39f846c.js +1 -0
  299. package/web/.next/static/chunks/3e1e0f9bde3530d2.js +1 -0
  300. package/web/.next/static/chunks/5e552eb781b82c56.js +1 -0
  301. package/web/.next/static/chunks/601d93593f5f664f.js +1 -0
  302. package/web/.next/static/chunks/664120018846590e.js +1 -0
  303. package/web/.next/static/chunks/66d0ac0ea569e330.js +1 -0
  304. package/web/.next/static/chunks/688971d5bad5dc7c.js +1 -0
  305. package/web/.next/static/chunks/71e105c697b932e8.js +1 -0
  306. package/web/.next/static/chunks/a8055dd33cc3235b.js +1 -0
  307. package/web/.next/static/chunks/{df19575c149c6e75.js → aa241b7236671e43.js} +2 -2
  308. package/web/.next/static/chunks/{b47d1e9ee5b1cfe4.js → c33839a8d27c34ce.js} +2 -2
  309. package/web/.next/static/chunks/{32a1b8aa0e573f7b.js → dc350d99389c1a4a.js} +1 -1
  310. package/web/.next/static/chunks/f259386f4875e70c.js +1 -0
  311. package/web/.next/static/chunks/fad3ba104b4a90e4.js +13 -0
  312. package/web/.next/server/chunks/[root-of-the-server]__dcd4f847._.js.map +0 -1
  313. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_fbb88113.js +0 -3
  314. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_fbb88113.js.map +0 -1
  315. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_fdfbf5cc.js +0 -3
  316. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_fdfbf5cc.js.map +0 -1
  317. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_d8fa0b5f.js +0 -3
  318. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_d8fa0b5f.js.map +0 -1
  319. package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js +0 -3
  320. package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js.map +0 -1
  321. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +0 -3
  322. package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js.map +0 -1
  323. package/web/.next/server/chunks/ssr/[root-of-the-server]__34323a67._.js +0 -3
  324. package/web/.next/server/chunks/ssr/[root-of-the-server]__34323a67._.js.map +0 -1
  325. package/web/.next/server/chunks/ssr/[root-of-the-server]__357de47c._.js +0 -4
  326. package/web/.next/server/chunks/ssr/[root-of-the-server]__357de47c._.js.map +0 -1
  327. package/web/.next/server/chunks/ssr/[root-of-the-server]__67fe07fe._.js +0 -4
  328. package/web/.next/server/chunks/ssr/[root-of-the-server]__67fe07fe._.js.map +0 -1
  329. package/web/.next/server/chunks/ssr/[root-of-the-server]__68c2d48e._.js +0 -3
  330. package/web/.next/server/chunks/ssr/[root-of-the-server]__68c2d48e._.js.map +0 -1
  331. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +0 -4
  332. package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +0 -1
  333. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +0 -4
  334. package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +0 -1
  335. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +0 -4
  336. package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js.map +0 -1
  337. package/web/.next/server/chunks/ssr/[root-of-the-server]__a50a7e39._.js +0 -4
  338. package/web/.next/server/chunks/ssr/[root-of-the-server]__a50a7e39._.js.map +0 -1
  339. package/web/.next/server/chunks/ssr/_05224854._.js.map +0 -1
  340. package/web/.next/server/chunks/ssr/_1bb79fe8._.js +0 -3
  341. package/web/.next/server/chunks/ssr/_1bb79fe8._.js.map +0 -1
  342. package/web/.next/server/chunks/ssr/_583a83fb._.js +0 -3
  343. package/web/.next/server/chunks/ssr/_583a83fb._.js.map +0 -1
  344. package/web/.next/server/chunks/ssr/_918887c5._.js.map +0 -1
  345. package/web/.next/server/chunks/ssr/_9a47da6a._.js +0 -3
  346. package/web/.next/server/chunks/ssr/_9a47da6a._.js.map +0 -1
  347. package/web/.next/server/chunks/ssr/_9f56cf8f._.js +0 -3
  348. package/web/.next/server/chunks/ssr/_9f56cf8f._.js.map +0 -1
  349. package/web/.next/server/chunks/ssr/_a187fd7e._.js +0 -3
  350. package/web/.next/server/chunks/ssr/_a187fd7e._.js.map +0 -1
  351. package/web/.next/server/chunks/ssr/_a5aa6371._.js +0 -9
  352. package/web/.next/server/chunks/ssr/_a5aa6371._.js.map +0 -1
  353. package/web/.next/server/chunks/ssr/_b730ac57._.js +0 -3
  354. package/web/.next/server/chunks/ssr/_b730ac57._.js.map +0 -1
  355. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
  356. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
  357. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +0 -3
  358. package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +0 -1
  359. package/web/.next/server/chunks/ssr/src_presentation_web_9db47db7._.js +0 -5
  360. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f66cd328.js +0 -3
  361. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f66cd328.js.map +0 -1
  362. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +0 -3
  363. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +0 -1
  364. package/web/.next/server/chunks/ssr/src_presentation_web_components_bdcfba35._.js +0 -3
  365. package/web/.next/server/chunks/ssr/src_presentation_web_components_bdcfba35._.js.map +0 -1
  366. package/web/.next/server/chunks/ssr/src_presentation_web_ede4a227._.js +0 -5
  367. package/web/.next/static/chunks/01ba448cf76c6014.js +0 -1
  368. package/web/.next/static/chunks/05e9c71e5e4cf531.js +0 -1
  369. package/web/.next/static/chunks/109d73bb8ce910dd.js +0 -1
  370. package/web/.next/static/chunks/1d48cab5a6019a28.js +0 -1
  371. package/web/.next/static/chunks/33d2f67ad4814aba.css +0 -1
  372. package/web/.next/static/chunks/4ec46af89bb95b8e.js +0 -1
  373. package/web/.next/static/chunks/8080c842b0358904.js +0 -1
  374. package/web/.next/static/chunks/a8ba3f3e2b0f87aa.js +0 -1
  375. package/web/.next/static/chunks/c3be10b1621a5852.js +0 -1
  376. package/web/.next/static/chunks/c3ef52ecf289d138.js +0 -1
  377. package/web/.next/static/chunks/cca0f5112a9260d8.js +0 -1
  378. package/web/.next/static/chunks/cd45aed9c46e1bf5.js +0 -11
  379. package/web/.next/static/chunks/d04de4be30ab78ca.js +0 -3
  380. package/web/.next/static/chunks/dcecfc2d9d42d3e1.js +0 -1
  381. package/web/.next/static/chunks/e13a052cf2de8e1e.js +0 -1
  382. package/web/.next/static/chunks/eb9841ec4d80af01.js +0 -1
  383. /package/web/.next/static/{xJdz7CiaX6txLXXW3TSS7 → qOZ4XNmNZzNHwEPy-2A7p}/_buildManifest.js +0 -0
  384. /package/web/.next/static/{xJdz7CiaX6txLXXW3TSS7 → qOZ4XNmNZzNHwEPy-2A7p}/_clientMiddlewareManifest.json +0 -0
  385. /package/web/.next/static/{xJdz7CiaX6txLXXW3TSS7 → qOZ4XNmNZzNHwEPy-2A7p}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/lib/server-container.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../../../packages/core/src/infrastructure/services/folder-dialog.service.ts","../../../../../../../src/presentation/web/app/actions/pick-folder.ts","../../../../../../../src/presentation/web/app/actions/list-github-repositories.ts","../../../../../../../packages/core/src/application/ports/output/services/github-repository-service.interface.ts","../../../../../../../src/presentation/web/app/actions/import-github-repository.ts","../../../../../../../src/presentation/web/.next-internal/server/app/_not-found/page/actions.js%20%28server%20actions%20loader%29"],"sourcesContent":["/**\n * Server Container Accessor\n *\n * Provides a `resolve()` helper for server components and API routes to\n * obtain DI-managed instances. The tsyringe container is placed on globalThis\n * by the CLI bootstrap (`shep ui`) or the dev-server (`pnpm dev:web`).\n */\n\nimport type { DependencyContainer, InjectionToken } from 'tsyringe';\n\nconst CONTAINER_KEY = '__shepContainer';\n\n/**\n * Resolve a dependency from the DI container.\n *\n * Usage in server components / API routes:\n * ```ts\n * import { resolve } from '@/lib/server-container';\n * import { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\n *\n * const features = await resolve(ListFeaturesUseCase).execute();\n * ```\n */\nexport function resolve<T>(token: InjectionToken<T>): T {\n const container = (globalThis as Record<string, unknown>)[CONTAINER_KEY] as\n | DependencyContainer\n | undefined;\n\n if (!container) {\n throw new Error(\n 'DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.'\n );\n }\n\n return container.resolve(token);\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","import { execSync } from 'node:child_process';\n\nexport interface FolderDialogDeps {\n platform: NodeJS.Platform;\n exec: (cmd: string, opts?: { encoding: BufferEncoding; timeout?: number }) => string;\n}\n\nconst defaultDeps: FolderDialogDeps = {\n platform: process.platform,\n exec: (cmd, opts) => execSync(cmd, opts) as unknown as string,\n};\n\n/**\n * Platform-specific commands that open a native OS folder picker dialog.\n * Each returns the chosen absolute folder path on stdout, or exits non-zero / returns empty on cancel.\n */\nconst PLATFORM_COMMANDS: Record<string, string> = {\n darwin: `osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'`,\n linux: `zenity --file-selection --directory --title=\"Select a repository folder\" 2>/dev/null`,\n win32: `powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\"`,\n};\n\nexport class FolderDialogService {\n private deps: FolderDialogDeps;\n\n constructor(deps: Partial<FolderDialogDeps> = {}) {\n this.deps = { ...defaultDeps, ...deps };\n }\n\n /** Returns the OS-specific command string, or null if the platform is unsupported. */\n getCommand(): string | null {\n return PLATFORM_COMMANDS[this.deps.platform] ?? null;\n }\n\n /**\n * Opens a native folder picker dialog and returns the selected absolute path.\n * Returns `null` if the user cancels the dialog.\n * Throws if the platform is unsupported or the command fails unexpectedly.\n */\n pickFolder(): string | null {\n const command = this.getCommand();\n if (!command) {\n throw new Error(`Unsupported platform: ${this.deps.platform}`);\n }\n\n try {\n const result = this.deps.exec(command, { encoding: 'utf-8', timeout: 60_000 });\n const trimmed = result.trim();\n return trimmed.length > 0 ? trimmed : null;\n } catch (error: unknown) {\n // User cancelled the dialog — exit code 1 from osascript/zenity/powershell\n if (isExecError(error) && error.status === 1) {\n return null;\n }\n throw error;\n }\n }\n}\n\nfunction isExecError(error: unknown): error is { status: number } {\n return typeof error === 'object' && error !== null && 'status' in error;\n}\n","'use server';\n\nimport { FolderDialogService } from '@shepai/core/infrastructure/services/folder-dialog.service';\n\nexport async function pickFolder(): Promise<{ path: string | null; error?: string }> {\n const service = new FolderDialogService();\n\n try {\n const path = service.pickFolder();\n return { path };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder dialog';\n return { path: null, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListGitHubRepositoriesUseCase } from '@shepai/core/application/use-cases/repositories/list-github-repositories.use-case';\nimport type { GitHubRepo } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\nimport { GitHubAuthError } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\ninterface ListGitHubRepositoriesInput {\n search?: string;\n limit?: number;\n}\n\nexport async function listGitHubRepositories(\n input?: ListGitHubRepositoriesInput\n): Promise<{ repos?: GitHubRepo[]; error?: string }> {\n try {\n const useCase = resolve<ListGitHubRepositoriesUseCase>('ListGitHubRepositoriesUseCase');\n const repos = await useCase.execute(input);\n return { repos };\n } catch (error: unknown) {\n if (error instanceof GitHubAuthError) {\n return { error: 'GitHub CLI is not authenticated. Run `gh auth login` to sign in.' };\n }\n const message = error instanceof Error ? error.message : 'Failed to list repositories';\n return { error: message };\n }\n}\n","/**\n * GitHub Repository Service Interface\n *\n * Output port for GitHub repository operations via the gh CLI.\n * Implementations manage authentication checks, repository cloning,\n * user repository listing, and GitHub URL parsing.\n */\n\n// ---------------------------------------------------------------------------\n// Error classes\n// ---------------------------------------------------------------------------\n\n/**\n * Thrown when the GitHub CLI is not authenticated.\n */\nexport class GitHubAuthError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubAuthError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when a `gh repo clone` operation fails.\n */\nexport class GitHubCloneError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubCloneError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when a GitHub URL cannot be parsed into owner/repo.\n */\nexport class GitHubUrlParseError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubUrlParseError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when listing the user's GitHub repositories fails.\n */\nexport class GitHubRepoListError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubRepoListError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/**\n * A GitHub repository as returned by `gh repo list --json`.\n */\nexport interface GitHubRepo {\n /** Repository name (e.g. \"my-project\") */\n name: string;\n /** Full owner/repo identifier (e.g. \"octocat/my-project\") */\n nameWithOwner: string;\n /** Repository description (may be empty string) */\n description: string;\n /** Whether the repository is private */\n isPrivate: boolean;\n /** ISO 8601 timestamp of the most recent push */\n pushedAt: string;\n}\n\n/**\n * Options for listing user repositories.\n */\nexport interface ListUserRepositoriesOptions {\n /** Maximum number of repos to return (default: 30) */\n limit?: number;\n /** Filter repos by name substring */\n search?: string;\n}\n\n/**\n * Options for cloning a repository.\n */\nexport interface CloneOptions {\n /** Callback invoked with stderr chunks during clone for progress display */\n onProgress?: (data: string) => void;\n}\n\n/**\n * Result of parsing a GitHub URL.\n */\nexport interface ParsedGitHubUrl {\n /** Repository owner (e.g. \"octocat\") */\n owner: string;\n /** Repository name (e.g. \"my-project\") */\n repo: string;\n /** Combined owner/repo (e.g. \"octocat/my-project\") */\n nameWithOwner: string;\n}\n\n// ---------------------------------------------------------------------------\n// Service interface\n// ---------------------------------------------------------------------------\n\n/**\n * Output port for GitHub repository operations.\n *\n * Implementations use the `gh` CLI for all GitHub interactions.\n */\nexport interface IGitHubRepositoryService {\n /**\n * Verify that the GitHub CLI is authenticated.\n *\n * @throws {GitHubAuthError} if `gh auth status` indicates the user is not logged in\n */\n checkAuth(): Promise<void>;\n\n /**\n * Clone a GitHub repository to a local destination directory.\n *\n * @param nameWithOwner - Full owner/repo identifier (e.g. \"octocat/my-project\")\n * @param destination - Absolute path to clone into\n * @param options - Optional clone configuration (e.g. progress callback)\n * @throws {GitHubCloneError} if the clone subprocess fails\n */\n cloneRepository(\n nameWithOwner: string,\n destination: string,\n options?: CloneOptions\n ): Promise<void>;\n\n /**\n * List the authenticated user's GitHub repositories.\n *\n * @param options - Optional filtering and pagination\n * @returns Array of GitHub repositories sorted by most recently pushed\n * @throws {GitHubRepoListError} if the list operation fails\n */\n listUserRepositories(options?: ListUserRepositoriesOptions): Promise<GitHubRepo[]>;\n\n /**\n * Parse a GitHub URL or shorthand into its owner/repo components.\n *\n * Supported formats:\n * - `https://github.com/owner/repo`\n * - `https://github.com/owner/repo.git`\n * - `git@github.com:owner/repo.git`\n * - `owner/repo` (shorthand)\n *\n * @param url - The GitHub URL or shorthand to parse\n * @returns Parsed owner, repo, and nameWithOwner\n * @throws {GitHubUrlParseError} if the URL does not match any supported format\n */\n parseGitHubUrl(url: string): ParsedGitHubUrl;\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ImportGitHubRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/import-github-repository.use-case';\nimport type { Repository } from '@shepai/core/domain/generated/output';\nimport {\n GitHubAuthError,\n GitHubUrlParseError,\n GitHubCloneError,\n} from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\ninterface ImportGitHubRepositoryInput {\n url: string;\n dest?: string;\n}\n\nexport async function importGitHubRepository(\n input: ImportGitHubRepositoryInput\n): Promise<{ repository?: Repository; error?: string }> {\n const { url, dest } = input;\n\n if (!url?.trim()) {\n return { error: 'GitHub URL is required' };\n }\n\n try {\n const useCase = resolve<ImportGitHubRepositoryUseCase>('ImportGitHubRepositoryUseCase');\n const repository = await useCase.execute({ url, dest });\n return { repository };\n } catch (error: unknown) {\n if (error instanceof GitHubAuthError) {\n return { error: 'GitHub CLI is not authenticated. Run `gh auth login` to sign in.' };\n }\n if (error instanceof GitHubUrlParseError) {\n return { error: `Invalid GitHub URL: ${error.message}` };\n }\n if (error instanceof GitHubCloneError) {\n return { error: `Clone failed: ${error.message}` };\n }\n const message = error instanceof Error ? error.message : 'Failed to import repository';\n return { error: message };\n }\n}\n","export {pickFolder as '007b09dd7bb7325476c639e6d8c9c0151c6fbbf069'} from 'ACTIONS_MODULE0'\nexport {listGitHubRepositories as '4000f03a49599be83165d6619f5f7b129ce3568e94'} from 'ACTIONS_MODULE1'\nexport {importGitHubRepository as '402047a34a840cbe86c04d98fce827e7b156ad6980'} from 'ACTIONS_MODULE2'\n"],"names":["registerServerReference","ensureServerEntryExports","actions","i","length","action","Error"],"mappings":"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","ignoreList":[1,2]}