@shepai/cli 1.135.1 → 1.135.2-pr438.e15badd

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 (192) hide show
  1. package/apis/json-schema/DoctorDiagnosticReport.yaml +24 -0
  2. package/apis/json-schema/FailedRunSummary.yaml +22 -0
  3. package/apis/json-schema/SystemInfo.yaml +22 -0
  4. package/apis/json-schema/WorkflowConfig.yaml +5 -0
  5. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +28 -0
  6. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts +57 -0
  8. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts.map +1 -0
  9. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.js +39 -0
  10. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +37 -0
  11. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  12. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +12 -0
  13. package/dist/packages/core/src/application/ports/output/services/index.d.ts +5 -3
  14. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  15. package/dist/packages/core/src/application/ports/output/services/index.js +2 -1
  16. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts +53 -0
  17. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts.map +1 -0
  18. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.js +266 -0
  19. package/dist/packages/core/src/domain/generated/output.d.ts +67 -0
  20. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/di/container.js +4 -0
  23. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts +17 -0
  24. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts.map +1 -0
  25. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.js +69 -0
  26. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +3 -1
  27. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  28. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +37 -1
  29. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +2 -1
  30. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  31. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +21 -0
  32. package/dist/src/presentation/cli/commands/doctor.command.d.ts +20 -0
  33. package/dist/src/presentation/cli/commands/doctor.command.d.ts.map +1 -0
  34. package/dist/src/presentation/cli/commands/doctor.command.js +127 -0
  35. package/dist/src/presentation/cli/index.js +2 -0
  36. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  37. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +3 -2
  38. package/dist/tsconfig.build.tsbuildinfo +1 -1
  39. package/package.json +1 -1
  40. package/web/.next/BUILD_ID +1 -1
  41. package/web/.next/build-manifest.json +2 -2
  42. package/web/.next/fallback-build-manifest.json +2 -2
  43. package/web/.next/prerender-manifest.json +3 -3
  44. package/web/.next/required-server-files.js +3 -3
  45. package/web/.next/required-server-files.json +3 -3
  46. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +24 -24
  47. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  48. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  49. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  50. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +24 -24
  51. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  52. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  53. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  54. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
  55. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +1 -1
  56. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  57. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  58. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +30 -30
  59. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +1 -1
  60. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  61. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  62. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
  63. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  64. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  65. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  66. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +24 -24
  67. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  68. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  69. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  70. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +30 -30
  71. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +1 -1
  72. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  73. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  74. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +30 -30
  75. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +1 -1
  76. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  77. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  78. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +22 -22
  79. package/web/.next/server/app/(dashboard)/page.js +1 -1
  80. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  81. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  82. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +22 -22
  83. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  84. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  85. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  86. package/web/.next/server/app/_global-error.html +2 -2
  87. package/web/.next/server/app/_global-error.rsc +1 -1
  88. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  89. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  90. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  91. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  92. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  93. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
  94. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  95. package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
  96. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  97. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
  99. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
  101. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  102. package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
  103. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  104. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  105. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
  106. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  107. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +1 -1
  108. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +1 -1
  109. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  110. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  111. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +1 -1
  112. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +1 -1
  114. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +1 -1
  115. package/web/.next/server/chunks/ssr/[root-of-the-server]__31bc28da._.js +1 -1
  116. package/web/.next/server/chunks/ssr/[root-of-the-server]__31bc28da._.js.map +1 -1
  117. package/web/.next/server/chunks/ssr/[root-of-the-server]__32ecbed9._.js +1 -1
  118. package/web/.next/server/chunks/ssr/[root-of-the-server]__32ecbed9._.js.map +1 -1
  119. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  120. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
  121. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +1 -1
  122. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
  123. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
  124. package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.js +1 -1
  125. package/web/.next/server/chunks/ssr/[root-of-the-server]__7894f27f._.js.map +1 -1
  126. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
  127. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/[root-of-the-server]__90ce4b6d._.js +1 -1
  129. package/web/.next/server/chunks/ssr/[root-of-the-server]__90ce4b6d._.js.map +1 -1
  130. package/web/.next/server/chunks/ssr/[root-of-the-server]__90f9ae71._.js +1 -1
  131. package/web/.next/server/chunks/ssr/[root-of-the-server]__90f9ae71._.js.map +1 -1
  132. package/web/.next/server/chunks/ssr/[root-of-the-server]__96670392._.js +2 -2
  133. package/web/.next/server/chunks/ssr/[root-of-the-server]__96670392._.js.map +1 -1
  134. package/web/.next/server/chunks/ssr/[root-of-the-server]__9c45d070._.js.map +1 -1
  135. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
  136. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  137. package/web/.next/server/chunks/ssr/_02ec1aea._.js +1 -1
  138. package/web/.next/server/chunks/ssr/_02ec1aea._.js.map +1 -1
  139. package/web/.next/server/chunks/ssr/{_b6960ca0._.js → _77083321._.js} +3 -3
  140. package/web/.next/server/chunks/ssr/_77083321._.js.map +1 -0
  141. package/web/.next/server/chunks/ssr/{_76c02473._.js → _77554d3d._.js} +2 -2
  142. package/web/.next/server/chunks/ssr/{_76c02473._.js.map → _77554d3d._.js.map} +1 -1
  143. package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
  144. package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
  145. package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
  146. package/web/.next/server/chunks/ssr/_b5d75071._.js +3 -0
  147. package/web/.next/server/chunks/ssr/{_f4036c66._.js.map → _b5d75071._.js.map} +1 -1
  148. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  149. package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
  150. package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
  151. package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
  152. package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
  153. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  154. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  155. package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +2 -2
  156. package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js.map +1 -1
  157. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +1 -1
  158. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +1 -1
  159. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
  160. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
  161. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
  162. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
  163. package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +2 -2
  164. package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js.map +1 -1
  165. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
  166. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  167. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  168. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  169. package/web/.next/server/chunks/ssr/{src_presentation_web_7f2bd8b5._.js → src_presentation_web_e1bde3d9._.js} +2 -2
  170. package/web/.next/server/chunks/ssr/{src_presentation_web_7f2bd8b5._.js.map → src_presentation_web_e1bde3d9._.js.map} +1 -1
  171. package/web/.next/server/pages/500.html +2 -2
  172. package/web/.next/server/server-reference-manifest.js +1 -1
  173. package/web/.next/server/server-reference-manifest.json +38 -38
  174. package/web/.next/static/chunks/{fc30f9f869b6d879.js → 2afbd8ea610fa167.js} +1 -1
  175. package/web/.next/static/chunks/{fbcce031d4f6a933.js → 2c9ac55a4fa44ac4.js} +2 -2
  176. package/web/.next/static/chunks/2f507a6530863471.js +2 -0
  177. package/web/.next/static/chunks/{2b2bcf845ca00af0.js → 34a56908d5760236.js} +1 -1
  178. package/web/.next/static/chunks/{4d4a06751c4a6dc5.js → 439da912fae0dfb5.js} +1 -1
  179. package/web/.next/static/chunks/{c4dc75f937edf746.js → 45b13708047590eb.js} +1 -1
  180. package/web/.next/static/chunks/{b6117e16e4642568.js → 5cc1898809217e44.js} +1 -1
  181. package/web/.next/static/chunks/{7c62d50a59d1296b.js → 844b1f46c44b62da.js} +1 -1
  182. package/web/.next/static/chunks/{7c858879658287c9.js → a7946b5a536614d8.js} +1 -1
  183. package/web/.next/static/chunks/{e804b8565e41d2d0.js → c1fe426c1186e317.js} +1 -1
  184. package/web/.next/static/chunks/{7ad0e3ee269e90ca.js → e3f1b9a2e8b3a0f8.js} +1 -1
  185. package/web/.next/static/chunks/ee3933e1eca61c86.js +1 -0
  186. package/web/.next/server/chunks/ssr/_b6960ca0._.js.map +0 -1
  187. package/web/.next/server/chunks/ssr/_f4036c66._.js +0 -3
  188. package/web/.next/static/chunks/56ce7ec52973f61f.js +0 -2
  189. package/web/.next/static/chunks/5dbecf32f1f3b9aa.js +0 -1
  190. /package/web/.next/static/{eTSgKFGuzFHv4FcGxc30f → hD6XLMKjNGlLX4l-q7_q6}/_buildManifest.js +0 -0
  191. /package/web/.next/static/{eTSgKFGuzFHv4FcGxc30f → hD6XLMKjNGlLX4l-q7_q6}/_clientMiddlewareManifest.json +0 -0
  192. /package/web/.next/static/{eTSgKFGuzFHv4FcGxc30f → hD6XLMKjNGlLX4l-q7_q6}/_ssgManifest.js +0 -0
