@shepai/cli 1.151.2-pr438.6135e39 → 1.151.2-pr468.4830e01
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.
- package/apis/json-schema/AgentType.yaml +1 -0
- package/apis/json-schema/WorkflowConfig.yaml +0 -5
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +0 -28
- package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +0 -37
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +0 -12
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +3 -5
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/index.js +1 -2
- package/dist/packages/core/src/domain/generated/output.d.ts +1 -185
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/domain/generated/output.js +1 -0
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +4 -4
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +22 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/agent-validator.service.js +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts +61 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.js +628 -0
- package/dist/packages/core/src/infrastructure/services/agents/sessions/codex-cli-session.repository.d.ts +62 -0
- package/dist/packages/core/src/infrastructure/services/agents/sessions/codex-cli-session.repository.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/agents/sessions/codex-cli-session.repository.js +356 -0
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +1 -3
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +1 -37
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -2
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +0 -21
- package/dist/src/presentation/cli/index.js +0 -2
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts +6 -2
- package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
- package/dist/src/presentation/tui/prompts/agent-select.prompt.js +7 -2
- package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/get-all-agent-models.js +4 -2
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +2 -0
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.js +1 -0
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +7 -0
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +1 -0
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts +1 -0
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/agent-settings-section.stories.js +8 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +28 -28
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +29 -29
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +36 -36
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +26 -26
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +3 -3
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
- package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0c473fef._.js +2 -2
- package/web/.next/server/chunks/ssr/_0c473fef._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
- package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js +1 -1
- package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js +1 -1
- package/web/.next/server/chunks/ssr/_37e8548b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_4093a637._.js +1 -1
- package/web/.next/server/chunks/ssr/_4093a637._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js +1 -1
- package/web/.next/server/chunks/ssr/_55d763e2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_6256a985._.js +1 -1
- package/web/.next/server/chunks/ssr/_6256a985._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8fcc39d4._.js +1 -1
- package/web/.next/server/chunks/ssr/{_c2ca0f1b._.js → _b47f40e8._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c2ca0f1b._.js.map → _b47f40e8._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_b71645b4._.js +1 -1
- package/web/.next/server/chunks/ssr/_b71645b4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_dc9a9d32._.js → _dd815000._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_dc9a9d32._.js.map → _dd815000._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_e9e9ed20._.js +2 -2
- package/web/.next/server/chunks/ssr/_e9e9ed20._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_aa941041._.js → src_presentation_web_4f99488d._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_aa941041._.js.map → src_presentation_web_4f99488d._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +45 -45
- package/web/.next/static/chunks/{87b72b8a10f8255b.js → 2ef0f4ca4e98c9a7.js} +2 -2
- package/web/.next/static/chunks/{359b2815c5ed39cc.js → 3a7945f19b79b23f.js} +1 -1
- package/web/.next/static/chunks/{4a28fd1bca225386.js → 4e0a2f0a76498c81.js} +1 -1
- package/web/.next/static/chunks/{80915095cec414bf.js → 5942cf630e48ca8d.js} +1 -1
- package/web/.next/static/chunks/{5e1877d1f1bcfd77.js → 6a5afc469cf09a04.js} +1 -1
- package/web/.next/static/chunks/{76a3f345f8cf2608.js → 866b1f54b7f49d15.js} +1 -1
- package/web/.next/static/chunks/89b3762438e133be.js +1 -0
- package/web/.next/static/chunks/{25889ca8401d1bc0.js → 956b17e72f758911.js} +1 -1
- package/web/.next/static/chunks/{79eae02d0342fb73.js → 98126d854a888c69.js} +1 -1
- package/web/.next/static/chunks/{c2388f8bc58b2a21.js → a7d8b0dda225c732.js} +1 -1
- package/web/.next/static/chunks/{08baac5434d9528e.js → ae411737fa84a470.js} +7 -7
- package/web/.next/static/chunks/{091de81012e2bc48.js → be299036f3de6864.js} +1 -1
- package/web/.next/static/chunks/{ed9408f100149c34.js → ca8a36bfe8400d5d.js} +1 -1
- package/web/public/icons/agents/openai.svg +3 -0
- package/apis/json-schema/AgentRunDetail.yaml +0 -28
- package/apis/json-schema/DoctorDiagnosticReport.yaml +0 -76
- package/apis/json-schema/FailedRunSummary.yaml +0 -22
- package/apis/json-schema/SystemInfo.yaml +0 -22
- package/apis/json-schema/WorkerLogEntry.yaml +0 -27
- package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts +0 -57
- package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts.map +0 -1
- package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.js +0 -39
- package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts +0 -64
- package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts.map +0 -1
- package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.js +0 -493
- package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts +0 -17
- package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts.map +0 -1
- package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.js +0 -69
- package/dist/src/presentation/cli/commands/doctor.command.d.ts +0 -20
- package/dist/src/presentation/cli/commands/doctor.command.d.ts.map +0 -1
- package/dist/src/presentation/cli/commands/doctor.command.js +0 -129
- package/web/.next/static/chunks/e760b952ba1a10d4.js +0 -1
- /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → MUDs2V0kbD3BsECyukWE4}/_buildManifest.js +0 -0
- /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → MUDs2V0kbD3BsECyukWE4}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → MUDs2V0kbD3BsECyukWE4}/_ssgManifest.js +0 -0
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Doctor Command
|
|
3
|
-
*
|
|
4
|
-
* Diagnoses shep operation failures, opens a GitHub issue on shep-ai/cli,
|
|
5
|
-
* and optionally invokes an AI agent to attempt a fix and open a PR.
|
|
6
|
-
*
|
|
7
|
-
* Usage: shep doctor [description] [options]
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* $ shep doctor "agent crashed during planning"
|
|
11
|
-
* $ shep doctor --fix
|
|
12
|
-
* $ shep doctor --no-fix
|
|
13
|
-
* $ shep doctor "broken workflow" --fix --workdir /tmp/my-fix
|
|
14
|
-
*/
|
|
15
|
-
import { Command } from 'commander';
|
|
16
|
-
import { container } from '../../../../packages/core/src/infrastructure/di/container.js';
|
|
17
|
-
import { DoctorDiagnoseUseCase } from '../../../../packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.js';
|
|
18
|
-
import { colors, messages, spinner } from '../ui/index.js';
|
|
19
|
-
/**
|
|
20
|
-
* Create the doctor command
|
|
21
|
-
*/
|
|
22
|
-
export function createDoctorCommand() {
|
|
23
|
-
const cmd = new Command('doctor')
|
|
24
|
-
.description('Diagnose shep failures, open a GitHub issue, and optionally attempt a fix')
|
|
25
|
-
.argument('[description]', 'Problem description (prompted interactively if omitted)')
|
|
26
|
-
.option('--fix', 'Skip confirmation and attempt a fix automatically')
|
|
27
|
-
.option('--no-fix', 'Skip the fix attempt entirely (only create the issue)')
|
|
28
|
-
.action(async (description, options) => {
|
|
29
|
-
try {
|
|
30
|
-
// Step 1: Validate prerequisites
|
|
31
|
-
await validatePrerequisites();
|
|
32
|
-
// Step 2: Collect description (argument or interactive prompt)
|
|
33
|
-
const problemDescription = description ?? (await promptForDescription());
|
|
34
|
-
if (!problemDescription) {
|
|
35
|
-
messages.info('No description provided. Cancelled.');
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
// Step 3: Determine fix behavior
|
|
39
|
-
const shouldFix = await resolveFix(options);
|
|
40
|
-
// Step 4: Run the use case
|
|
41
|
-
const useCase = container.resolve(DoctorDiagnoseUseCase);
|
|
42
|
-
messages.newline();
|
|
43
|
-
messages.info('Running shep doctor...');
|
|
44
|
-
messages.newline();
|
|
45
|
-
const result = await spinner('Collecting diagnostics and creating issue', () => useCase.execute({
|
|
46
|
-
description: problemDescription,
|
|
47
|
-
fix: shouldFix,
|
|
48
|
-
workdir: options.workdir,
|
|
49
|
-
featureId: options.featureId,
|
|
50
|
-
}));
|
|
51
|
-
// Step 5: Display results
|
|
52
|
-
messages.newline();
|
|
53
|
-
messages.success(`GitHub issue created: ${colors.accent(result.issueUrl)}`);
|
|
54
|
-
if (result.prUrl) {
|
|
55
|
-
messages.success(`Pull request created: ${colors.accent(result.prUrl)}`);
|
|
56
|
-
if (result.flowType) {
|
|
57
|
-
messages.info(`Flow: ${result.flowType === 'maintainer' ? 'direct push (maintainer)' : 'fork (contributor)'}`);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else if (shouldFix && result.error) {
|
|
61
|
-
messages.warning(`Fix attempt failed: ${result.error}`);
|
|
62
|
-
messages.info('The issue has been created — a maintainer can review it.');
|
|
63
|
-
}
|
|
64
|
-
else if (!shouldFix) {
|
|
65
|
-
messages.info('Issue created. Use --fix to attempt an automated fix.');
|
|
66
|
-
}
|
|
67
|
-
if (result.cleanedUp) {
|
|
68
|
-
messages.info('Temporary working directory cleaned up.');
|
|
69
|
-
}
|
|
70
|
-
messages.newline();
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
const err = error instanceof Error ? error : new Error(String(error));
|
|
74
|
-
// Handle Ctrl+C gracefully
|
|
75
|
-
if (err.message.includes('force closed') || err.message.includes('User force closed')) {
|
|
76
|
-
messages.info('Cancelled.');
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
messages.error('Doctor failed', err);
|
|
80
|
-
process.exitCode = 1;
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
// Commander handles --no-fix by negating the --fix option, but we need
|
|
84
|
-
// explicit --workdir and --feature-id as separate options
|
|
85
|
-
cmd.option('--workdir <path>', 'Custom directory for the cloned repository');
|
|
86
|
-
cmd.option('--feature-id <id>', 'Scope diagnostics to a specific feature (by ID or prefix)');
|
|
87
|
-
return cmd;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Validate that gh CLI is installed and authenticated.
|
|
91
|
-
*/
|
|
92
|
-
async function validatePrerequisites() {
|
|
93
|
-
const toolInstaller = container.resolve('IToolInstallerService');
|
|
94
|
-
const ghStatus = await toolInstaller.checkAvailability('gh');
|
|
95
|
-
if (ghStatus.status !== 'available') {
|
|
96
|
-
throw new Error('GitHub CLI (gh) is not installed. Install it from https://cli.github.com/ and run: gh auth login');
|
|
97
|
-
}
|
|
98
|
-
const repoService = container.resolve('IGitHubRepositoryService');
|
|
99
|
-
await repoService.checkAuth();
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Prompt the user interactively for a problem description.
|
|
103
|
-
*/
|
|
104
|
-
async function promptForDescription() {
|
|
105
|
-
const { input } = await import('@inquirer/prompts');
|
|
106
|
-
const description = await input({
|
|
107
|
-
message: 'Describe the problem you encountered:',
|
|
108
|
-
});
|
|
109
|
-
return description.trim() || undefined;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Determine whether to attempt a fix based on flags or interactive prompt.
|
|
113
|
-
*/
|
|
114
|
-
async function resolveFix(options) {
|
|
115
|
-
// --fix explicitly set: always fix
|
|
116
|
-
if (options.fix === true) {
|
|
117
|
-
return true;
|
|
118
|
-
}
|
|
119
|
-
// --no-fix explicitly set (Commander sets fix to false): skip fix
|
|
120
|
-
if (options.fix === false) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
// Interactive: ask the user
|
|
124
|
-
const { confirm } = await import('@inquirer/prompts');
|
|
125
|
-
return confirm({
|
|
126
|
-
message: 'Would you like shep to attempt a fix?',
|
|
127
|
-
default: false,
|
|
128
|
-
});
|
|
129
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,10714,99105,e=>{"use strict";var t=e.i(3645);let r=(0,t.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);e.s(["default",()=>r],10714);let l=(0,t.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["ChevronDown",()=>l],99105)},33548,e=>{"use strict";let t=(0,e.i(3645).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],33548)},95812,35e3,e=>{"use strict";let t=(0,e.i(3645).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Circle",()=>t],95812);var r=e.i(80986);e.s(["CheckCircle2",()=>r.default],35e3)},19933,e=>{"use strict";let t=(0,e.i(3645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],19933)},8986,72653,43665,54438,e=>{"use strict";let t=(0,e.i(3645).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>t],8986);var r=e.i(21023);let l=(0,r.createServerReference)("409e55273c71b48b411b0d98ca453099fdf01741b5",r.callServer,void 0,r.findSourceMapURL,"openIde");e.s(["openIde",()=>l],72653);let a=(0,r.createServerReference)("40f622d1738431868f87b48dc758215933c96ac234",r.callServer,void 0,r.findSourceMapURL,"openShell");e.s(["openShell",()=>a],43665);let c=(0,r.createServerReference)("40fd06485a22d154cff6b3af4d4ea2a19b623ffeea",r.callServer,void 0,r.findSourceMapURL,"openFolder");e.s(["openFolder",()=>c],54438)},53360,e=>{"use strict";let t=(0,e.i(3645).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",()=>t],53360)},23405,e=>{"use strict";var t=e.i(79054);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},76016,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);e.s(["ChevronRight",()=>t],76016)},11345,e=>{"use strict";let t=(0,e.i(3645).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",()=>t],11345)},97667,e=>{"use strict";var t=e.i(1012);e.s(["CheckIcon",()=>t.default])},23925,1012,e=>{"use strict";let t=(0,e.i(3645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],1012),e.s(["Check",()=>t],23925)},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},1650,e=>{"use strict";e.i(11495),e.s([])},54793,7729,e=>{"use strict";var t=e.i(20314),r=e.i(31777);function l({icon:e,title:l,description:a,action:c,className:s,...u}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",s),...u,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:l}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,c?(0,t.jsx)("div",{className:"mt-2",children:c}):null]})}e.s(["EmptyState",()=>l],7729),e.s([],54793)},31987,27614,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("000b4cf5d08025fc20b6ef326899c5083c44d6200e",t.callServer,void 0,t.findSourceMapURL,"getAllAgentModels");e.s(["getAllAgentModels",()=>r],31987);let l=(0,t.createServerReference)("60c1e233607b6de6f3571bf9fdda35f44bed277b6d",t.callServer,void 0,t.findSourceMapURL,"updateAgentAndModel");e.s(["updateAgentAndModel",()=>l],27614)},38079,e=>{"use strict";var t=e.i(21023);let r=(0,t.createServerReference)("40f5eb01d9463e3758054dbb2725806be1dede4b86",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>r])},76852,e=>{"use strict";var t=e.i(79054),r=e.i(72653),l=e.i(43665),a=e.i(54438),c=e.i(21023);let s=(0,c.createServerReference)("40659e08581e83adc2099f839b88fea47d7cfd0cc4",c.callServer,void 0,c.findSourceMapURL,"syncRepository");function u(e){let[c,u]=(0,t.useState)(!1),[n,i]=(0,t.useState)(!1),[d,o]=(0,t.useState)(!1),[f,p]=(0,t.useState)(!1),[h,v]=(0,t.useState)(null),[y,m]=(0,t.useState)(null),[S,b]=(0,t.useState)(null),[k,x]=(0,t.useState)(null),R=(0,t.useRef)(null),g=(0,t.useRef)(null),M=(0,t.useRef)(null),C=(0,t.useRef)(null);(0,t.useEffect)(()=>()=>{R.current&&clearTimeout(R.current),g.current&&clearTimeout(g.current),M.current&&clearTimeout(M.current),C.current&&clearTimeout(C.current)},[]);let A=(0,t.useCallback)(async(t,r,l,a,c)=>{if(e&&!c){a.current&&clearTimeout(a.current),r(!0),l(null);try{let e=await t();if(!e.success){let t=e.error??"An unexpected error occurred";l(t),a.current=setTimeout(()=>l(null),5e3)}}catch(e){l(e instanceof Error?e.message:"An unexpected error occurred"),a.current=setTimeout(()=>l(null),5e3)}finally{r(!1)}}},[e]);return{openInIde:(0,t.useCallback)(()=>A(()=>(0,r.openIde)({repositoryPath:e.repositoryPath}),u,v,R,c),[A,c,e]),openInShell:(0,t.useCallback)(()=>A(()=>(0,l.openShell)({repositoryPath:e.repositoryPath}),i,m,g,n),[A,n,e]),openFolder:(0,t.useCallback)(()=>A(()=>(0,a.openFolder)(e.repositoryPath),o,b,M,d),[A,d,e]),syncMain:(0,t.useCallback)(()=>A(()=>s(e.repositoryId??""),p,x,C,f),[A,f,e]),ideLoading:c,shellLoading:n,folderLoading:d,syncLoading:f,ideError:h,shellError:y,folderError:S,syncError:k}}e.s(["useRepositoryActions",()=>u],76852)}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|