@shepai/cli 1.77.2-pr243.f5af359 → 1.78.0-pr247.6d6f409

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 (237) hide show
  1. package/dist/packages/core/src/application/ports/output/agents/structured-agent-caller.interface.d.ts +6 -1
  2. package/dist/packages/core/src/application/ports/output/agents/structured-agent-caller.interface.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  4. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +1 -1
  5. package/dist/packages/core/src/application/use-cases/features/create/metadata-generator.d.ts +2 -1
  6. package/dist/packages/core/src/application/use-cases/features/create/metadata-generator.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/use-cases/features/create/metadata-generator.js +2 -1
  8. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  9. package/dist/packages/core/src/infrastructure/di/container.js +2 -1
  10. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +2 -2
  11. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +3 -3
  12. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  13. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +18 -4
  14. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +3 -3
  15. package/dist/packages/core/src/infrastructure/services/agents/common/structured-agent-caller.service.d.ts +3 -1
  16. package/dist/packages/core/src/infrastructure/services/agents/common/structured-agent-caller.service.d.ts.map +1 -1
  17. package/dist/packages/core/src/infrastructure/services/agents/common/structured-agent-caller.service.js +14 -3
  18. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts +8 -0
  19. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/log-context.js +13 -0
  21. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts +1 -0
  22. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  23. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +5 -3
  24. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +1 -1
  25. package/dist/src/presentation/web/lib/model-metadata.js +2 -2
  26. package/dist/tsconfig.build.tsbuildinfo +1 -1
  27. package/package.json +9 -9
  28. package/web/.next/BUILD_ID +1 -1
  29. package/web/.next/build-manifest.json +2 -2
  30. package/web/.next/fallback-build-manifest.json +2 -2
  31. package/web/.next/prerender-manifest.json +3 -3
  32. package/web/.next/required-server-files.js +1 -1
  33. package/web/.next/required-server-files.json +1 -1
  34. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +18 -18
  35. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  36. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  37. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  38. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  39. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  40. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  41. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  42. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  43. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +18 -18
  44. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  45. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  46. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  47. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  48. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  50. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  51. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  52. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  53. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  54. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  55. package/web/.next/server/app/_global-error.html +2 -2
  56. package/web/.next/server/app/_global-error.rsc +1 -1
  57. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  58. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  59. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  60. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  61. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  62. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  63. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  64. package/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
  65. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  66. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  67. package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  68. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  69. package/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  70. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  71. package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  72. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  73. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  74. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  75. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  76. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js.map +1 -1
  77. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  78. package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js.map +1 -1
  79. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  80. package/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js.map +1 -1
  81. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  82. package/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  83. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
  84. package/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js.map +1 -1
  85. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  86. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +1 -1
  87. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +1 -1
  88. package/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js.map +1 -1
  89. package/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  90. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  91. package/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js.map +1 -1
  92. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  93. package/web/.next/server/chunks/ssr/_0e9d6bf7._.js.map +1 -1
  94. package/web/.next/server/chunks/ssr/{_5a4b2905._.js → _59013951._.js} +2 -2
  95. package/web/.next/server/chunks/ssr/{_5a4b2905._.js.map → _59013951._.js.map} +1 -1
  96. package/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  97. package/web/.next/server/chunks/ssr/_61351ed3._.js.map +1 -1
  98. package/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  99. package/web/.next/server/chunks/ssr/_8400c8bb._.js.map +1 -1
  100. package/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
  101. package/web/.next/server/chunks/ssr/_8dacd1e7._.js.map +1 -1
  102. package/web/.next/server/chunks/ssr/_9ac70f88._.js +1 -1
  103. package/web/.next/server/chunks/ssr/_9ac70f88._.js.map +1 -1
  104. package/web/.next/server/chunks/ssr/{_253f4d99._.js → _c0d6304b._.js} +2 -2
  105. package/web/.next/server/chunks/ssr/{_253f4d99._.js.map → _c0d6304b._.js.map} +1 -1
  106. package/web/.next/server/chunks/ssr/{_c6d673f9._.js → _cffcd9d0._.js} +2 -2
  107. package/web/.next/server/chunks/ssr/{_c6d673f9._.js.map → _cffcd9d0._.js.map} +1 -1
  108. package/web/.next/server/chunks/ssr/_ed356507._.js +1 -1
  109. package/web/.next/server/chunks/ssr/_ed356507._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/_f38b49fe._.js +1 -1
  111. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  112. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  113. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  114. package/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js.map +1 -1
  115. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  116. package/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js.map +1 -1
  117. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  118. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js.map +1 -1
  119. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  120. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js.map +1 -1
  121. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  122. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js.map +1 -1
  123. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +2 -2
  124. package/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js.map +1 -1
  125. package/web/.next/server/chunks/ssr/src_presentation_web_components_5124369c._.js +1 -1
  126. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  127. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  128. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  129. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +2 -2
  130. package/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js.map +1 -1
  131. package/web/.next/server/pages/500.html +2 -2
  132. package/web/.next/server/server-reference-manifest.js +1 -1
  133. package/web/.next/server/server-reference-manifest.json +26 -26
  134. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  135. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  136. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  137. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  138. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +18 -18
  139. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  140. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  141. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +19 -19
  142. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  143. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  144. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  145. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  146. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  147. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +18 -18
  148. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  149. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  150. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +19 -19
  151. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  152. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  153. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +14 -14
  154. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  155. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  156. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +14 -14
  157. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  158. package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  159. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  160. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  161. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  162. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  163. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  164. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  165. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  166. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  167. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  168. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page/server-reference-manifest.json +5 -5
  169. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page.js.nft.json +1 -1
  170. package/web/.next/standalone/src/presentation/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  171. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
  172. package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  173. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +6 -6
  174. package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  175. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
  176. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  177. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  178. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_da7eef33.js +1 -1
  179. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_0a9251aa.js +1 -1
  180. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__11033878._.js +1 -1
  181. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  182. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__4be9a9bb._.js +1 -1
  183. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__5d87af2e._.js +1 -1
  184. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +1 -1
  185. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__bff2deea._.js +1 -1
  186. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__f0d8d054._.js +2 -2
  187. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__fdc75809._.js +1 -1
  188. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_0e9d6bf7._.js +1 -1
  189. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_5a4b2905._.js → _59013951._.js} +2 -2
  190. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_61351ed3._.js +1 -1
  191. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8400c8bb._.js +1 -1
  192. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_8dacd1e7._.js +1 -1
  193. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_9ac70f88._.js +1 -1
  194. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_253f4d99._.js → _c0d6304b._.js} +2 -2
  195. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_c6d673f9._.js → _cffcd9d0._.js} +2 -2
  196. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_ed356507._.js +1 -1
  197. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_f38b49fe._.js +1 -1
  198. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  199. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_30d7eeda._.js +1 -1
  200. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_565a14f8._.js +1 -1
  201. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_021a05f2.js +1 -1
  202. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1fa8042e.js +1 -1
  203. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_24684200.js +1 -1
  204. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c4348b8a._.js +2 -2
  205. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_5124369c._.js +1 -1
  206. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  207. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  208. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_e4510d10._.js +2 -2
  209. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  210. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  211. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +26 -26
  212. package/web/.next/standalone/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.tsx +1 -1
  213. package/web/.next/standalone/src/presentation/web/lib/model-metadata.ts +2 -2
  214. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  215. package/web/.next/static/chunks/0bdf5fd5930ffe82.js +1 -0
  216. package/web/.next/static/chunks/{128d484880f21a07.js → 405af1f1720627f7.js} +1 -1
  217. package/web/.next/static/chunks/{218ab9753982575e.js → 4cd5e556884a28ee.js} +1 -1
  218. package/web/.next/static/chunks/52b56677c842e45f.js +3 -0
  219. package/web/.next/static/chunks/{c8863441b5e12825.js → 5c836d389f97b50c.js} +1 -1
  220. package/web/.next/static/chunks/{cadb5fdf3ab7d77b.js → 62b9a3a31ef611cc.js} +1 -1
  221. package/web/.next/static/chunks/{cee3033ff8ebf195.js → 6ab2d0ee934b2ba5.js} +1 -1
  222. package/web/.next/static/chunks/{677390f4102f0944.js → c71da365eaf34944.js} +1 -1
  223. package/web/.next/static/chunks/{6e7043607b91ed6b.js → e171a771e3055038.js} +1 -1
  224. package/web/.next/static/chunks/{53584b9a62aea2dc.js → f5080e57de19b082.js} +1 -1
  225. package/web/.next/static/chunks/{4c6f2fcfd0271c8b.js → f933edb6a2f23692.js} +1 -1
  226. package/web/.next/static/chunks/{360155cd2342f0b8.js → fad44433a42bcc35.js} +1 -1
  227. package/web/.next/trace +1 -1
  228. package/web/.next/trace-build +1 -1
  229. package/web/.next/cache/.previewinfo +0 -1
  230. package/web/.next/cache/.rscinfo +0 -1
  231. package/web/.next/cache/.tsbuildinfo +0 -1
  232. package/web/.next/cache/config.json +0 -7
  233. package/web/.next/static/chunks/3c183f1c109f8447.js +0 -1
  234. package/web/.next/static/chunks/a1ddf1f9b1435434.js +0 -3
  235. /package/web/.next/static/{d6rYTNqlrgOIowi6L1MbM → PATEpvaeVdnZOt0gykklk}/_buildManifest.js +0 -0
  236. /package/web/.next/static/{d6rYTNqlrgOIowi6L1MbM → PATEpvaeVdnZOt0gykklk}/_clientMiddlewareManifest.json +0 -0
  237. /package/web/.next/static/{d6rYTNqlrgOIowi6L1MbM → PATEpvaeVdnZOt0gykklk}/_ssgManifest.js +0 -0
