@shepai/cli 1.35.3 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts +7 -0
  2. package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts +64 -0
  4. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.d.ts.map +1 -0
  5. package/dist/packages/core/src/application/ports/output/services/ide-launcher-service.interface.js +7 -0
  6. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  7. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts +3 -1
  9. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +22 -2
  11. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts +20 -0
  12. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts.map +1 -0
  13. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.js +54 -0
  14. package/dist/packages/core/src/domain/generated/output.d.ts +8 -0
  15. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  16. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/di/container.js +7 -0
  18. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  19. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +8 -0
  20. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts +1 -0
  21. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.js +28 -0
  23. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +3 -1
  25. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.d.ts +9 -0
  26. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.d.ts.map +1 -1
  27. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.js +26 -0
  28. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts +23 -0
  29. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.d.ts.map +1 -0
  30. package/dist/packages/core/src/infrastructure/services/ide-launchers/json-driven-ide-launcher.service.js +114 -0
  31. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts +20 -4
  32. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.d.ts.map +1 -1
  33. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.js +9 -1
  34. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/antigravity.json +5 -2
  35. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/claude-code.json +8 -2
  36. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor-cli.json +8 -2
  37. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/cursor.json +2 -2
  38. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/vscode.json +2 -2
  39. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/windsurf.json +2 -2
  40. package/dist/packages/core/src/infrastructure/services/tool-installer/tools/zed.json +2 -2
  41. package/dist/src/presentation/cli/commands/feat/show.command.d.ts.map +1 -1
  42. package/dist/src/presentation/cli/commands/feat/show.command.js +46 -12
  43. package/dist/src/presentation/cli/commands/ide-open.command.d.ts +3 -1
  44. package/dist/src/presentation/cli/commands/ide-open.command.d.ts.map +1 -1
  45. package/dist/src/presentation/cli/commands/ide-open.command.js +27 -28
  46. package/dist/src/presentation/cli/commands/install.command.js +3 -3
  47. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts +1 -0
  48. package/dist/src/presentation/cli/commands/settings/ide.command.d.ts.map +1 -1
  49. package/dist/src/presentation/cli/commands/settings/ide.command.js +10 -13
  50. package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts +9 -25
  51. package/dist/src/presentation/tui/prompts/ide-select.prompt.d.ts.map +1 -1
  52. package/dist/src/presentation/tui/prompts/ide-select.prompt.js +9 -29
  53. package/dist/src/presentation/web/app/api/ide/open/route.d.ts.map +1 -1
  54. package/dist/src/presentation/web/app/api/ide/open/route.js +3 -2
  55. package/dist/tsconfig.build.tsbuildinfo +1 -1
  56. package/package.json +1 -1
  57. package/web/.next/BUILD_ID +1 -1
  58. package/web/.next/build-manifest.json +2 -2
  59. package/web/.next/cache/.previewinfo +1 -1
  60. package/web/.next/cache/.rscinfo +1 -1
  61. package/web/.next/cache/.tsbuildinfo +1 -1
  62. package/web/.next/cache/config.json +3 -3
  63. package/web/.next/fallback-build-manifest.json +2 -2
  64. package/web/.next/prerender-manifest.json +3 -3
  65. package/web/.next/required-server-files.js +1 -1
  66. package/web/.next/required-server-files.json +1 -1
  67. package/web/.next/server/app/_global-error.html +2 -2
  68. package/web/.next/server/app/_global-error.rsc +1 -1
  69. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  70. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  71. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  72. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  73. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  74. package/web/.next/server/app/api/ide/open/route.js +1 -2
  75. package/web/.next/server/app/api/ide/open/route.js.nft.json +1 -1
  76. package/web/.next/server/app/api/shell/open/route.js +1 -1
  77. package/web/.next/server/app/api/shell/open/route.js.nft.json +1 -1
  78. package/web/.next/server/chunks/[root-of-the-server]__04ae3a77._.js +3 -0
  79. package/web/.next/server/chunks/[root-of-the-server]__04ae3a77._.js.map +1 -0
  80. package/web/.next/server/chunks/[root-of-the-server]__f32c280c._.js +3 -0
  81. package/web/.next/server/chunks/[root-of-the-server]__f32c280c._.js.map +1 -0
  82. package/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
  83. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  84. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  85. package/web/.next/server/pages/500.html +2 -2
  86. package/web/.next/server/server-reference-manifest.js +1 -1
  87. package/web/.next/server/server-reference-manifest.json +1 -1
  88. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  89. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  90. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  91. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  92. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  93. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  94. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  95. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  96. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  97. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  98. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  99. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route.js +1 -2
  100. package/web/.next/standalone/src/presentation/web/.next/server/app/api/ide/open/route.js.nft.json +1 -1
  101. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route.js +1 -1
  102. package/web/.next/standalone/src/presentation/web/.next/server/app/api/shell/open/route.js.nft.json +1 -1
  103. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__04ae3a77._.js +3 -0
  104. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__f32c280c._.js +3 -0
  105. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f12b60be._.js +1 -1
  106. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  107. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  108. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +1 -1
  109. package/web/.next/standalone/src/presentation/web/app/api/ide/open/route.ts +4 -2
  110. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  111. package/web/.next/trace +1 -1
  112. package/web/.next/trace-build +1 -1
  113. package/dist/packages/core/src/infrastructure/services/ide-launchers/antigravity.launcher.d.ts +0 -10
  114. package/dist/packages/core/src/infrastructure/services/ide-launchers/antigravity.launcher.d.ts.map +0 -1
  115. package/dist/packages/core/src/infrastructure/services/ide-launchers/antigravity.launcher.js +0 -21
  116. package/dist/packages/core/src/infrastructure/services/ide-launchers/cursor.launcher.d.ts +0 -10
  117. package/dist/packages/core/src/infrastructure/services/ide-launchers/cursor.launcher.d.ts.map +0 -1
  118. package/dist/packages/core/src/infrastructure/services/ide-launchers/cursor.launcher.js +0 -21
  119. package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.interface.d.ts +0 -31
  120. package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.interface.d.ts.map +0 -1
  121. package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.interface.js +0 -8
  122. package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.registry.d.ts +0 -9
  123. package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.registry.d.ts.map +0 -1
  124. package/dist/packages/core/src/infrastructure/services/ide-launchers/ide-launcher.registry.js +0 -24
  125. package/dist/packages/core/src/infrastructure/services/ide-launchers/launch-ide.d.ts +0 -30
  126. package/dist/packages/core/src/infrastructure/services/ide-launchers/launch-ide.d.ts.map +0 -1
  127. package/dist/packages/core/src/infrastructure/services/ide-launchers/launch-ide.js +0 -43
  128. package/dist/packages/core/src/infrastructure/services/ide-launchers/vscode.launcher.d.ts +0 -10
  129. package/dist/packages/core/src/infrastructure/services/ide-launchers/vscode.launcher.d.ts.map +0 -1
  130. package/dist/packages/core/src/infrastructure/services/ide-launchers/vscode.launcher.js +0 -21
  131. package/dist/packages/core/src/infrastructure/services/ide-launchers/windsurf.launcher.d.ts +0 -10
  132. package/dist/packages/core/src/infrastructure/services/ide-launchers/windsurf.launcher.d.ts.map +0 -1
  133. package/dist/packages/core/src/infrastructure/services/ide-launchers/windsurf.launcher.js +0 -21
  134. package/dist/packages/core/src/infrastructure/services/ide-launchers/zed.launcher.d.ts +0 -10
  135. package/dist/packages/core/src/infrastructure/services/ide-launchers/zed.launcher.d.ts.map +0 -1
  136. package/dist/packages/core/src/infrastructure/services/ide-launchers/zed.launcher.js +0 -21
  137. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_12059e3e.js +0 -3
  138. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_12059e3e.js.map +0 -1
  139. package/web/.next/server/chunks/[root-of-the-server]__0af905fe._.js +0 -3
  140. package/web/.next/server/chunks/[root-of-the-server]__0af905fe._.js.map +0 -1
  141. package/web/.next/server/chunks/[root-of-the-server]__72567d8d._.js +0 -3
  142. package/web/.next/server/chunks/[root-of-the-server]__72567d8d._.js.map +0 -1
  143. package/web/.next/standalone/src/presentation/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_12059e3e.js +0 -3
  144. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__0af905fe._.js +0 -3
  145. package/web/.next/standalone/src/presentation/web/.next/server/chunks/[root-of-the-server]__72567d8d._.js +0 -3
  146. /package/web/.next/static/{aMt5PeCCyLYG-zTyUFrpm → zoaB52IxAh-lSl8Qreb0t}/_buildManifest.js +0 -0
  147. /package/web/.next/static/{aMt5PeCCyLYG-zTyUFrpm → zoaB52IxAh-lSl8Qreb0t}/_clientMiddlewareManifest.json +0 -0
  148. /package/web/.next/static/{aMt5PeCCyLYG-zTyUFrpm → zoaB52IxAh-lSl8Qreb0t}/_ssgManifest.js +0 -0
