@shepai/cli 1.135.2-pr438.f43bc1e → 1.135.2-pr440.e97f691

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 (283) hide show
  1. package/apis/json-schema/Feature.yaml +3 -0
  2. package/apis/json-schema/SdlcLifecycle.yaml +1 -0
  3. package/apis/json-schema/WorkflowConfig.yaml +0 -5
  4. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts +2 -0
  5. package/dist/packages/core/src/application/ports/output/repositories/feature-repository.interface.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +0 -28
  7. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +0 -37
  9. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +0 -12
  11. package/dist/packages/core/src/application/ports/output/services/index.d.ts +3 -5
  12. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/ports/output/services/index.js +1 -2
  14. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts +20 -0
  15. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.d.ts.map +1 -0
  16. package/dist/packages/core/src/application/use-cases/features/archive-feature.use-case.js +74 -0
  17. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts +20 -0
  18. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.d.ts.map +1 -0
  19. package/dist/packages/core/src/application/use-cases/features/unarchive-feature.use-case.js +65 -0
  20. package/dist/packages/core/src/domain/generated/output.d.ts +6 -68
  21. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  22. package/dist/packages/core/src/domain/generated/output.js +1 -0
  23. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/di/container.js +10 -4
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +6 -0
  28. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts +12 -0
  29. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.d.ts.map +1 -0
  30. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/044-add-previous-lifecycle.js +16 -0
  31. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +7 -2
  33. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +1 -3
  34. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +1 -37
  36. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -2
  37. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  38. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +0 -21
  39. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts +18 -0
  40. package/dist/src/presentation/cli/commands/feat/archive.command.d.ts.map +1 -0
  41. package/dist/src/presentation/cli/commands/feat/archive.command.js +54 -0
  42. package/dist/src/presentation/cli/commands/feat/index.d.ts.map +1 -1
  43. package/dist/src/presentation/cli/commands/feat/index.js +5 -1
  44. package/dist/src/presentation/cli/commands/feat/ls.command.d.ts.map +1 -1
  45. package/dist/src/presentation/cli/commands/feat/ls.command.js +5 -0
  46. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts +17 -0
  47. package/dist/src/presentation/cli/commands/feat/unarchive.command.d.ts.map +1 -0
  48. package/dist/src/presentation/cli/commands/feat/unarchive.command.js +42 -0
  49. package/dist/src/presentation/cli/index.js +0 -2
  50. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  51. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +6 -1
  52. package/dist/src/presentation/web/app/actions/archive-feature.d.ts +6 -0
  53. package/dist/src/presentation/web/app/actions/archive-feature.d.ts.map +1 -0
  54. package/dist/src/presentation/web/app/actions/archive-feature.js +16 -0
  55. package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts +6 -0
  56. package/dist/src/presentation/web/app/actions/unarchive-feature.d.ts.map +1 -0
  57. package/dist/src/presentation/web/app/actions/unarchive-feature.js +16 -0
  58. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  59. package/dist/src/presentation/web/app/api/agent-events/route.js +1 -0
  60. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  61. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +6 -0
  62. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +3 -1
  63. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.js +11 -1
  65. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  66. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +22 -6
  67. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts +5 -0
  68. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.d.ts.map +1 -1
  69. package/dist/src/presentation/web/components/common/feature-node/feature-node.stories.js +75 -1
  70. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  71. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +13 -4
  72. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts +6 -0
  73. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  74. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +70 -0
  75. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +6 -0
  76. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  77. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +43 -2
  78. package/dist/src/presentation/web/hooks/sidebar-features-context.d.ts.map +1 -1
  79. package/dist/src/presentation/web/hooks/sidebar-features-context.js +1 -0
  80. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +1 -1
  81. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  82. package/dist/src/presentation/web/hooks/use-graph-state.js +17 -2
  83. package/dist/src/presentation/web/lib/derive-graph.d.ts +4 -0
  84. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
  85. package/dist/src/presentation/web/lib/derive-graph.js +12 -0
  86. package/dist/tsconfig.build.tsbuildinfo +1 -1
  87. package/package.json +1 -1
  88. package/web/.next/BUILD_ID +1 -1
  89. package/web/.next/build-manifest.json +2 -2
  90. package/web/.next/fallback-build-manifest.json +2 -2
  91. package/web/.next/prerender-manifest.json +3 -3
  92. package/web/.next/required-server-files.js +1 -1
  93. package/web/.next/required-server-files.json +1 -1
  94. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +78 -48
  95. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
  96. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  97. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +78 -48
  99. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
  100. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  101. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  102. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +90 -60
  103. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  104. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  105. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  106. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +90 -60
  107. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  108. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  109. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  110. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +74 -44
  111. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
  112. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  113. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  114. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +78 -48
  115. package/web/.next/server/app/(dashboard)/create/page.js +2 -2
  116. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  117. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  118. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +90 -60
  119. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  120. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  121. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +90 -60
  123. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  124. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  125. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  126. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +74 -44
  127. package/web/.next/server/app/(dashboard)/page.js +2 -2
  128. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  129. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  130. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +74 -44
  131. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
  132. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  133. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/_global-error.html +2 -2
  135. package/web/.next/server/app/_global-error.rsc +1 -1
  136. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  137. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  138. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  139. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  140. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  141. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
  142. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  143. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  144. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  145. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  146. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  147. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  148. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  149. package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
  150. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  151. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  152. package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
  153. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  154. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  155. package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
  156. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  157. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  158. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  159. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +2 -2
  160. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  161. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  162. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +1 -1
  163. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
  164. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  165. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  166. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b731076a.js +3 -0
  167. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_b731076a.js.map +1 -0
  168. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  169. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  170. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_edb1ed93.js +3 -0
  171. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_edb1ed93.js.map +1 -0
  172. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9b4d65a0.js +3 -0
  173. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_9b4d65a0.js.map +1 -0
  174. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  175. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
  176. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +1 -1
  177. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
  178. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
  179. package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.js +1 -1
  180. package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.js.map +1 -1
  181. package/web/.next/server/chunks/ssr/{[root-of-the-server]__31bc28da._.js → [root-of-the-server]__78a7fcc9._.js} +2 -2
  182. package/web/.next/server/chunks/ssr/{[root-of-the-server]__90ce4b6d._.js.map → [root-of-the-server]__78a7fcc9._.js.map} +1 -1
  183. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
  184. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
  185. package/web/.next/server/chunks/ssr/{[root-of-the-server]__32ecbed9._.js → [root-of-the-server]__8fbe6424._.js} +2 -2
  186. package/web/.next/server/chunks/ssr/{[root-of-the-server]__31bc28da._.js.map → [root-of-the-server]__8fbe6424._.js.map} +1 -1
  187. package/web/.next/server/chunks/ssr/{[root-of-the-server]__90f9ae71._.js → [root-of-the-server]__960623da._.js} +2 -2
  188. package/web/.next/server/chunks/ssr/{[root-of-the-server]__90f9ae71._.js.map → [root-of-the-server]__960623da._.js.map} +1 -1
  189. package/web/.next/server/chunks/ssr/[root-of-the-server]__96670392._.js +2 -2
  190. package/web/.next/server/chunks/ssr/[root-of-the-server]__96670392._.js.map +1 -1
  191. package/web/.next/server/chunks/ssr/[root-of-the-server]__9c45d070._.js +1 -1
  192. package/web/.next/server/chunks/ssr/[root-of-the-server]__9c45d070._.js.map +1 -1
  193. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  194. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  195. package/web/.next/server/chunks/ssr/{[root-of-the-server]__90ce4b6d._.js → [root-of-the-server]__c3bd3892._.js} +2 -2
  196. package/web/.next/server/chunks/ssr/{[root-of-the-server]__32ecbed9._.js.map → [root-of-the-server]__c3bd3892._.js.map} +1 -1
  197. package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
  198. package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
  199. package/web/.next/server/chunks/ssr/{_7e29a7bc._.js → _4fce23fd._.js} +2 -2
  200. package/web/.next/server/chunks/ssr/_4fce23fd._.js.map +1 -0
  201. package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
  202. package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
  203. package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
  204. package/web/.next/server/chunks/ssr/_b6960ca0._.js +4 -0
  205. package/web/.next/server/chunks/ssr/_b6960ca0._.js.map +1 -0
  206. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  207. package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
  208. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
  209. package/web/.next/server/chunks/ssr/_f18353a1._.js +3 -0
  210. package/web/.next/server/chunks/ssr/{_8b0c1045._.js.map → _f18353a1._.js.map} +1 -1
  211. package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
  212. package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
  213. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  214. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  215. package/web/.next/server/chunks/ssr/{src_presentation_web_cfea7939._.js → src_presentation_web_5a474643._.js} +2 -2
  216. package/web/.next/server/chunks/ssr/{src_presentation_web_cfea7939._.js.map → src_presentation_web_5a474643._.js.map} +1 -1
  217. package/web/.next/server/chunks/ssr/src_presentation_web_820d7c79._.js +5 -0
  218. package/web/.next/server/chunks/ssr/{src_presentation_web_8e7fe0d1._.js.map → src_presentation_web_820d7c79._.js.map} +1 -1
  219. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_005499f7.js +3 -0
  220. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_005499f7.js.map +1 -0
  221. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
  222. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
  223. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
  224. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
  225. package/web/.next/server/chunks/ssr/src_presentation_web_a1a382f3._.js +5 -0
  226. package/web/.next/server/chunks/ssr/{src_presentation_web_b9023017._.js.map → src_presentation_web_a1a382f3._.js.map} +1 -1
  227. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  228. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -1
  229. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  230. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  231. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  232. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  233. package/web/.next/server/pages/500.html +2 -2
  234. package/web/.next/server/server-reference-manifest.js +1 -1
  235. package/web/.next/server/server-reference-manifest.json +452 -296
  236. package/web/.next/static/chunks/09db7c74857d727e.js +1 -0
  237. package/web/.next/static/chunks/0f1221daf6a27f15.css +1 -0
  238. package/web/.next/static/chunks/{fe4aab39650fe1da.js → 14c5d3477ab30cbd.js} +1 -1
  239. package/web/.next/static/chunks/{13daed9124d5db9d.js → 16557147753ecd97.js} +2 -2
  240. package/web/.next/static/chunks/{d45958925d9b5068.js → 381674b7016bfe2d.js} +1 -1
  241. package/web/.next/static/chunks/{475a8dfc028d8ade.js → 3dbb95c2df37cd69.js} +1 -1
  242. package/web/.next/static/chunks/{3cf03a4faffa22e9.js → 42d4cfca94db8f3a.js} +1 -1
  243. package/web/.next/static/chunks/{e87e22afc1ecf600.js → 458c2a7ea153c3f0.js} +2 -2
  244. package/web/.next/static/chunks/{30f300c565f39570.js → 5e2a1042deae63bc.js} +1 -1
  245. package/web/.next/static/chunks/{2b853c80d6032a5b.js → 83fe7a19db594510.js} +1 -1
  246. package/web/.next/static/chunks/{9b5e512c27b112a5.js → 8be41bcbf3d0a5b2.js} +1 -1
  247. package/web/.next/static/chunks/{daf11c5cc3adbcbc.js → bd2735ffbb5a405f.js} +1 -1
  248. package/web/.next/static/chunks/d7317df625d1f4bc.js +1 -0
  249. package/apis/json-schema/DoctorDiagnosticReport.yaml +0 -24
  250. package/apis/json-schema/FailedRunSummary.yaml +0 -22
  251. package/apis/json-schema/SystemInfo.yaml +0 -22
  252. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts +0 -57
  253. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts.map +0 -1
  254. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.js +0 -39
  255. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts +0 -53
  256. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts.map +0 -1
  257. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.js +0 -266
  258. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts +0 -17
  259. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts.map +0 -1
  260. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.js +0 -69
  261. package/dist/src/presentation/cli/commands/doctor.command.d.ts +0 -20
  262. package/dist/src/presentation/cli/commands/doctor.command.d.ts.map +0 -1
  263. package/dist/src/presentation/cli/commands/doctor.command.js +0 -127
  264. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +0 -3
  265. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +0 -1
  266. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +0 -3
  267. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +0 -1
  268. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +0 -3
  269. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +0 -1
  270. package/web/.next/server/chunks/ssr/_77083321._.js +0 -4
  271. package/web/.next/server/chunks/ssr/_77083321._.js.map +0 -1
  272. package/web/.next/server/chunks/ssr/_7e29a7bc._.js.map +0 -1
  273. package/web/.next/server/chunks/ssr/_8b0c1045._.js +0 -3
  274. package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +0 -5
  275. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +0 -3
  276. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +0 -1
  277. package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +0 -5
  278. package/web/.next/static/chunks/0d539860f56e6468.js +0 -1
  279. package/web/.next/static/chunks/3e2d7d07926b05bf.css +0 -1
  280. package/web/.next/static/chunks/67b290f5a29737c1.js +0 -1
  281. /package/web/.next/static/{rYnuAm9xTEAUIz5Pqp9fP → lRiUQJLpOuDbBG06Veg7i}/_buildManifest.js +0 -0
  282. /package/web/.next/static/{rYnuAm9xTEAUIz5Pqp9fP → lRiUQJLpOuDbBG06Veg7i}/_clientMiddlewareManifest.json +0 -0
  283. /package/web/.next/static/{rYnuAm9xTEAUIz5Pqp9fP → lRiUQJLpOuDbBG06Veg7i}/_ssgManifest.js +0 -0