@@ -0,0 +1,24 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: DoctorDiagnosticReport.yaml
3
+ type: object
4
+ properties:
5
+ userDescription:
6
+ type: string
7
+ description: User-provided description of the problem
8
+ failedRunSummaries:
9
+ type: array
10
+ items:
11
+ $ref: FailedRunSummary.yaml
12
+ description: Summaries of recent failed agent runs
13
+ systemInfo:
14
+ $ref: SystemInfo.yaml
15
+ description: System environment information
16
+ cliVersion:
17
+ type: string
18
+ description: Current shep CLI version
19
+ required:
20
+ - userDescription
21
+ - failedRunSummaries
22
+ - systemInfo
23
+ - cliVersion
24
+ description: Structured diagnostic report collected by shep doctor for issue creation
@@ -0,0 +1,22 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: FailedRunSummary.yaml
3
+ type: object
4
+ properties:
5
+ agentType:
6
+ type: string
7
+ description: Type of agent that failed (e.g. claude-code, gemini-cli)
8
+ agentName:
9
+ type: string
10
+ description: Name/identifier of the agent run
11
+ error:
12
+ type: string
13
+ description: Error message from the failed run
14
+ timestamp:
15
+ type: string
16
+ description: ISO 8601 timestamp when the failure occurred
17
+ required:
18
+ - agentType
19
+ - agentName
20
+ - error
21
+ - timestamp
22
+ description: Summary of a failed agent run for diagnostic reporting
@@ -0,0 +1,22 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: SystemInfo.yaml
3
+ type: object
4
+ properties:
5
+ nodeVersion:
6
+ type: string
7
+ description: Node.js version (e.g. v20.11.0)
8
+ platform:
9
+ type: string
10
+ description: Operating system platform (e.g. darwin, linux, win32)
11
+ arch:
12
+ type: string
13
+ description: CPU architecture (e.g. x64, arm64)
14
+ ghVersion:
15
+ type: string
16
+ description: gh CLI version string
17
+ required:
18
+ - nodeVersion
19
+ - platform
20
+ - arch
21
+ - ghVersion
22
+ description: System environment information for diagnostic reporting
@@ -55,6 +55,11 @@ 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)"
58
63
  required:
59
64
  - openPrOnImplementationComplete
60
65
  - approvalGateDefaults
@@ -118,6 +118,21 @@ 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
+ }
121
136
  /**
122
137
  * Merge strategy for pull requests.
123
138
  */
@@ -195,6 +210,19 @@ export interface IGitPrService {
195
210
  * @throws GitPrError with GH_NOT_FOUND or AUTH_FAILURE code
196
211
  */
197
212
  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>;
198
226
  /**
199
227
  * Merge a pull request immediately.
200
228
  *
@@ -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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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * GitHub Issue Service Interface
3
+ *
4
+ * Output port for creating GitHub issues via the gh CLI.
5
+ * Implementations wrap `gh issue create` for issue creation on
6
+ * any GitHub repository. Separate from IExternalIssueFetcher which
7
+ * is a read-only fetcher — this service handles write operations.
8
+ */
9
+ /**
10
+ * Error codes for GitHub issue creation operations.
11
+ */
12
+ export declare enum GitHubIssueErrorCode {
13
+ /** The target repository was not found or the user lacks access */
14
+ GH_NOT_FOUND = "GH_NOT_FOUND",
15
+ /** GitHub CLI authentication failure */
16
+ AUTH_FAILURE = "AUTH_FAILURE",
17
+ /** Network connectivity error during API call */
18
+ NETWORK_ERROR = "NETWORK_ERROR",
19
+ /** Issue creation failed for an unspecified reason */
20
+ CREATE_FAILED = "CREATE_FAILED"
21
+ }
22
+ /**
23
+ * Typed error for GitHub issue creation operations.
24
+ */
25
+ export declare class GitHubIssueError extends Error {
26
+ readonly code: GitHubIssueErrorCode;
27
+ readonly cause?: Error | undefined;
28
+ constructor(message: string, code: GitHubIssueErrorCode, cause?: Error | undefined);
29
+ }
30
+ /**
31
+ * Result of creating a GitHub issue.
32
+ */
33
+ export interface GitHubIssueCreateResult {
34
+ /** URL of the created issue (e.g. "https://github.com/owner/repo/issues/42") */
35
+ url: string;
36
+ /** Issue number */
37
+ number: number;
38
+ }
39
+ /**
40
+ * Output port for GitHub issue creation.
41
+ *
42
+ * Implementations use the `gh` CLI for all GitHub interactions.
43
+ */
44
+ export interface IGitHubIssueService {
45
+ /**
46
+ * Create a new issue on a GitHub repository.
47
+ *
48
+ * @param repo - Full owner/repo identifier (e.g. "shep-ai/cli")
49
+ * @param title - Issue title
50
+ * @param body - Issue body (Markdown)
51
+ * @param labels - Labels to apply to the issue (e.g. ["bug", "shep-doctor"])
52
+ * @returns The created issue's URL and number
53
+ * @throws {GitHubIssueError} with appropriate error code on failure
54
+ */
55
+ createIssue(repo: string, title: string, body: string, labels: string[]): Promise<GitHubIssueCreateResult>;
56
+ }
57
+ //# sourceMappingURL=github-issue-service.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-issue-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/github-issue-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,mEAAmE;IACnE,YAAY,iBAAiB;IAC7B,wCAAwC;IACxC,YAAY,iBAAiB;IAC7B,iDAAiD;IACjD,aAAa,kBAAkB;IAC/B,sDAAsD;IACtD,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,IAAI,EAAE,oBAAoB;aAC1B,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,CAAC,EAAE,KAAK,YAAA;CAMhC;AAMD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,uBAAuB,CAAC,CAAC;CACrC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * GitHub Issue Service Interface
3
+ *
4
+ * Output port for creating GitHub issues via the gh CLI.
5
+ * Implementations wrap `gh issue create` for issue creation on
6
+ * any GitHub repository. Separate from IExternalIssueFetcher which
7
+ * is a read-only fetcher — this service handles write operations.
8
+ */
9
+ // ---------------------------------------------------------------------------
10
+ // Error types
11
+ // ---------------------------------------------------------------------------
12
+ /**
13
+ * Error codes for GitHub issue creation operations.
14
+ */
15
+ export var GitHubIssueErrorCode;
16
+ (function (GitHubIssueErrorCode) {
17
+ /** The target repository was not found or the user lacks access */
18
+ GitHubIssueErrorCode["GH_NOT_FOUND"] = "GH_NOT_FOUND";
19
+ /** GitHub CLI authentication failure */
20
+ GitHubIssueErrorCode["AUTH_FAILURE"] = "AUTH_FAILURE";
21
+ /** Network connectivity error during API call */
22
+ GitHubIssueErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
23
+ /** Issue creation failed for an unspecified reason */
24
+ GitHubIssueErrorCode["CREATE_FAILED"] = "CREATE_FAILED";
25
+ })(GitHubIssueErrorCode || (GitHubIssueErrorCode = {}));
26
+ /**
27
+ * Typed error for GitHub issue creation operations.
28
+ */
29
+ export class GitHubIssueError extends Error {
30
+ code;
31
+ cause;
32
+ constructor(message, code, cause) {
33
+ super(message);
34
+ this.code = code;
35
+ this.cause = cause;
36
+ this.name = 'GitHubIssueError';
37
+ Object.setPrototypeOf(this, new.target.prototype);
38
+ }
39
+ }
@@ -29,6 +29,12 @@ 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
+ }
32
38
  /**
33
39
  * A GitHub repository as returned by `gh repo list --json`.
34
40
  */