@@ -27,12 +27,17 @@
27
27
  * );
28
28
  * ```
29
29
  */
30
+ import type { AgentType } from '../../../../domain/generated/output.js';
30
31
  import type { AgentExecutionOptions } from './agent-executor.interface.js';
31
32
  /**
32
33
  * Options for structured agent calls.
33
34
  * Same as AgentExecutionOptions but without outputSchema (provided separately as the schema argument).
35
+ * Optionally accepts agentType to override the default executor resolved from settings.
34
36
  */
35
- export type StructuredCallOptions = Omit<AgentExecutionOptions, 'outputSchema'>;
37
+ export type StructuredCallOptions = Omit<AgentExecutionOptions, 'outputSchema'> & {
38
+ /** Override executor agent type instead of using the default from settings */
39
+ agentType?: AgentType;
40
+ };
36
41
  /**
37
42
  * Port interface for making typed calls to AI agents with JSON schema output.
38
43
  *
@@ -1 +1 @@
1
- {"version":3,"file":"structured-agent-caller.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/structured-agent-caller.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACtF"}
1
+ {"version":3,"file":"structured-agent-caller.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/structured-agent-caller.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,GAAG;IAChF,8EAA8E;IAC9E,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/create-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAMtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAGhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9F,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAhBZ,WAAW,EAAE,kBAAkB,EAE/B,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,2BAA2B,EAEzC,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,uBAAuB,EAExC,iBAAiB,EAAE,iBAAiB,EAEpC,YAAY,EAAE,YAAY,EAE1B,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa;IAG9C;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuH1E;;;OAGG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAqE1D"}
1
+ {"version":3,"file":"create-feature.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/create-feature.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAMtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AACnH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4DAA4D,CAAC;AAGhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9F,qBACa,oBAAoB;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAhBZ,WAAW,EAAE,kBAAkB,EAE/B,eAAe,EAAE,gBAAgB,EAEjC,YAAY,EAAE,2BAA2B,EAEzC,aAAa,EAAE,mBAAmB,EAElC,eAAe,EAAE,uBAAuB,EAExC,iBAAiB,EAAE,iBAAiB,EAEpC,YAAY,EAAE,YAAY,EAE1B,cAAc,EAAE,qBAAqB,EAErC,YAAY,EAAE,aAAa;IAG9C;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMtE;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuH1E;;;OAGG;IACG,kBAAkB,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,kBAAkB,EACzB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC;CAwE1D"}
@@ -182,7 +182,7 @@ let CreateFeatureUseCase = class CreateFeatureUseCase {
182
182
  const effectiveRepoPath = feature.repositoryPath;
183
183
  // Ensure the target directory is a git repository (auto-init if needed)
184
184
  await this.worktreeService.ensureGitRepository(effectiveRepoPath);
185
- const metadata = await this.metadataGenerator.generateMetadata(input.userInput);
185
+ const metadata = await this.metadataGenerator.generateMetadata(input.userInput, input.agentType);
186
186
  const originalSlug = metadata.slug;
187
187
  const { slug, branch, warning } = await this.slugResolver.resolveUniqueSlug(originalSlug, effectiveRepoPath);
188
188
  // Determine next feature number for this repo
@@ -5,6 +5,7 @@
5
5
  * via AI call through IStructuredAgentCaller.
6
6
  * Errors are propagated to the caller.
7
7
  */
8
+ import type { AgentType } from '../../../../domain/generated/output.js';
8
9
  import type { IStructuredAgentCaller } from '../../../ports/output/agents/structured-agent-caller.interface.js';
9
10
  interface FeatureMetadata {
10
11
  slug: string;
@@ -18,7 +19,7 @@ export declare class MetadataGenerator {
18
19
  * Generate feature metadata from user input via AI.
19
20
  * Errors are propagated to the caller.
20
21
  */
21
- generateMetadata(userInput: string): Promise<FeatureMetadata>;
22
+ generateMetadata(userInput: string, agentType?: AgentType): Promise<FeatureMetadata>;
22
23
  /**
23
24
  * Convert text to kebab-case slug with 50-char limit.
24
25
  * Removes special characters, collapses spaces, limits length.
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-generator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/metadata-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mEAAmE,CAAC;AAEhH,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAgBD,qBACa,iBAAiB;IAG1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,sBAAsB;IAG3D;;;OAGG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAmCnE;;;OAGG;IACH,OAAO,CAAC,MAAM;CAgBf"}
1
+ {"version":3,"file":"metadata-generator.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/use-cases/features/create/metadata-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mEAAmE,CAAC;AAEhH,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAgBD,qBACa,iBAAiB;IAG1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,sBAAsB;IAG3D;;;OAGG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;IAoC1F;;;OAGG;IACH,OAAO,CAAC,MAAM;CAgBf"}
@@ -39,7 +39,7 @@ let MetadataGenerator = class MetadataGenerator {
39
39
  * Generate feature metadata from user input via AI.
40
40
  * Errors are propagated to the caller.
41
41
  */
42
- async generateMetadata(userInput) {
42
+ async generateMetadata(userInput, agentType) {
43
43
  const truncated = userInput.length > MAX_INPUT_FOR_AI
44
44
  ? `${userInput.slice(0, MAX_INPUT_FOR_AI)}...`
45
45
  : userInput;
@@ -58,6 +58,7 @@ Return a JSON object with these fields:
58
58
  maxTurns: 10,
59
59
  allowedTools: [],
60
60
  silent: true,
61
+ agentType,
61
62
  });
62
63
  if (!parsed.slug || !parsed.name || !parsed.description) {
63
64
  throw new Error('Missing required fields in AI response');
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CA8QrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiHrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CA+QrE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -178,7 +178,8 @@ export async function initializeContainer() {
178
178
  container.register('IStructuredAgentCaller', {
179
179
  useFactory: (c) => {
180
180
  const provider = c.resolve('IAgentExecutorProvider');
181
- return new StructuredAgentCallerService(provider);
181
+ const factory = c.resolve('IAgentExecutorFactory');
182
+ return new StructuredAgentCallerService(provider, factory);
182
183
  },
183
184
  });
184
185
  container.register('IAgentRegistry', {
@@ -110,8 +110,8 @@ const GEMINI_CLI_MODELS = [
110
110
  const CURSOR_MODELS = [
111
111
  'claude-opus-4-6',
112
112
  'claude-sonnet-4-6',
113
- 'gpt-5.4',
114
- 'gpt-5',
113
+ 'gpt-5.4-high',
114
+ 'gpt-5.2',
115
115
  'gpt-5.3-codex',
116
116
  'gemini-3.1-pro',
117
117
  'composer-1.5',
@@ -8,7 +8,7 @@
8
8
  * Uses constructor dependency injection for the spawn function
9
9
  * to enable testability without mocking node:child_process directly.
10
10
  */
11
- import { getLogPrefix } from '../../feature-agent/log-context.js';
11
+ import { getCurrentPhase, getLogPrefix } from '../../feature-agent/log-context.js';
12
12
  /** Features supported by Claude Code CLI */
13
13
  const SUPPORTED_FEATURES = new Set([
14
14
  'session-resume',
@@ -34,7 +34,7 @@ export class ClaudeCodeExecutorService {
34
34
  if (this.silent)
35
35
  return;
36
36
  const ts = new Date().toISOString();
37
- process.stdout.write(`[${ts}] ${getLogPrefix()}[claude-executor] ${message}\n`);
37
+ process.stdout.write(`[${ts}] ${getCurrentPhase()}${getLogPrefix()}${message}\n`);
38
38
  }
39
39
  async execute(prompt, options) {
40
40
  this.silent = options?.silent ?? false;
@@ -43,7 +43,7 @@ export class ClaudeCodeExecutorService {
43
43
  const args = this.buildStreamArgs(prompt, options);
44
44
  const spawnOpts = this.buildSpawnOptions(options);
45
45
  this.log(`Spawning: claude ${args.map((a) => (a.length > 80 ? `${a.slice(0, 77)}...` : a)).join(' ')}`);
46
- this.log(`Spawn options: ${JSON.stringify(spawnOpts)}`);
46
+ this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
47
47
  const proc = this.spawn('claude', args, spawnOpts);
48
48
  this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
49
49
  // Close stdin immediately — we pass the prompt via -p, not stdin.
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAM9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAyB;IAEtD,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAEM,KAAK,EAAE,aAAa;IAEjD,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkGtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IA8E3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,eAAe;CAgDxB"}
1
+ {"version":3,"file":"cursor-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4EAA4E,CAAC;AACpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsBjD;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAM9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAyB;IAEtD,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAS;gBAEM,KAAK,EAAE,aAAa;IAEjD,4EAA4E;IAC5E,OAAO,CAAC,GAAG;IAMX,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkGtF,aAAa,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAAC,yBAAyB,CAAC;IA8E3C;;OAEG;IACH,OAAO,CAAC,cAAc;IAkCtB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,eAAe;CAgDxB"}
@@ -8,7 +8,21 @@
8
8
  * Uses constructor dependency injection for the spawn function
9
9
  * to enable testability without mocking node:child_process directly.
10
10
  */
11
- import { getLogPrefix } from '../../feature-agent/log-context.js';
11
+ import { getCurrentPhase, getLogPrefix } from '../../feature-agent/log-context.js';
12
+ /**
13
+ * Map canonical model IDs (used across shep) to Cursor CLI model names.
14
+ * Cursor uses short names like "sonnet-4.6" instead of "claude-sonnet-4-6".
15
+ * Models that already match Cursor's naming pass through unchanged.
16
+ */
17
+ const CURSOR_MODEL_MAP = {
18
+ 'claude-opus-4-6': 'opus-4.6',
19
+ 'claude-sonnet-4-6': 'sonnet-4.6',
20
+ 'claude-haiku-4-5': 'haiku-4.5',
21
+ 'grok-code': 'grok',
22
+ };
23
+ function toCursorModelName(model) {
24
+ return CURSOR_MODEL_MAP[model] ?? model;
25
+ }
12
26
  /** Features supported by Cursor CLI */
13
27
  const SUPPORTED_FEATURES = new Set(['session-resume', 'streaming']);
14
28
  /**
@@ -28,7 +42,7 @@ export class CursorExecutorService {
28
42
  if (this.silent)
29
43
  return;
30
44
  const ts = new Date().toISOString();
31
- process.stdout.write(`[${ts}] ${getLogPrefix()}[cursor-executor] ${message}\n`);
45
+ process.stdout.write(`[${ts}] ${getCurrentPhase()}${getLogPrefix()}${message}\n`);
32
46
  }
33
47
  supportsFeature(feature) {
34
48
  return SUPPORTED_FEATURES.has(feature);
@@ -38,7 +52,7 @@ export class CursorExecutorService {
38
52
  const args = this.buildStreamArgs(prompt, options);
39
53
  const spawnOpts = this.buildSpawnOptions(options);
40
54
  this.log(`Spawning: agent ${args.map((a) => (a.length > 80 ? `${a.slice(0, 77)}...` : a)).join(' ')}`);
41
- this.log(`Spawn options: ${JSON.stringify(spawnOpts)}`);
55
+ this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
42
56
  const proc = this.spawn('agent', args, spawnOpts);
43
57
  this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
44
58
  if (proc.stdin)
@@ -234,7 +248,7 @@ export class CursorExecutorService {
234
248
  if (options?.resumeSession)
235
249
  args.push('--resume', options.resumeSession);
236
250
  if (options?.model)
237
- args.push('-m', options.model);
251
+ args.push('--model', toCursorModelName(options.model));
238
252
  // Unsupported options silently omitted: systemPrompt, allowedTools, maxTurns, outputSchema
239
253
  // No auth flags — binary handles its own auth
240
254
  return args;
@@ -7,7 +7,7 @@
7
7
  * Uses constructor dependency injection for the spawn function
8
8
  * to enable testability without mocking node:child_process directly.
9
9
  */
10
- import { getLogPrefix } from '../../feature-agent/log-context.js';
10
+ import { getCurrentPhase, getLogPrefix } from '../../feature-agent/log-context.js';
11
11
  /** Features supported by Gemini CLI */
12
12
  const SUPPORTED_FEATURES = new Set(['session-resume', 'streaming', 'tool-scoping']);
13
13
  /**
@@ -29,7 +29,7 @@ export class GeminiCliExecutorService {
29
29
  if (this.silent)
30
30
  return;
31
31
  const ts = new Date().toISOString();
32
- process.stdout.write(`[${ts}] ${getLogPrefix()}[gemini-cli-executor] ${message}\n`);
32
+ process.stdout.write(`[${ts}] ${getCurrentPhase()}${getLogPrefix()}${message}\n`);
33
33
  }
34
34
  supportsFeature(feature) {
35
35
  return SUPPORTED_FEATURES.has(feature);
@@ -39,7 +39,7 @@ export class GeminiCliExecutorService {
39
39
  const args = this.buildArgs(prompt, options, 'json');
40
40
  const spawnOpts = this.buildSpawnOptions(options);
41
41
  this.log(`Spawning: gemini ${args.map((a) => (a.length > 80 ? `${a.slice(0, 77)}...` : a)).join(' ')}`);
42
- this.log(`Spawn options: ${JSON.stringify(spawnOpts)}`);
42
+ this.log(`Spawn cwd: ${spawnOpts.cwd ?? '(inherited)'}`);
43
43
  const proc = this.spawn('gemini', args, spawnOpts);
44
44
  this.log(`Subprocess PID: ${proc.pid ?? 'undefined (spawn may have failed)'}`);
45
45
  if (proc.stdin)
@@ -1,4 +1,5 @@
1
1
  import type { IAgentExecutorProvider } from '../../../../application/ports/output/agents/agent-executor-provider.interface.js';
2
+ import type { IAgentExecutorFactory } from '../../../../application/ports/output/agents/agent-executor-factory.interface.js';
2
3
  import type { IStructuredAgentCaller, StructuredCallOptions } from '../../../../application/ports/output/agents/structured-agent-caller.interface.js';
3
4
  /**
4
5
  * Structured agent caller that abstracts native structured output vs prompt-based JSON extraction.
@@ -8,7 +9,8 @@ import type { IStructuredAgentCaller, StructuredCallOptions } from '../../../../
8
9
  */
9
10
  export declare class StructuredAgentCallerService implements IStructuredAgentCaller {
10
11
  private readonly executorProvider;
11
- constructor(executorProvider: IAgentExecutorProvider);
12
+ private readonly executorFactory;
13
+ constructor(executorProvider: IAgentExecutorProvider, executorFactory: IAgentExecutorFactory);
12
14
  call<T>(prompt: string, schema: object, options?: StructuredCallOptions): Promise<T>;
13
15
  private callWithNativeSchema;
14
16
  private callWithPromptFallback;
@@ -1 +1 @@
1
- {"version":3,"file":"structured-agent-caller.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/common/structured-agent-caller.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kFAAkF,CAAC;AAE/H,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,kFAAkF,CAAC;AAG1F;;;;;GAKG;AACH,qBACa,4BAA6B,YAAW,sBAAsB;IAGvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,sBAAsB;IAGrD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;YAU5E,oBAAoB;YAapB,sBAAsB;IAWpC,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,iBAAiB;CA4C1B"}
1
+ {"version":3,"file":"structured-agent-caller.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/common/structured-agent-caller.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kFAAkF,CAAC;AAC/H,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iFAAiF,CAAC;AAE7H,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,kFAAkF,CAAC;AAI1F;;;;;GAKG;AACH,qBACa,4BAA6B,YAAW,sBAAsB;IAGvE,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAEjC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,gBAAgB,EAAE,sBAAsB,EAExC,eAAe,EAAE,qBAAqB;IAGnD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC,CAAC;YAgB5E,oBAAoB;YAapB,sBAAsB;IAWpC,OAAO,CAAC,8BAA8B;IAYtC,OAAO,CAAC,iBAAiB;CA4C1B"}
@@ -13,6 +13,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  import { injectable, inject } from 'tsyringe';
14
14
  import { AgentFeature } from '../../../../domain/generated/output.js';
15
15
  import { StructuredCallError } from '../../../../application/ports/output/agents/structured-call-error.js';
16
+ import { getSettings } from '../../settings.service.js';
16
17
  /**
17
18
  * Structured agent caller that abstracts native structured output vs prompt-based JSON extraction.
18
19
  *
@@ -21,11 +22,20 @@ import { StructuredCallError } from '../../../../application/ports/output/agents
21
22
  */
22
23
  let StructuredAgentCallerService = class StructuredAgentCallerService {
23
24
  executorProvider;
24
- constructor(executorProvider) {
25
+ executorFactory;
26
+ constructor(executorProvider, executorFactory) {
25
27
  this.executorProvider = executorProvider;
28
+ this.executorFactory = executorFactory;
26
29
  }
27
30
  async call(prompt, schema, options) {
28
- const executor = await this.executorProvider.getExecutor();
31
+ let executor;
32
+ if (options?.agentType) {
33
+ const settings = getSettings();
34
+ executor = this.executorFactory.createExecutor(options.agentType, settings.agent);
35
+ }
36
+ else {
37
+ executor = await this.executorProvider.getExecutor();
38
+ }
29
39
  if (executor.supportsFeature(AgentFeature.structuredOutput)) {
30
40
  return this.callWithNativeSchema(executor, prompt, schema, options);
31
41
  }
@@ -99,6 +109,7 @@ Return ONLY the JSON object.`;
99
109
  StructuredAgentCallerService = __decorate([
100
110
  injectable(),
101
111
  __param(0, inject('IAgentExecutorProvider')),
102
- __metadata("design:paramtypes", [Object])
112
+ __param(1, inject('IAgentExecutorFactory')),
113
+ __metadata("design:paramtypes", [Object, Object])
103
114
  ], StructuredAgentCallerService);