@@ -69,6 +69,9 @@ properties:
69
69
  parentId:
70
70
  $ref: UUID.yaml
71
71
  description: Parent feature ID for dependency tracking (optional)
72
+ previousLifecycle:
73
+ $ref: SdlcLifecycle.yaml
74
+ description: Lifecycle state prior to archiving, used to restore on unarchive (only set when lifecycle is Archived)
72
75
  attachments:
73
76
  type: array
74
77
  items:
@@ -13,4 +13,5 @@ enum:
13
13
  - Blocked
14
14
  - Pending
15
15
  - Deleting
16
+ - Archived
16
17
  description: Software Development Lifecycle stages for feature progression
@@ -55,11 +55,6 @@ properties:
55
55
  hideCiStatus:
56
56
  type: boolean
57
57
  description: "Hide CI status badges from UI (default: true)"
58
- doctorMaxFixAttempts:
59
- type: integer
60
- minimum: -2147483648
61
- maximum: 2147483647
62
- description: "Maximum number of doctor fix attempts before giving up (default: 1)"
63
58
  required:
64
59
  - openPrOnImplementationComplete
65
60
  - approvalGateDefaults
@@ -17,6 +17,8 @@ export interface FeatureListFilters {
17
17
  lifecycle?: SdlcLifecycle;
18
18
  /** When true, include soft-deleted features in results. Default: false. */
19
19
  includeDeleted?: boolean;
20
+ /** When true, include archived features in results. Default: false. */
21
+ includeArchived?: boolean;
20
22
  }