@@ -60,6 +66,15 @@ export interface CloneOptions {
60
66
  /** Callback invoked with stderr chunks during clone for progress display */
61
67
  onProgress?: (data: string) => void;
62
68
  }
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
+ }
63
78
  /**
64
79
  * Result of parsing a GitHub URL.
65
80
  */
@@ -114,5 +129,27 @@ export interface IGitHubRepositoryService {
114
129
  * @throws {GitHubUrlParseError} if the URL does not match any supported format
115
130
  */
116
131
  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>;
117
154
  }
118
155
  //# 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;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"}
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"}
@@ -56,3 +56,15 @@ 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,11 +12,13 @@ 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, PrCreateResult, } from './git-pr-service.interface.js';
15
+ export type { IGitPrService, CiStatus, CiStatusResult, DiffSummary, MergeStrategy, PrCreateArgs, 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, } from './github-repository-service.interface.js';
21
- export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, } from './github-repository-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';
22
24
  //# 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,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"}
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"}
@@ -6,4 +6,5 @@
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, } from './github-repository-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';
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Doctor Diagnose Use Case
3
+ *
4
+ * Orchestrates the shep doctor workflow:
5
+ * 1. Collect diagnostic context (failed agent runs, version, system info)
6
+ * 2. Create a structured GitHub issue on shep-ai/cli
7
+ * 3. Optionally attempt a fix via AI agent
8
+ * 4. Open a PR with the fix (direct push for maintainers, fork for contributors)
9
+ *
10
+ * Following Clean Architecture: all external operations are injected via interfaces.
11
+ */
12
+ import type { IAgentRunRepository } from '../../ports/output/agents/agent-run-repository.interface.js';
13
+ import type { IVersionService } from '../../ports/output/services/version-service.interface.js';
14
+ import type { IGitHubIssueService } from '../../ports/output/services/github-issue-service.interface.js';
15
+ import type { IGitHubRepositoryService } from '../../ports/output/services/github-repository-service.interface.js';
16
+ import type { IGitPrService } from '../../ports/output/services/git-pr-service.interface.js';
17
+ import type { IAgentExecutorProvider } from '../../ports/output/agents/agent-executor-provider.interface.js';
18
+ import type { ExecFunction } from '../../../infrastructure/services/git/worktree.service.js';
19
+ import type { DoctorDiagnosticReport } from '../../../domain/generated/output.js';
20
+ export interface DoctorDiagnoseInput {
21
+ description: string;
22
+ fix: boolean;
23
+ workdir?: string;
24
+ }
25
+ export interface DoctorDiagnoseResult {
26
+ diagnosticReport: DoctorDiagnosticReport;
27
+ issueUrl: string;
28
+ issueNumber: number;
29
+ prUrl?: string;
30
+ flowType?: 'maintainer' | 'contributor';
31
+ error?: string;
32
+ cleanedUp: boolean;
33
+ }
34
+ export declare class DoctorDiagnoseUseCase {
35
+ private readonly agentRunRepo;
36
+ private readonly versionService;
37
+ private readonly issueService;
38
+ private readonly repoService;
39
+ private readonly prService;
40
+ private readonly agentExecutorProvider;
41
+ private readonly execFile;
42
+ constructor(agentRunRepo: IAgentRunRepository, versionService: IVersionService, issueService: IGitHubIssueService, repoService: IGitHubRepositoryService, prService: IGitPrService, agentExecutorProvider: IAgentExecutorProvider, execFile: ExecFunction);
43
+ execute(input: DoctorDiagnoseInput): Promise<DoctorDiagnoseResult>;
44
+ private collectDiagnostics;
45
+ private collectFailedRuns;
46
+ private sanitizeRunSummary;
47
+ private collectSystemInfo;
48
+ private formatIssueTitle;
49
+ private formatIssueBody;
50
+ private attemptFix;
51
+ private buildFixPrompt;
52
+ }
53
+ //# sourceMappingURL=doctor-diagnose.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-diagnose.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACzG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oEAAoE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yDAAyD,CAAC;AAC7F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0DAA0D,CAAC;AAC7F,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,qCAAqC,CAAC;AAO7C,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAcD,qBACa,qBAAqB;IAG9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAEtC,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAZR,YAAY,EAAE,mBAAmB,EAEjC,cAAc,EAAE,eAAe,EAE/B,YAAY,EAAE,mBAAmB,EAEjC,WAAW,EAAE,wBAAwB,EAErC,SAAS,EAAE,aAAa,EAExB,qBAAqB,EAAE,sBAAsB,EAE7C,QAAQ,EAAE,YAAY;IAGnC,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAgC1D,kBAAkB;YAelB,iBAAiB;IAS/B,OAAO,CAAC,kBAAkB;YAUZ,iBAAiB;IAqB/B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;YAgCT,UAAU;IA8FxB,OAAO,CAAC,cAAc;CAyBvB"}