104
115
  export { StructuredAgentCallerService };
@@ -14,4 +14,12 @@ export declare function setLogPrefix(agentType: string, model?: string): void;
14
14
  * Get the current log prefix. Returns empty string if not set.
15
15
  */
16
16
  export declare function getLogPrefix(): string;
17
+ /**
18
+ * Set the current phase/node name. Called by each node at startup.
19
+ */
20
+ export declare function setCurrentPhase(phase: string): void;
21
+ /**
22
+ * Get the current phase prefix. Returns empty string if not set.
23
+ */
24
+ export declare function getCurrentPhase(): string;
17
25
  //# sourceMappingURL=log-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/log-context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/log-context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC"}
@@ -6,6 +6,7 @@
6
6
  * the same [agent|model] prefix for easy filtering.
7
7
  */
8
8
  let _prefix = '';
9
+ let _phase = '';
9
10
  /**
10
11
  * Set the global log prefix. Call once at worker startup.
11
12
  * Example: setLogPrefix('claude-code', 'claude-haiku-4-5') → "[claude-code|claude-haiku-4-5] "
@@ -19,3 +20,15 @@ export function setLogPrefix(agentType, model) {
19
20
  export function getLogPrefix() {
20
21
  return _prefix;
21
22
  }
23
+ /**
24
+ * Set the current phase/node name. Called by each node at startup.
25
+ */
26
+ export function setCurrentPhase(phase) {
27
+ _phase = phase;
28
+ }
29
+ /**
30
+ * Get the current phase prefix. Returns empty string if not set.
31
+ */
32
+ export function getCurrentPhase() {
33
+ return _phase ? `[${_phase}] ` : '';
34
+ }
@@ -10,6 +10,7 @@ import type { FeatureAgentState } from '../state.js';
10
10
  /**
11
11
  * Create a scoped logger that prefixes messages with the node name.
12
12
  * Output goes to stdout which the worker redirects to the log file.
13
+ * Also sets the current phase so executor logs inherit the node context.
13
14
  */