21
23
  /**
22
24
  * Repository interface for Feature entity persistence.
@@ -1 +1 @@
1
- {"version":3,"file":"feature-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/feature-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1E;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9E;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvD;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"feature-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/feature-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE1E;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE9E;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvD;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
@@ -118,21 +118,6 @@ export interface PrStatusInfo {
118
118
  /** Whether the PR can be merged (undefined if unknown, false = merge conflicts) */
119
119
  mergeable?: boolean;
120
120
  }
121
- /**
122
- * Arguments for creating a PR programmatically (without a pr.yaml file).
123
- */
124
- export interface PrCreateArgs {
125
- /** PR title */
126
- title: string;
127
- /** PR body (Markdown) */
128
- body: string;
129
- /** Labels to apply to the PR */
130
- labels: string[];
131
- /** Base branch to merge into (e.g. "main") */
132
- base: string;
133
- /** Target repository for cross-fork PRs (e.g. "shep-ai/cli"). Omit for same-repo PRs. */
134
- repo?: string;
135
- }
136
121
  /**
137
122
  * Merge strategy for pull requests.
138
123
  */
@@ -210,19 +195,6 @@ export interface IGitPrService {
210
195
  * @throws GitPrError with GH_NOT_FOUND or AUTH_FAILURE code
211
196
  */
212
197
  createPr(cwd: string, prYamlPath: string): Promise<PrCreateResult>;
213
- /**
214
- * Create a pull request from explicit arguments (no pr.yaml file needed).
215
- *
216
- * Useful for programmatic PR creation where the title, body, and labels
217
- * are constructed in code rather than read from a YAML file. Supports
218
- * cross-fork PRs via the optional `repo` field in args.
219
- *
220
- * @param cwd - Working directory path (must be inside the git repo)
221
- * @param args - PR creation arguments (title, body, labels, base, optional repo)
222
- * @returns URL and number of the created PR
223
- * @throws GitPrError with GH_NOT_FOUND or AUTH_FAILURE code
224
- */
225
- createPrFromArgs(cwd: string, args: PrCreateArgs): Promise<PrCreateResult>;
226
198
  /**
227
199
  * Merge a pull request immediately.
228
200
  *
@@ -1 +1 @@
1
- {"version":3,"file":"git-pr-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/git-pr-service.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-pr-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/git-pr-service.interface.ts"],"names":[],"mappings":"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"}
@@ -29,12 +29,6 @@ export declare class GitHubUrlParseError extends Error {
29
29
  export declare class GitHubRepoListError extends Error {
30
30
  constructor(message: string, cause?: Error);
31
31
  }
32
- /**
33
- * Thrown when a `gh repo fork` operation fails.
34
- */
35
- export declare class GitHubForkError extends Error {
36
- constructor(message: string, cause?: Error);
37
- }
38
32
  /**
39
33
  * A GitHub repository as returned by `gh repo list --json`.
40
34
  */
@@ -66,15 +60,6 @@ export interface CloneOptions {
66
60
  /** Callback invoked with stderr chunks during clone for progress display */
67
61
  onProgress?: (data: string) => void;
68
62
  }
69
- /**
70
- * Result of forking a GitHub repository.
71
- */
72
- export interface ForkResult {
73
- /** Full owner/repo identifier of the fork (e.g. "username/cli") */
74
- nameWithOwner: string;
75
- /** Clone URL for the fork (e.g. "https://github.com/username/cli.git") */
76
- cloneUrl: string;
77
- }
78
63
  /**
79
64
  * Result of parsing a GitHub URL.
80
65
  */
@@ -129,27 +114,5 @@ export interface IGitHubRepositoryService {
129
114
  * @throws {GitHubUrlParseError} if the URL does not match any supported format
130
115
  */
131
116
  parseGitHubUrl(url: string): ParsedGitHubUrl;
132
- /**
133
- * Check whether the authenticated user has push access to a repository.
134
- *
135
- * Uses `gh api repos/{owner}/{repo} --jq '.permissions.push'` to detect
136
- * access level. Returns false as the safe fallback on any error (network,
137
- * rate limit, API change) per NFR-9.
138
- *
139
- * @param repoNameWithOwner - Full owner/repo identifier (e.g. "shep-ai/cli")
140
- * @returns True if the user has push access, false otherwise (including on errors)
141
- */
142
- checkPushAccess(repoNameWithOwner: string): Promise<boolean>;
143
- /**
144
- * Fork a GitHub repository into the authenticated user's account.
145
- *
146
- * Uses `gh repo fork` which is idempotent — if the user already has a fork,
147
- * it detects the existing fork and returns it rather than failing.
148
- *
149
- * @param repoNameWithOwner - Full owner/repo identifier (e.g. "shep-ai/cli")
150
- * @returns The fork's nameWithOwner and clone URL
151
- * @throws {GitHubForkError} if the fork operation fails
152
- */
153
- forkRepository(repoNameWithOwner: string): Promise<ForkResult>;
154
117
  }
155
118
  //# sourceMappingURL=github-repository-service.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-repository-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/github-repository-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,aAAa,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;;;;OAOG;IACH,eAAe,CACb,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEnF;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;IAE7C;;;;;;;;;OASG;IACH,eAAe,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D;;;;;;;;;OASG;IACH,cAAc,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE"}
1
+ {"version":3,"file":"github-repository-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/github-repository-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3C;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B;;;;;;;OAOG;IACH,eAAe,CACb,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEnF;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;CAC9C"}
@@ -56,15 +56,3 @@ export class GitHubRepoListError extends Error {
56
56
  this.cause = cause;
57
57
  }
58
58
  }