@@ -2,36 +2,20 @@
2
2
  * IDE Select Prompt Configuration
3
3
  *
4
4
  * Configuration for the @inquirer/select prompt that lets users
5
- * choose their preferred IDE/editor.
5
+ * choose their preferred IDE/editor. Choices are derived dynamically
6
+ * from JSON tool metadata (any tool with openDirectory).
6
7
  */
7
- import { EditorType } from '../../../../packages/core/src/domain/generated/output.js';
8
8
  /**
9
9
  * Creates the @inquirer/select configuration for selecting a preferred IDE.
10
10
  */
11
11
  export declare function createIdeSelectConfig(): {
12
- readonly message: "Select your preferred IDE";
13
- readonly choices: readonly [{
14
- readonly name: "VS Code";
15
- readonly value: EditorType.VsCode;
16
- readonly description: "Visual Studio Code";
17
- }, {
18
- readonly name: "Cursor";
19
- readonly value: EditorType.Cursor;
20
- readonly description: "Cursor AI editor";
21
- }, {
22
- readonly name: "Windsurf";
23
- readonly value: EditorType.Windsurf;
24
- readonly description: "Windsurf editor";
25
- }, {
26
- readonly name: "Zed";
27
- readonly value: EditorType.Zed;
28
- readonly description: "Zed editor";
29
- }, {
30
- readonly name: "Antigravity";
31
- readonly value: EditorType.Antigravity;
32
- readonly description: "Google Antigravity IDE";
33
- }];
34
- readonly theme: {
12
+ message: string;
13
+ choices: {
14
+ name: string;
15
+ value: string;
16
+ description: string;
17
+ }[];
18
+ theme: {
35
19
  readonly prefix: {
36
20
  readonly idle: string;
37
21
  readonly done: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ide-select.prompt.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/prompts/ide-select.prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D;;GAEG;AACH,wBAAgB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCpC"}
1
+ {"version":3,"file":"ide-select.prompt.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/tui/prompts/ide-select.prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,wBAAgB,qBAAqB;;;;;;;;;;;;;;;;;EAYpC"}
@@ -2,43 +2,23 @@
2
2
  * IDE Select Prompt Configuration
3
3
  *
4
4
  * Configuration for the @inquirer/select prompt that lets users
5
- * choose their preferred IDE/editor.
5
+ * choose their preferred IDE/editor. Choices are derived dynamically
6
+ * from JSON tool metadata (any tool with openDirectory).
6
7
  */
7
- import { EditorType } from '../../../../packages/core/src/domain/generated/output.js';
8
+ import { getIdeEntries } from '../../../../packages/core/src/infrastructure/services/tool-installer/tool-metadata.js';
8
9
  import { shepTheme } from '../themes/shep.theme.js';
9
10
  /**
10
11
  * Creates the @inquirer/select configuration for selecting a preferred IDE.
11
12
  */
12
13
  export function createIdeSelectConfig() {
14
+ const choices = getIdeEntries().map(([id, meta]) => ({
15
+ name: meta.name,
16
+ value: id,
17
+ description: meta.summary,
18
+ }));
13
19
  return {
14
20
  message: 'Select your preferred IDE',
15
- choices: [
16
- {
17
- name: 'VS Code',
18
- value: EditorType.VsCode,
19
- description: 'Visual Studio Code',
20
- },
21
- {
22
- name: 'Cursor',
23
- value: EditorType.Cursor,
24
- description: 'Cursor AI editor',
25
- },
26
- {
27
- name: 'Windsurf',
28
- value: EditorType.Windsurf,
29
- description: 'Windsurf editor',
30
- },
31
- {
32
- name: 'Zed',
33
- value: EditorType.Zed,
34
- description: 'Zed editor',
35
- },
36
- {
37
- name: 'Antigravity',
38
- value: EditorType.Antigravity,
39
- description: 'Google Antigravity IDE',
40
- },
41
- ],
21
+ choices,
42
22
  theme: shepTheme,
43
23
  };
44
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/web/app/api/ide/open/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO;;;;;;IAoC1C"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../../../src/presentation/web/app/api/ide/open/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,wBAAsB,IAAI,CAAC,OAAO,EAAE,OAAO;;;;;;IAqC1C"}
@@ -1,6 +1,6 @@
1
1
  import { NextResponse } from 'next/server';
2
2
  import { getSettings } from '../../../../../../../packages/core/src/infrastructure/services/settings.service.js';
3
- import { launchIde } from '../../../../../../../packages/core/src/infrastructure/services/ide-launchers/launch-ide.js';
3
+ import { resolve } from '../../../../lib/server-container.js';
4
4
  import { validateToolbarInput } from '../../validate-toolbar-input.js';
5
5
  export async function POST(request) {
6
6
  let body;
@@ -17,7 +17,8 @@ export async function POST(request) {
17
17
  const { repositoryPath, branch } = validation;
18
18
  const settings = getSettings();
19
19
  const editor = settings.environment.defaultEditor;
20
- const result = await launchIde({
20
+ const useCase = resolve('LaunchIdeUseCase');
21
+ const result = await useCase.execute({
21
22
  editorId: editor,
22
23
  repositoryPath,
23
24
  branch,