14
15
  export declare function createNodeLogger(nodeName: string): {
15
16
  info(message: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.ts"],"names":[],"mappings":"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"}
@@ -11,20 +11,22 @@ import { interrupt, isGraphBubbleUp } from '@langchain/langgraph';
11
11
  import { reportNodeStart } from '../heartbeat.js';
12
12
  import { recordPhaseStart, recordPhaseEnd, recordApprovalWaitStart, } from '../phase-timing-context.js';
13
13
  import { updateNodeLifecycle } from '../lifecycle-context.js';
14
- import { getLogPrefix } from '../log-context.js';
14
+ import { getLogPrefix, setCurrentPhase } from '../log-context.js';
15
15
  /**
16
16
  * Create a scoped logger that prefixes messages with the node name.
17
17
  * Output goes to stdout which the worker redirects to the log file.
18
+ * Also sets the current phase so executor logs inherit the node context.
18
19
  */
19
20
  export function createNodeLogger(nodeName) {
21
+ setCurrentPhase(nodeName);
20
22
  return {
21
23
  info(message) {
22
24
  const ts = new Date().toISOString();
23
- process.stdout.write(`[${ts}] ${getLogPrefix()}[${nodeName}] ${message}\n`);
25
+ process.stdout.write(`[${ts}] [${nodeName}] ${getLogPrefix()}${message}\n`);
24
26
  },
25
27
  error(message) {
26
28
  const ts = new Date().toISOString();
27
- process.stderr.write(`[${ts}] ${getLogPrefix()}[${nodeName}] ERROR: ${message}\n`);
29
+ process.stderr.write(`[${ts}] [${nodeName}] ${getLogPrefix()}ERROR: ${message}\n`);
28
30
  },
29
31
  };
30
32
  }
@@ -24,7 +24,7 @@ export const ClaudeCodeDefault = {
24
24
  export const CursorSelected = {
25
25
  args: {
26
26
  initialAgentType: 'cursor',
27
- initialModel: 'gpt-5.4',
27
+ initialModel: 'gpt-5.4-high',
28
28
  mode: 'settings',
29
29
  },
30
30
  };
@@ -13,8 +13,8 @@ const MODEL_METADATA = {
13
13
  'gemini-2.5-pro': { displayName: 'Gemini 2.5 Pro', description: 'Reliable workhorse' },
14
14
  'gemini-2.5-flash': { displayName: 'Gemini 2.5 Flash', description: 'Speed-optimized' },
15
15
  // OpenAI models
16
- 'gpt-5.4': { displayName: 'GPT-5.4', description: 'Latest reasoning model' },
17
- 'gpt-5': { displayName: 'GPT-5', description: 'Flagship model' },
16
+ 'gpt-5.4-high': { displayName: 'GPT-5.4', description: 'Latest reasoning model' },
17
+ 'gpt-5.2': { displayName: 'GPT-5.2', description: 'Flagship model' },
18
18
  'gpt-5.3-codex': { displayName: 'GPT-5.3 Codex', description: 'Code specialist' },
19
19
  // Other
20
20
  'composer-1.5': { displayName: 'Composer 1.5', description: 'Multi-file editing' },