59
- /**
60
- * Thrown when a `gh repo fork` operation fails.
61
- */
62
- export class GitHubForkError extends Error {
63
- constructor(message, cause) {
64
- super(message);
65
- this.name = 'GitHubForkError';
66
- Object.setPrototypeOf(this, new.target.prototype);
67
- if (cause)
68
- this.cause = cause;
69
- }
70
- }
@@ -12,13 +12,11 @@ export type { IWorktreeService, WorktreeInfo } from './worktree-service.interfac
12
12
  export { WorktreeError, WorktreeErrorCode } from './worktree-service.interface.js';
13
13
  export type { IToolInstallerService, AvailableTerminalEntry } from './tool-installer.service.js';
14
14
  export type { INotificationService } from './notification-service.interface.js';
15
- export type { IGitPrService, CiStatus, CiStatusResult, DiffSummary, MergeStrategy, PrCreateArgs, PrCreateResult, } from './git-pr-service.interface.js';
15
+ export type { IGitPrService, CiStatus, CiStatusResult, DiffSummary, MergeStrategy, PrCreateResult, } from './git-pr-service.interface.js';
16
16
  export { GitPrError, GitPrErrorCode } from './git-pr-service.interface.js';
17
17
  export type { IIdeLauncherService, LaunchIdeInput, LaunchIdeResult, LaunchIdeSuccess, LaunchIdeFailed, } from './ide-launcher-service.interface.js';
18
18
  export type { IDaemonService, DaemonState } from './daemon-service.interface.js';
19
19
  export type { IDeploymentService, DeploymentStatus } from './deployment-service.interface.js';
20
- export type { IGitHubRepositoryService, GitHubRepo, ListUserRepositoriesOptions, CloneOptions, ParsedGitHubUrl, ForkResult, } from './github-repository-service.interface.js';
21
- export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, GitHubForkError, } from './github-repository-service.interface.js';
22
- export type { IGitHubIssueService, GitHubIssueCreateResult, } from './github-issue-service.interface.js';
23
- export { GitHubIssueError, GitHubIssueErrorCode } from './github-issue-service.interface.js';
20
+ export type { IGitHubRepositoryService, GitHubRepo, ListUserRepositoriesOptions, CloneOptions, ParsedGitHubUrl, } from './github-repository-service.interface.js';
21
+ export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, } from './github-repository-service.interface.js';
24
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC"}
@@ -6,5 +6,4 @@
6
6
  export { IssueFetcherError, IssueNotFoundError, IssueAuthenticationError, IssueServiceUnavailableError, } from './external-issue-fetcher.interface.js';
7
7
  export { WorktreeError, WorktreeErrorCode } from './worktree-service.interface.js';
8
8
  export { GitPrError, GitPrErrorCode } from './git-pr-service.interface.js';
9
- export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, GitHubForkError, } from './github-repository-service.interface.js';
10
- export { GitHubIssueError, GitHubIssueErrorCode } from './github-issue-service.interface.js';
9
+ export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, } from './github-repository-service.interface.js';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Archive Feature Use Case
3
+ *
4
+ * Transitions a feature's lifecycle to Archived, storing the current lifecycle
5
+ * in previousLifecycle for restoration on unarchive.
6
+ *
7
+ * Business Rules:
8
+ * - Only features in Maintain, Pending, or Blocked states can be archived
9
+ * - Features with active (non-archived, non-deleted) children cannot be archived
10
+ * - The current lifecycle is preserved in previousLifecycle for unarchive restoration
11
+ * - No git operations or agent cancellations are triggered (archive is non-destructive)
12
+ */
13
+ import type { Feature } from '../../../domain/generated/output.js';
14
+ import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
15
+ export declare class ArchiveFeatureUseCase {
16
+ private readonly featureRepo;
17
+ constructor(featureRepo: IFeatureRepository);
18
+ execute(featureId: string): Promise<Feature>;
19
+ }
20
+ //# sourceMappingURL=archive-feature.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/archive-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAS1G,qBACa,qBAAqB;IACU,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAEpF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CA0CnD"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Archive Feature Use Case
3
+ *
4
+ * Transitions a feature's lifecycle to Archived, storing the current lifecycle
5
+ * in previousLifecycle for restoration on unarchive.
6
+ *
7
+ * Business Rules:
8
+ * - Only features in Maintain, Pending, or Blocked states can be archived
9
+ * - Features with active (non-archived, non-deleted) children cannot be archived
10
+ * - The current lifecycle is preserved in previousLifecycle for unarchive restoration
11
+ * - No git operations or agent cancellations are triggered (archive is non-destructive)
12
+ */
13
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+ var __metadata = (this && this.__metadata) || function (k, v) {
20
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
+ };
22
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
23
+ return function (target, key) { decorator(target, key, paramIndex); }
24
+ };
25
+ import { injectable, inject } from 'tsyringe';
26
+ import { SdlcLifecycle } from '../../../domain/generated/output.js';
27
+ /** Lifecycle states eligible for archiving. */
28
+ const ARCHIVABLE_STATES = new Set([
29
+ SdlcLifecycle.Maintain,
30
+ SdlcLifecycle.Pending,
31
+ SdlcLifecycle.Blocked,
32
+ ]);
33
+ let ArchiveFeatureUseCase = class ArchiveFeatureUseCase {
34
+ featureRepo;
35
+ constructor(featureRepo) {
36
+ this.featureRepo = featureRepo;
37
+ }
38
+ async execute(featureId) {
39
+ // 1. Find feature (exact or prefix match)
40
+ const feature = (await this.featureRepo.findById(featureId)) ??
41
+ (await this.featureRepo.findByIdPrefix(featureId));
42
+ if (!feature) {
43
+ throw new Error(`Feature not found: "${featureId}"`);
44
+ }
45
+ // 2. Validate lifecycle is archivable
46
+ if (!ARCHIVABLE_STATES.has(feature.lifecycle)) {
47
+ throw new Error(`Cannot archive feature "${feature.name}": lifecycle is ${feature.lifecycle}. ` +
48
+ `Only features in Maintain, Pending, or Blocked states can be archived.`);
49
+ }
50
+ // 3. Check for active (non-archived, non-deleted) children
51
+ const children = await this.featureRepo.findByParentId(feature.id);
52
+ const activeChildren = children.filter((c) => c.lifecycle !== SdlcLifecycle.Archived && !c.deletedAt);
53
+ if (activeChildren.length > 0) {
54
+ const names = activeChildren.map((c) => c.name).join(', ');
55
+ throw new Error(`Cannot archive feature "${feature.name}": it has active child features (${names}). ` +
56
+ `Archive or delete child features first.`);
57
+ }
58
+ // 4. Store current lifecycle and transition to Archived
59
+ const updatedFeature = {
60
+ ...feature,
61
+ previousLifecycle: feature.lifecycle,
62
+ lifecycle: SdlcLifecycle.Archived,
63
+ updatedAt: new Date(),
64
+ };
65
+ await this.featureRepo.update(updatedFeature);
66
+ return updatedFeature;
67
+ }
68
+ };
69
+ ArchiveFeatureUseCase = __decorate([
70
+ injectable(),
71
+ __param(0, inject('IFeatureRepository')),
72
+ __metadata("design:paramtypes", [Object])
73
+ ], ArchiveFeatureUseCase);
74
+ export { ArchiveFeatureUseCase };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Unarchive Feature Use Case
3
+ *
4
+ * Restores a feature from Archived to its previousLifecycle value,
5
+ * then clears previousLifecycle.
6
+ *
7
+ * Business Rules:
8
+ * - Only features in the Archived state can be unarchived
9
+ * - previousLifecycle must be non-null for restoration
10
+ * - The lifecycle is restored to the pre-archive state
11
+ * - previousLifecycle is cleared after restoration
12
+ */
13
+ import type { Feature } from '../../../domain/generated/output.js';
14
+ import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
15
+ export declare class UnarchiveFeatureUseCase {
16
+ private readonly featureRepo;
17
+ constructor(featureRepo: IFeatureRepository);
18
+ execute(featureId: string): Promise<Feature>;
19
+ }
20
+ //# sourceMappingURL=unarchive-feature.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unarchive-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/unarchive-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAE1G,qBACa,uBAAuB;IACQ,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,kBAAkB;IAEpF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAqCnD"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Unarchive Feature Use Case
3
+ *
4
+ * Restores a feature from Archived to its previousLifecycle value,
5
+ * then clears previousLifecycle.
6
+ *
7
+ * Business Rules:
8
+ * - Only features in the Archived state can be unarchived
9
+ * - previousLifecycle must be non-null for restoration
10
+ * - The lifecycle is restored to the pre-archive state
11
+ * - previousLifecycle is cleared after restoration
12
+ */
13
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+ var __metadata = (this && this.__metadata) || function (k, v) {
20
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
+ };
22
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
23
+ return function (target, key) { decorator(target, key, paramIndex); }
24
+ };
25
+ import { injectable, inject } from 'tsyringe';
26
+ import { SdlcLifecycle } from '../../../domain/generated/output.js';
27
+ let UnarchiveFeatureUseCase = class UnarchiveFeatureUseCase {
28
+ featureRepo;
29
+ constructor(featureRepo) {
30
+ this.featureRepo = featureRepo;
31
+ }
32
+ async execute(featureId) {
33
+ // 1. Find feature (exact or prefix match)
34
+ const feature = (await this.featureRepo.findById(featureId)) ??
35
+ (await this.featureRepo.findByIdPrefix(featureId));
36
+ if (!feature) {
37
+ throw new Error(`Feature not found: "${featureId}"`);
38
+ }
39
+ // 2. Validate lifecycle is Archived
40
+ if (feature.lifecycle !== SdlcLifecycle.Archived) {
41
+ throw new Error(`Cannot unarchive feature "${feature.name}": lifecycle is ${feature.lifecycle}. ` +
42
+ `Only archived features can be unarchived.`);
43
+ }
44
+ // 3. Validate previousLifecycle exists
45
+ if (!feature.previousLifecycle) {
46
+ throw new Error(`Cannot unarchive feature "${feature.name}": no previous lifecycle state recorded. ` +
47
+ `The feature may have been archived before this field was introduced.`);
48
+ }
49
+ // 4. Restore lifecycle and clear previousLifecycle
50
+ const updatedFeature = {
51
+ ...feature,
52
+ lifecycle: feature.previousLifecycle,
53
+ previousLifecycle: undefined,
54
+ updatedAt: new Date(),
55
+ };
56
+ await this.featureRepo.update(updatedFeature);
57
+ return updatedFeature;
58
+ }
59
+ };
60
+ UnarchiveFeatureUseCase = __decorate([
61
+ injectable(),
62
+ __param(0, inject('IFeatureRepository')),
63
+ __metadata("design:paramtypes", [Object])
64
+ ], UnarchiveFeatureUseCase);
65
+ export { UnarchiveFeatureUseCase };
@@ -417,10 +417,6 @@ export type WorkflowConfig = {
417
417
  * Hide CI status badges from UI (default: true)
418
418
  */
419
419
  hideCiStatus?: boolean;
420
- /**
421
- * Maximum number of doctor fix attempts before giving up (default: 1)
422
- */
423
- doctorMaxFixAttempts?: number;
424
420
  };
425
421
  export declare enum AgentType {
426
422
  ClaudeCode = "claude-code",
@@ -743,7 +739,8 @@ export declare enum SdlcLifecycle {
743
739
  Maintain = "Maintain",
744
740
  Blocked = "Blocked",
745
741
  Pending = "Pending",
746
- Deleting = "Deleting"
742
+ Deleting = "Deleting",
743
+ Archived = "Archived"
747
744
  }
748
745
  /**
749
746
  * Configuration for human-in-the-loop approval gates
@@ -943,6 +940,10 @@ export type Feature = SoftDeletableEntity & {
943
940
  * Parent feature ID for dependency tracking (optional)
944
941
  */
945
942
  parentId?: UUID;
943
+ /**
944
+ * Lifecycle state prior to archiving, used to restore on unarchive (only set when lifecycle is Archived)
945
+ */
946
+ previousLifecycle?: SdlcLifecycle;
946
947
  /**
947
948
  * Files attached by the user when creating or messaging this feature
948
949
  */
@@ -1610,69 +1611,6 @@ export type Evidence = {
1610
1611
  */
1611
1612
  taskRef?: string;
1612
1613
  };
1613
- /**
1614
- * Summary of a failed agent run for diagnostic reporting
1615
- */
1616
- export type FailedRunSummary = {
1617
- /**
1618
- * Type of agent that failed (e.g. claude-code, gemini-cli)
1619
- */
1620
- agentType: string;
1621
- /**
1622
- * Name/identifier of the agent run
1623
- */
1624
- agentName: string;
1625
- /**
1626
- * Error message from the failed run
1627
- */
1628
- error: string;
1629
- /**
1630
- * ISO 8601 timestamp when the failure occurred
1631
- */
1632
- timestamp: string;
1633
- };
1634
- /**
1635
- * System environment information for diagnostic reporting
1636
- */
1637
- export type SystemInfo = {
1638
- /**
1639
- * Node.js version (e.g. v20.11.0)
1640
- */
1641
- nodeVersion: string;
1642
- /**
1643
- * Operating system platform (e.g. darwin, linux, win32)
1644
- */
1645
- platform: string;
1646
- /**
1647
- * CPU architecture (e.g. x64, arm64)
1648
- */
1649
- arch: string;
1650
- /**
1651
- * gh CLI version string
1652
- */
1653
- ghVersion: string;
1654
- };
1655
- /**
1656
- * Structured diagnostic report collected by shep doctor for issue creation
1657
- */
1658
- export type DoctorDiagnosticReport = {
1659
- /**
1660
- * User-provided description of the problem
1661
- */
1662
- userDescription: string;
1663
- /**
1664
- * Summaries of recent failed agent runs
1665
- */
1666
- failedRunSummaries: FailedRunSummary[];
1667
- /**
1668
- * System environment information
1669
- */
1670
- systemInfo: SystemInfo;
1671
- /**
1672
- * Current shep CLI version
1673
- */
1674
- cliVersion: string;
1675
- };
1676
1614
  export declare enum AgentStatus {
1677
1615
  Idle = "Idle",
1678
1616
  Running = "Running",