@shepai/cli 1.166.1 → 1.167.0-pr478.acc6626

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 (404) hide show
  1. package/dist/packages/core/src/application/index.d.ts +1 -0
  2. package/dist/packages/core/src/application/index.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/index.js +1 -0
  4. package/dist/packages/core/src/application/ports/output/agents/agent-run-repository.interface.d.ts +12 -0
  5. package/dist/packages/core/src/application/ports/output/agents/agent-run-repository.interface.d.ts.map +1 -1
  6. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +38 -2
  7. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +16 -1
  9. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/use-cases/features/update-feature-pinned-config.use-case.d.ts +24 -0
  11. package/dist/packages/core/src/application/use-cases/features/update-feature-pinned-config.use-case.d.ts.map +1 -0
  12. package/dist/packages/core/src/application/use-cases/features/update-feature-pinned-config.use-case.js +107 -0
  13. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts +2 -0
  14. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts.map +1 -1
  15. package/dist/packages/core/src/application/use-cases/interactive/index.js +1 -0
  16. package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.d.ts +17 -0
  17. package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.d.ts.map +1 -0
  18. package/dist/packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.js +34 -0
  19. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.js +6 -2
  21. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  22. package/dist/packages/core/src/infrastructure/di/container.js +10 -0
  23. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.d.ts +2 -1
  24. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.d.ts.map +1 -1
  25. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.js +15 -0
  26. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +3 -0
  27. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -1
  28. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +59 -6
  29. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +7 -0
  30. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
  31. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +101 -1
  32. package/dist/packages/core/src/infrastructure/services/web-server.service.d.ts +3 -0
  33. package/dist/packages/core/src/infrastructure/services/web-server.service.d.ts.map +1 -1
  34. package/dist/packages/core/src/infrastructure/services/web-server.service.js +10 -0
  35. package/dist/src/presentation/web/app/actions/update-feature-pinned-config.d.ts +5 -0
  36. package/dist/src/presentation/web/app/actions/update-feature-pinned-config.d.ts.map +1 -0
  37. package/dist/src/presentation/web/app/actions/update-feature-pinned-config.js +29 -0
  38. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts +19 -0
  39. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts.map +1 -0
  40. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.js +33 -0
  41. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
  42. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +7 -0
  43. package/dist/src/presentation/web/app/layout.d.ts +0 -1
  44. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  45. package/dist/src/presentation/web/app/layout.js +0 -1
  46. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +3 -2
  47. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  48. package/dist/src/presentation/web/components/assistant-ui/thread.js +26 -3
  49. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  50. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +100 -9
  51. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +4 -1
  52. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  53. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +3 -3
  54. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts +3 -1
  55. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.d.ts.map +1 -1
  56. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.js +21 -10
  57. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts +4 -0
  58. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.d.ts.map +1 -1
  59. package/dist/src/presentation/web/components/common/feature-drawer-tabs/overview-tab.stories.js +33 -0
  60. package/dist/src/presentation/web/components/common/feature-drawer-tabs/pinned-config-utils.d.ts +18 -0
  61. package/dist/src/presentation/web/components/common/feature-drawer-tabs/pinned-config-utils.d.ts.map +1 -0
  62. package/dist/src/presentation/web/components/common/feature-drawer-tabs/pinned-config-utils.js +17 -0
  63. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.d.ts.map +1 -1
  64. package/dist/src/presentation/web/components/common/react-file-manager-dialog/react-file-manager-dialog.js +68 -56
  65. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.d.ts +1 -0
  66. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.d.ts.map +1 -1
  67. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.js +7 -1
  68. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts +1 -0
  69. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.d.ts.map +1 -1
  70. package/dist/src/presentation/web/components/features/chat/ChatDotIndicator.stories.js +3 -0
  71. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  72. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +3 -1
  73. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  74. package/dist/src/presentation/web/components/features/chat/ChatTab.js +3 -2
  75. package/dist/src/presentation/web/components/features/chat/InteractionBubble.d.ts +33 -0
  76. package/dist/src/presentation/web/components/features/chat/InteractionBubble.d.ts.map +1 -0
  77. package/dist/src/presentation/web/components/features/chat/InteractionBubble.js +155 -0
  78. package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.d.ts +22 -0
  79. package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.d.ts.map +1 -0
  80. package/dist/src/presentation/web/components/features/chat/InteractionBubble.stories.js +107 -0
  81. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +16 -0
  82. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
  83. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +62 -1
  84. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  85. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +18 -3
  86. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -0
  87. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  88. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +1 -1
  89. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts +2 -0
  90. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.d.ts.map +1 -1
  91. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/AgentModelPicker.stories.js +27 -0
  92. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +10 -1
  93. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  94. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +33 -25
  95. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  96. package/dist/src/presentation/web/hooks/use-graph-state.js +16 -0
  97. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts +1 -1
  98. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts.map +1 -1
  99. package/dist/src/presentation/web/hooks/use-turn-statuses.js +1 -1
  100. package/dist/tsconfig.build.tsbuildinfo +1 -1
  101. package/package.json +1 -1
  102. package/web/.next/BUILD_ID +1 -1
  103. package/web/.next/app-path-routes-manifest.json +1 -0
  104. package/web/.next/build-manifest.json +7 -7
  105. package/web/.next/fallback-build-manifest.json +2 -2
  106. package/web/.next/prerender-manifest.json +3 -3
  107. package/web/.next/required-server-files.js +3 -3
  108. package/web/.next/required-server-files.json +3 -3
  109. package/web/.next/routes-manifest.json +8 -0
  110. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +5 -5
  111. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +1 -8
  112. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +29 -29
  113. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +1 -1
  114. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  115. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  116. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +5 -5
  117. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +1 -8
  118. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +27 -27
  119. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +1 -1
  120. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  121. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  122. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +5 -5
  123. package/web/.next/server/app/(dashboard)/@drawer/create/page/react-loadable-manifest.json +1 -8
  124. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +30 -30
  125. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +1 -1
  126. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  127. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  128. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +5 -5
  129. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/react-loadable-manifest.json +1 -8
  130. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +89 -74
  131. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  132. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  133. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  134. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +5 -5
  135. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/react-loadable-manifest.json +1 -8
  136. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +89 -74
  137. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  138. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  139. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  140. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +5 -5
  141. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +1 -8
  142. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  143. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +1 -1
  144. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  145. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  146. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +5 -5
  147. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/react-loadable-manifest.json +1 -8
  148. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  149. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +1 -1
  150. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  151. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  152. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +5 -5
  153. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +1 -8
  154. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +27 -27
  155. package/web/.next/server/app/(dashboard)/chat/page.js +1 -1
  156. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  157. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  158. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +5 -5
  159. package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +1 -8
  160. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +30 -30
  161. package/web/.next/server/app/(dashboard)/create/page.js +1 -1
  162. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  163. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  164. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +5 -5
  165. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/react-loadable-manifest.json +1 -8
  166. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +89 -74
  167. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  168. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  169. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  170. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +5 -5
  171. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/react-loadable-manifest.json +1 -8
  172. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +89 -74
  173. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  174. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  175. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  176. package/web/.next/server/app/(dashboard)/page/build-manifest.json +5 -5
  177. package/web/.next/server/app/(dashboard)/page/react-loadable-manifest.json +1 -8
  178. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +27 -27
  179. package/web/.next/server/app/(dashboard)/page.js +1 -1
  180. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  181. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  182. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +5 -5
  183. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +1 -8
  184. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +28 -28
  185. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +1 -1
  186. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  187. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  188. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +5 -5
  189. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/react-loadable-manifest.json +1 -8
  190. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +28 -28
  191. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +1 -1
  192. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  193. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  194. package/web/.next/server/app/_global-error/page/build-manifest.json +5 -5
  195. package/web/.next/server/app/_global-error/page.js +1 -1
  196. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  197. package/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  198. package/web/.next/server/app/_global-error.html +2 -2
  199. package/web/.next/server/app/_global-error.rsc +7 -7
  200. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  201. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  202. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  203. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  204. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  205. package/web/.next/server/app/_not-found/page/build-manifest.json +5 -5
  206. package/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -8
  207. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +6 -6
  208. package/web/.next/server/app/_not-found/page.js +1 -1
  209. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  210. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  211. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  212. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  213. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  214. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  215. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/app-paths-manifest.json +3 -0
  216. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/build-manifest.json +11 -0
  217. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route/server-reference-manifest.json +4 -0
  218. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js +7 -0
  219. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.map +5 -0
  220. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.nft.json +1 -0
  221. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route_client-reference-manifest.js +2 -0
  222. package/web/.next/server/app/settings/page/build-manifest.json +5 -5
  223. package/web/.next/server/app/settings/page/react-loadable-manifest.json +1 -8
  224. package/web/.next/server/app/settings/page/server-reference-manifest.json +9 -9
  225. package/web/.next/server/app/settings/page.js +1 -1
  226. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  227. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  228. package/web/.next/server/app/skills/page/build-manifest.json +5 -5
  229. package/web/.next/server/app/skills/page/react-loadable-manifest.json +1 -8
  230. package/web/.next/server/app/skills/page/server-reference-manifest.json +11 -11
  231. package/web/.next/server/app/skills/page.js +1 -1
  232. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  233. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  234. package/web/.next/server/app/tools/page/build-manifest.json +5 -5
  235. package/web/.next/server/app/tools/page/react-loadable-manifest.json +1 -8
  236. package/web/.next/server/app/tools/page/server-reference-manifest.json +11 -11
  237. package/web/.next/server/app/tools/page.js +1 -1
  238. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  239. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  240. package/web/.next/server/app/version/page/build-manifest.json +5 -5
  241. package/web/.next/server/app/version/page/react-loadable-manifest.json +1 -8
  242. package/web/.next/server/app/version/page/server-reference-manifest.json +6 -6
  243. package/web/.next/server/app/version/page.js +1 -1
  244. package/web/.next/server/app/version/page.js.nft.json +1 -1
  245. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  246. package/web/.next/server/app-paths-manifest.json +1 -0
  247. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_respond_route_actions_990d51bd.js +3 -0
  248. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_respond_route_actions_990d51bd.js.map +1 -0
  249. package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js +3 -0
  250. package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js.map +1 -0
  251. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +9 -3
  252. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -1
  253. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  254. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  255. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  256. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +3 -3
  257. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  258. package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js +2 -2
  259. package/web/.next/server/chunks/ssr/[root-of-the-server]__1abe77bb._.js.map +1 -1
  260. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +1 -1
  261. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -1
  262. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  263. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js +4 -0
  264. package/web/.next/server/chunks/ssr/[root-of-the-server]__4fb81977._.js.map +1 -0
  265. package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js +2 -2
  266. package/web/.next/server/chunks/ssr/[root-of-the-server]__7562afc6._.js.map +1 -1
  267. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js +4 -0
  268. package/web/.next/server/chunks/ssr/[root-of-the-server]__7dcd0917._.js.map +1 -0
  269. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js +2 -2
  270. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +1 -1
  271. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +1 -1
  272. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +1 -1
  273. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -1
  274. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js +4 -0
  275. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba7f5873._.js.map +1 -0
  276. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js +4 -0
  277. package/web/.next/server/chunks/ssr/[root-of-the-server]__c5e09f6f._.js.map +1 -0
  278. package/web/.next/server/chunks/ssr/[root-of-the-server]__d5e22d1a._.js +3 -0
  279. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js.map → [root-of-the-server]__d5e22d1a._.js.map} +1 -1
  280. package/web/.next/server/chunks/ssr/[root-of-the-server]__f2acfd0e._.js +3 -0
  281. package/web/.next/server/chunks/ssr/[root-of-the-server]__f2acfd0e._.js.map +1 -0
  282. package/web/.next/server/chunks/ssr/[root-of-the-server]__f5614810._.js +3 -0
  283. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js.map → [root-of-the-server]__f5614810._.js.map} +1 -1
  284. package/web/.next/server/chunks/ssr/_02e01240._.js +1 -1
  285. package/web/.next/server/chunks/ssr/_02e01240._.js.map +1 -1
  286. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  287. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  288. package/web/.next/server/chunks/ssr/_0727935d._.js +1 -1
  289. package/web/.next/server/chunks/ssr/_0727935d._.js.map +1 -1
  290. package/web/.next/server/chunks/ssr/_0d2aa969._.js +3 -0
  291. package/web/.next/server/chunks/ssr/_0d2aa969._.js.map +1 -0
  292. package/web/.next/server/chunks/ssr/_0edaf547._.js +3 -0
  293. package/web/.next/server/chunks/ssr/_0edaf547._.js.map +1 -0
  294. package/web/.next/server/chunks/ssr/{_a65c54ca._.js → _10216838._.js} +2 -2
  295. package/web/.next/server/chunks/ssr/{_a65c54ca._.js.map → _10216838._.js.map} +1 -1
  296. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  297. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  298. package/web/.next/server/chunks/ssr/_18886033._.js +1 -1
  299. package/web/.next/server/chunks/ssr/_18886033._.js.map +1 -1
  300. package/web/.next/server/chunks/ssr/_1e08a336._.js.map +1 -1
  301. package/web/.next/server/chunks/ssr/_22e00a14._.js +1 -1
  302. package/web/.next/server/chunks/ssr/_22e00a14._.js.map +1 -1
  303. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +3 -0
  304. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -0
  305. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  306. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  307. package/web/.next/server/chunks/ssr/{_506a3bc3._.js → _682fc996._.js} +2 -2
  308. package/web/.next/server/chunks/ssr/_682fc996._.js.map +1 -0
  309. package/web/.next/server/chunks/ssr/_a1068852._.js +3 -0
  310. package/web/.next/server/chunks/ssr/_a1068852._.js.map +1 -0
  311. package/web/.next/server/chunks/ssr/_a5a5901d._.js +1 -1
  312. package/web/.next/server/chunks/ssr/_a5a5901d._.js.map +1 -1
  313. package/web/.next/server/chunks/ssr/_ad09f271._.js +1 -1
  314. package/web/.next/server/chunks/ssr/_ad09f271._.js.map +1 -1
  315. package/web/.next/server/chunks/ssr/_c3f595c6._.js +1 -1
  316. package/web/.next/server/chunks/ssr/_c3f595c6._.js.map +1 -1
  317. package/web/.next/server/chunks/ssr/_ea9e1556._.js +1 -1
  318. package/web/.next/server/chunks/ssr/_ea9e1556._.js.map +1 -1
  319. package/web/.next/server/chunks/ssr/_f1ba9be6._.js +2 -2
  320. package/web/.next/server/chunks/ssr/_f1ba9be6._.js.map +1 -1
  321. package/web/.next/server/chunks/ssr/{_05dae8d0._.js → _f25dbb08._.js} +2 -2
  322. package/web/.next/server/chunks/ssr/{_05dae8d0._.js.map → _f25dbb08._.js.map} +1 -1
  323. package/web/.next/server/chunks/ssr/_f33cd07e._.js +2 -2
  324. package/web/.next/server/chunks/ssr/_f33cd07e._.js.map +1 -1
  325. package/web/.next/server/chunks/ssr/_f8b45233._.js +1 -1
  326. package/web/.next/server/chunks/ssr/_f8b45233._.js.map +1 -1
  327. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  328. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  329. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  330. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  331. package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js +3 -0
  332. package/web/.next/server/chunks/ssr/node_modules__pnpm_12a7ede0._.js.map +1 -0
  333. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  334. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  335. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  336. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  337. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  338. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js +1 -1
  339. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_select_tsx_45d6b8ae._.js.map +1 -1
  340. package/web/.next/server/middleware-build-manifest.js +5 -5
  341. package/web/.next/server/pages/500.html +2 -2
  342. package/web/.next/server/server-reference-manifest.js +1 -1
  343. package/web/.next/server/server-reference-manifest.json +231 -195
  344. package/web/.next/static/chunks/{43eca8783fbc9558.js → 0286f25e23d42f0c.js} +1 -1
  345. package/web/.next/static/chunks/{345246551a96bdb2.js → 03900be2b55b7375.js} +1 -1
  346. package/web/.next/static/chunks/{fe70e73feb07bcfd.js → 08ec4c9ab61717aa.js} +1 -1
  347. package/web/.next/static/chunks/{dedf6ca63c5468fa.js → 09edd35d194bec06.js} +3 -3
  348. package/web/.next/static/chunks/{d4d8f0a137bd2eb4.js → 12803afee7d0afc8.js} +2 -2
  349. package/web/.next/static/chunks/{1cd31898fb6e763a.js → 186ae7bb70982cc7.js} +1 -1
  350. package/web/.next/static/chunks/197ab40a6e4be037.js +7 -0
  351. package/web/.next/static/chunks/1fe75f9dd488d557.css +1 -0
  352. package/web/.next/static/chunks/4b6b80d73048899b.js +3 -0
  353. package/web/.next/static/chunks/5e044b1f966ab2f5.js +1 -0
  354. package/web/.next/static/chunks/{18e8b12721a9316e.js → 7ab475ef5d67af41.js} +1 -1
  355. package/web/.next/static/chunks/84a181ff3270fd9f.js +1 -0
  356. package/web/.next/static/chunks/87a50da22a604a84.js +1 -0
  357. package/web/.next/static/chunks/{ee270565c4bdb7e1.js → 9375a48c30b82a74.js} +2 -2
  358. package/web/.next/static/chunks/9531dfbcff94c28b.js +1 -0
  359. package/web/.next/static/chunks/{44275180f9c50dbb.js → a36af696cef18a2a.js} +1 -1
  360. package/web/.next/static/chunks/a7d8ed763d7bbe63.js +5 -0
  361. package/web/.next/static/chunks/aea0279ddefd5f75.js +1 -0
  362. package/web/.next/static/chunks/{c60d6c2b2f7b0593.js → bf4eca879dc0c77a.js} +1 -1
  363. package/web/.next/static/chunks/ed3a602003bcb31b.js +1 -0
  364. package/web/.next/static/chunks/fa024fa35b1b47ff.js +1 -0
  365. package/web/.next/static/chunks/{turbopack-432ef324fc27240c.js → turbopack-8a46f5841d1dbe2e.js} +1 -1
  366. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js +0 -3
  367. package/web/.next/server/chunks/ssr/[root-of-the-server]__2d0c3840._.js.map +0 -1
  368. package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js +0 -4
  369. package/web/.next/server/chunks/ssr/[root-of-the-server]__563e4faf._.js.map +0 -1
  370. package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js +0 -4
  371. package/web/.next/server/chunks/ssr/[root-of-the-server]__821a11c1._.js.map +0 -1
  372. package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js +0 -4
  373. package/web/.next/server/chunks/ssr/[root-of-the-server]__98740ee4._.js.map +0 -1
  374. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js +0 -4
  375. package/web/.next/server/chunks/ssr/[root-of-the-server]__ba9f9e11._.js.map +0 -1
  376. package/web/.next/server/chunks/ssr/[root-of-the-server]__d1040bd1._.js +0 -3
  377. package/web/.next/server/chunks/ssr/[root-of-the-server]__efeeaed4._.js +0 -3
  378. package/web/.next/server/chunks/ssr/_0a90d28b._.js +0 -3
  379. package/web/.next/server/chunks/ssr/_0a90d28b._.js.map +0 -1
  380. package/web/.next/server/chunks/ssr/_3bcda5d7._.js +0 -3
  381. package/web/.next/server/chunks/ssr/_3bcda5d7._.js.map +0 -1
  382. package/web/.next/server/chunks/ssr/_4d49a312._.js +0 -3
  383. package/web/.next/server/chunks/ssr/_4d49a312._.js.map +0 -1
  384. package/web/.next/server/chunks/ssr/_506a3bc3._.js.map +0 -1
  385. package/web/.next/server/chunks/ssr/_9215e9ec._.js +0 -3
  386. package/web/.next/server/chunks/ssr/_9215e9ec._.js.map +0 -1
  387. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +0 -3
  388. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +0 -1
  389. package/web/.next/static/chunks/0b732842dcca8b8d.js +0 -3
  390. package/web/.next/static/chunks/1e6609edc3367244.css +0 -1
  391. package/web/.next/static/chunks/3deefc76ea55047c.js +0 -1
  392. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +0 -1
  393. package/web/.next/static/chunks/5fde2118133bc2bb.js +0 -1
  394. package/web/.next/static/chunks/65440524d7ee7d13.js +0 -1
  395. package/web/.next/static/chunks/6d7b999c99d6d175.js +0 -9
  396. package/web/.next/static/chunks/8180973e9cd6a99e.css +0 -1
  397. package/web/.next/static/chunks/8c96c49aad817377.js +0 -1
  398. package/web/.next/static/chunks/9dbfc283af013ec1.js +0 -7
  399. package/web/.next/static/chunks/c7e793951b20a67f.js +0 -1
  400. package/web/.next/static/chunks/d5dcf6575f5f9dd8.js +0 -5
  401. package/web/.next/static/chunks/dd52a7ae78af4f7f.js +0 -1
  402. /package/web/.next/static/{RH3NxvKaE9Efp8ZrIyCm5 → jJMYzVAvBKZm_zDnl0h7J}/_buildManifest.js +0 -0
  403. /package/web/.next/static/{RH3NxvKaE9Efp8ZrIyCm5 → jJMYzVAvBKZm_zDnl0h7J}/_clientMiddlewareManifest.json +0 -0
  404. /package/web/.next/static/{RH3NxvKaE9Efp8ZrIyCm5 → jJMYzVAvBKZm_zDnl0h7J}/_ssgManifest.js +0 -0
@@ -13,6 +13,7 @@ export { ShowFeatureUseCase } from './use-cases/features/show-feature.use-case.j
13
13
  export { CreateFeatureUseCase } from './use-cases/features/create/create-feature.use-case.js';
14
14
  export { DeleteFeatureUseCase } from './use-cases/features/delete-feature.use-case.js';
15
15
  export { ResumeFeatureUseCase } from './use-cases/features/resume-feature.use-case.js';
16
+ export { UpdateFeaturePinnedConfigUseCase } from './use-cases/features/update-feature-pinned-config.use-case.js';
16
17
  export { RunAgentUseCase } from './use-cases/agents/run-agent.use-case.js';
17
18
  export { StopAgentRunUseCase } from './use-cases/agents/stop-agent-run.use-case.js';
18
19
  export { ApproveAgentRunUseCase } from './use-cases/agents/approve-agent-run.use-case.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/application/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAGzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/core/src/application/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAGzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,+DAA+D,CAAC;AAGjH,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC"}
@@ -14,6 +14,7 @@ export { ShowFeatureUseCase } from './use-cases/features/show-feature.use-case.j
14
14
  export { CreateFeatureUseCase } from './use-cases/features/create/create-feature.use-case.js';
15
15
  export { DeleteFeatureUseCase } from './use-cases/features/delete-feature.use-case.js';
16
16
  export { ResumeFeatureUseCase } from './use-cases/features/resume-feature.use-case.js';
17
+ export { UpdateFeaturePinnedConfigUseCase } from './use-cases/features/update-feature-pinned-config.use-case.js';
17
18
  // Agent use cases
18
19
  export { RunAgentUseCase } from './use-cases/agents/run-agent.use-case.js';
19
20
  export { StopAgentRunUseCase } from './use-cases/agents/stop-agent-run.use-case.js';
@@ -9,6 +9,11 @@
9
9
  * - Infrastructure layer provides concrete implementations
10
10
  */
11
11
  import type { AgentRun, AgentRunStatus } from '../../../../domain/generated/output.js';
12
+ export interface AgentRunPinnedConfigUpdate {
13
+ agentType: AgentRun['agentType'];
14
+ modelId?: AgentRun['modelId'];
15
+ updatedAt: AgentRun['updatedAt'];
16
+ }
12
17
  /**
13
18
  * Repository interface for AgentRun entity persistence.
14
19
  *
@@ -46,6 +51,13 @@ export interface IAgentRunRepository {
46
51
  * @param updates - Optional additional fields to update
47
52
  */
48
53
  updateStatus(id: string, status: AgentRunStatus, updates?: Partial<AgentRun>): Promise<void>;
54
+ /**
55
+ * Update the pinned executor config for an existing run.
56
+ *
57
+ * @param id - The agent run ID
58
+ * @param updates - The pinned config fields to persist
59
+ */
60
+ updatePinnedConfig(id: string, updates: AgentRunPinnedConfigUpdate): Promise<void>;
49
61
  /**
50
62
  * Find all running agent runs for a given process ID.
51
63
  * Used for crash recovery to detect orphaned processes.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/agent-run-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnD;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"agent-run-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/agent-run-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAEvF,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC9B,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnD;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC"}
@@ -10,6 +10,11 @@
10
10
  * - Infrastructure layer provides concrete implementations
11
11
  * - No SDK types leak through this boundary
12
12
  */
13
+ /**
14
+ * Callback invoked when the agent calls AskUserQuestion.
15
+ * The SDK stream is PAUSED until this resolves — the agent waits for the user's answers.
16
+ */
17
+ export type OnUserQuestionCallback = (interaction: UserInteractionData) => Promise<Record<string, string>>;
13
18
  /** Options for creating/resuming an interactive agent session. */
14
19
  export interface InteractiveAgentOptions {
15
20
  /** Absolute worktree path (CWD for agent) */
@@ -18,10 +23,32 @@ export interface InteractiveAgentOptions {
18
23
  model?: string;
19
24
  /** Feature context string to append to system prompt */
20
25
  systemPrompt?: string;
26
+ /**
27
+ * Called when agent uses AskUserQuestion. Must return user's answers keyed by question text.
28
+ * The SDK stream pauses until this resolves — the agent cannot continue without answers.
29
+ */
30
+ onUserQuestion?: OnUserQuestionCallback;
31
+ }
32
+ /** A single question within an AskUserQuestion tool call. */
33
+ export interface UserQuestionOption {
34
+ label: string;
35
+ description: string;
36
+ preview?: string;
37
+ }
38
+ export interface UserQuestion {
39
+ question: string;
40
+ header: string;
41
+ options: UserQuestionOption[];
42
+ multiSelect: boolean;
43
+ }
44
+ /** Data for a pending user interaction (AskUserQuestion). */
45
+ export interface UserInteractionData {
46
+ toolCallId: string;
47
+ questions: UserQuestion[];
21
48
  }
22
49
  /** Event emitted by an interactive agent session stream. */
23
50
  export interface InteractiveAgentEvent {
24
- type: 'delta' | 'tool_use' | 'tool_result' | 'status' | 'done' | 'error' | 'init' | 'api_retry' | 'rate_limit' | 'task_started' | 'task_progress' | 'task_done';
51
+ type: 'delta' | 'tool_use' | 'tool_result' | 'status' | 'done' | 'error' | 'init' | 'api_retry' | 'rate_limit' | 'task_started' | 'task_progress' | 'task_done' | 'user_question';
25
52
  content?: string;
26
53
  label?: string;
27
54
  detail?: string;
@@ -33,13 +60,22 @@ export interface InteractiveAgentEvent {
33
60
  numTurns?: number;
34
61
  durationMs?: number;
35
62
  };
63
+ /** Interaction data (attached to 'user_question' events) */
64
+ interaction?: UserInteractionData;
65
+ }
66
+ /** Structured tool result message sent back to the agent. */
67
+ export interface ToolResultMessage {
68
+ toolCallId: string;
69
+ result: unknown;
36
70
  }
37
71
  /** Handle to a live interactive agent session. */
38
72
  export interface InteractiveAgentSessionHandle {
39
73
  /** The agent's session ID (used for resumption) */
40
74
  readonly sessionId: string;
41
- /** Send a user message to the agent */
75
+ /** Send a user text message to the agent */
42
76
  send(message: string): Promise<void>;
77
+ /** Send a tool result back to the agent (e.g. AskUserQuestion response) */
78
+ sendToolResult(toolResult: ToolResultMessage): Promise<void>;
43
79
  /** Iterate response events from the agent */
44
80
  stream(): AsyncIterable<InteractiveAgentEvent>;
45
81
  /** Terminate the session gracefully */
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-agent-executor.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kEAAkE;AAClE,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,OAAO,GACP,UAAU,GACV,aAAa,GACb,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,WAAW,GACX,YAAY,GACZ,cAAc,GACd,eAAe,GACf,WAAW,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,6CAA6C;IAC7C,MAAM,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC/C,uCAAuC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACxF,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"interactive-agent-executor.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,WAAW,EAAE,mBAAmB,KAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErC,kEAAkE;AAClE,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,OAAO,GACP,UAAU,GACV,aAAa,GACb,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,WAAW,GACX,YAAY,GACZ,cAAc,GACd,eAAe,GACf,WAAW,GACX,eAAe,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,4DAA4D;IAC5D,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,2EAA2E;IAC3E,cAAc,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,6CAA6C;IAC7C,MAAM,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC/C,uCAAuC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,wEAAwE;IACxE,KAAK,IAAI,IAAI,CAAC;CACf;AAED,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACxF,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC3C"}
@@ -10,6 +10,7 @@
10
10
  * - Infrastructure layer provides the concrete implementation (singleton)
11
11
  */
12
12
  import type { InteractiveSession, InteractiveMessage } from '../../../../domain/generated/output.js';
13
+ import type { UserInteractionData } from '../agents/interactive-agent-executor.interface.js';
13
14
  /**
14
15
  * A single streaming chunk forwarded from agent stdout to an SSE consumer.
15
16
  */
@@ -22,6 +23,8 @@ export interface StreamChunk {
22
23
  log?: string;
23
24
  /** Structured activity event for rich rendering in the thread */
24
25
  activity?: StreamActivity;
26
+ /** Pending user interaction (AskUserQuestion) — agent is waiting for user response */
27
+ interaction?: UserInteractionData;
25
28
  }
26
29
  /**
27
30
  * A structured activity event emitted during agent execution.
@@ -50,8 +53,10 @@ export interface ChatState {
50
53
  streamingText: string | null;
51
54
  /** Session info for the toolbar (null if no active session) */
52
55
  sessionInfo: SessionInfo | null;
53
- /** Turn activity status: 'idle' | 'processing' | 'unread' (for dot indicators) */
56
+ /** Turn activity status: 'idle' | 'processing' | 'unread' | 'awaiting_input' (for dot indicators) */
54
57
  turnStatus: string;
58
+ /** Pending user interaction — agent is waiting for user response (null when no interaction pending) */
59
+ pendingInteraction: UserInteractionData | null;
55
60
  }
56
61
  /** Live session metadata for the frontend toolbar. */
57
62
  export interface SessionInfo {
@@ -189,5 +194,15 @@ export interface IInteractiveSessionService {
189
194
  * active session's status ('processing' | 'unread').
190
195
  */
191
196
  getAllActiveTurnStatuses(): Promise<Map<string, string>>;
197
+ /**
198
+ * Respond to a pending user interaction (AskUserQuestion).
199
+ * Sends the user's answers back to the agent as a tool result,
200
+ * clears the pending interaction, and resumes the agent's turn.
201
+ *
202
+ * @param featureId - The feature scope key
203
+ * @param answers - Map of question text → selected answer(s)
204
+ * @param annotations - Optional per-question annotations (notes, preview)
205
+ */
206
+ respondToInteraction(featureId: string, answers: Record<string, string>): Promise<void>;
192
207
  }
193
208
  //# sourceMappingURL=interactive-session-service.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-session-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/interactive-session-service.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-session-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/interactive-session-service.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
2
+ import type { IAgentRunRepository } from '../../ports/output/agents/agent-run-repository.interface.js';
3
+ import type { IAgentExecutorFactory } from '../../ports/output/agents/agent-executor-factory.interface.js';
4
+ import { type AgentType } from '../../../domain/generated/output.js';
5
+ export interface UpdateFeaturePinnedConfigInput {
6
+ featureId: string;
7
+ agentType: string;
8
+ modelId?: string | null;
9
+ }
10
+ export interface UpdateFeaturePinnedConfigResult {
11
+ featureId: string;
12
+ agentRunId: string;
13
+ agentType: AgentType;
14
+ modelId: string;
15
+ updatedAt: Date;
16
+ }
17
+ export declare class UpdateFeaturePinnedConfigUseCase {
18
+ private readonly featureRepository;
19
+ private readonly agentRunRepository;
20
+ private readonly agentExecutorFactory;
21
+ constructor(featureRepository: IFeatureRepository, agentRunRepository: IAgentRunRepository, agentExecutorFactory: IAgentExecutorFactory);
22
+ execute(input: UpdateFeaturePinnedConfigInput): Promise<UpdateFeaturePinnedConfigResult>;
23
+ }
24
+ //# sourceMappingURL=update-feature-pinned-config.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-feature-pinned-config.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/features/update-feature-pinned-config.use-case.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AACvG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AAC3G,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,qCAAqC,CAAC;AAgB7C,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AA8BD,qBACa,gCAAgC;IAGzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAElC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAJpB,iBAAiB,EAAE,kBAAkB,EAErC,kBAAkB,EAAE,mBAAmB,EAEvC,oBAAoB,EAAE,qBAAqB;IAGxD,OAAO,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAkD/F"}
@@ -0,0 +1,107 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { inject, injectable } from 'tsyringe';
14
+ import { AgentRunStatus, SdlcLifecycle, } from '../../../domain/generated/output.js';
15
+ const ELIGIBLE_RESUME_STATUSES = new Set([
16
+ AgentRunStatus.waitingApproval,
17
+ AgentRunStatus.failed,
18
+ AgentRunStatus.interrupted,
19
+ ]);
20
+ const INELIGIBLE_LIFECYCLES = new Set([
21
+ SdlcLifecycle.Archived,
22
+ SdlcLifecycle.AwaitingUpstream,
23
+ SdlcLifecycle.Blocked,
24
+ SdlcLifecycle.Deleting,
25
+ SdlcLifecycle.Maintain,
26
+ ]);
27
+ function normalizeRequiredString(value, fieldName) {
28
+ const trimmed = value.trim();
29
+ if (!trimmed) {
30
+ throw new Error(`${fieldName} is required`);
31
+ }
32
+ return trimmed;
33
+ }
34
+ function normalizeRequiredModelId(value) {
35
+ const trimmed = value?.trim();
36
+ if (!trimmed) {
37
+ throw new Error('modelId is required');
38
+ }
39
+ return trimmed;
40
+ }
41
+ function canUpdatePinnedConfig(feature, run) {
42
+ if (feature.lifecycle === SdlcLifecycle.Pending) {
43
+ return run.status === AgentRunStatus.pending;
44
+ }
45
+ if (INELIGIBLE_LIFECYCLES.has(feature.lifecycle)) {
46
+ return false;
47
+ }
48
+ return ELIGIBLE_RESUME_STATUSES.has(run.status);
49
+ }
50
+ let UpdateFeaturePinnedConfigUseCase = class UpdateFeaturePinnedConfigUseCase {
51
+ featureRepository;
52
+ agentRunRepository;
53
+ agentExecutorFactory;
54
+ constructor(featureRepository, agentRunRepository, agentExecutorFactory) {
55
+ this.featureRepository = featureRepository;
56
+ this.agentRunRepository = agentRunRepository;
57
+ this.agentExecutorFactory = agentExecutorFactory;
58
+ }
59
+ async execute(input) {
60
+ const featureId = normalizeRequiredString(input.featureId, 'featureId');
61
+ const agentType = normalizeRequiredString(input.agentType, 'agentType');
62
+ const modelId = normalizeRequiredModelId(input.modelId);
63
+ const feature = await this.featureRepository.findById(featureId);
64
+ if (!feature) {
65
+ throw new Error(`Feature not found: ${featureId}`);
66
+ }
67
+ if (!feature.agentRunId) {
68
+ throw new Error(`Feature "${feature.name}" has no current agent run`);
69
+ }
70
+ const run = await this.agentRunRepository.findById(feature.agentRunId);
71
+ if (!run) {
72
+ throw new Error(`Current agent run not found for feature "${feature.name}"`);
73
+ }
74
+ if (!canUpdatePinnedConfig(feature, run)) {
75
+ throw new Error(`Feature "${feature.name}" cannot change pinned agent/model while lifecycle is "${feature.lifecycle}" and run status is "${run.status}"`);
76
+ }
77
+ const supportedAgents = this.agentExecutorFactory.getSupportedAgents();
78
+ if (!supportedAgents.includes(agentType)) {
79
+ throw new Error(`Unsupported agent type: ${agentType}`);
80
+ }
81
+ const supportedModels = this.agentExecutorFactory.getSupportedModels(agentType);
82
+ if (!supportedModels.includes(modelId)) {
83
+ throw new Error(`Unsupported model "${modelId}" for agent "${agentType}"`);
84
+ }
85
+ const updatedAt = new Date();
86
+ await this.agentRunRepository.updatePinnedConfig(run.id, {
87
+ agentType,
88
+ modelId,
89
+ updatedAt,
90
+ });
91
+ return {
92
+ featureId: feature.id,
93
+ agentRunId: run.id,
94
+ agentType,
95
+ modelId,
96
+ updatedAt,
97
+ };
98
+ }
99
+ };
100
+ UpdateFeaturePinnedConfigUseCase = __decorate([
101
+ injectable(),
102
+ __param(0, inject('IFeatureRepository')),
103
+ __param(1, inject('IAgentRunRepository')),
104
+ __param(2, inject('IAgentExecutorFactory')),
105
+ __metadata("design:paramtypes", [Object, Object, Object])
106
+ ], UpdateFeaturePinnedConfigUseCase);
107
+ export { UpdateFeaturePinnedConfigUseCase };
@@ -11,4 +11,6 @@ export { StopInteractiveSessionUseCase } from './stop-interactive-session.use-ca
11
11
  export type { StopInteractiveSessionInput } from './stop-interactive-session.use-case.js';
12
12
  export { GetInteractiveChatStateUseCase } from './get-interactive-chat-state.use-case.js';
13
13
  export type { GetInteractiveChatStateInput } from './get-interactive-chat-state.use-case.js';
14
+ export { RespondToInteractionUseCase } from './respond-to-interaction.use-case.js';
15
+ export type { RespondToInteractionInput } from './respond-to-interaction.use-case.js';
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/interactive/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,YAAY,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/interactive/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,YAAY,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,YAAY,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,YAAY,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC"}
@@ -7,3 +7,4 @@ export { StartInteractiveSessionUseCase } from './start-interactive-session.use-
7
7
  export { SendInteractiveMessageUseCase } from './send-interactive-message.use-case.js';
8
8
  export { StopInteractiveSessionUseCase } from './stop-interactive-session.use-case.js';
9
9
  export { GetInteractiveChatStateUseCase } from './get-interactive-chat-state.use-case.js';
10
+ export { RespondToInteractionUseCase } from './respond-to-interaction.use-case.js';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Respond To Interaction Use Case
3
+ *
4
+ * Sends the user's response to a pending AskUserQuestion interaction
5
+ * back to the agent. The agent's turn resumes after receiving the response.
6
+ */
7
+ import type { IInteractiveSessionService } from '../../ports/output/services/interactive-session-service.interface.js';
8
+ export interface RespondToInteractionInput {
9
+ featureId: string;
10
+ answers: Record<string, string>;
11
+ }
12
+ export declare class RespondToInteractionUseCase {
13
+ private readonly service;
14
+ constructor(service: IInteractiveSessionService);
15
+ execute(input: RespondToInteractionInput): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=respond-to-interaction.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"respond-to-interaction.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/interactive/respond-to-interaction.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sEAAsE,CAAC;AAEvH,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,qBACa,2BAA2B;IAGpC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,0BAA0B;IAGhD,OAAO,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Respond To Interaction Use Case
3
+ *
4
+ * Sends the user's response to a pending AskUserQuestion interaction
5
+ * back to the agent. The agent's turn resumes after receiving the response.
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
17
+ return function (target, key) { decorator(target, key, paramIndex); }
18
+ };
19
+ import { injectable, inject } from 'tsyringe';
20
+ let RespondToInteractionUseCase = class RespondToInteractionUseCase {
21
+ service;
22
+ constructor(service) {
23
+ this.service = service;
24
+ }
25
+ async execute(input) {
26
+ return this.service.respondToInteraction(input.featureId, input.answers);
27
+ }
28
+ };
29
+ RespondToInteractionUseCase = __decorate([
30
+ injectable(),
31
+ __param(0, inject('IInteractiveSessionService')),
32
+ __metadata("design:paramtypes", [Object])
33
+ ], RespondToInteractionUseCase);
34
+ export { RespondToInteractionUseCase };
@@ -1 +1 @@
1
- {"version":3,"file":"delete-repository.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/repositories/delete-repository.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,qBACa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJb,cAAc,EAAE,qBAAqB,EAErC,WAAW,EAAE,kBAAkB,EAE/B,aAAa,EAAE,oBAAoB;IAGhD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAczC"}
1
+ {"version":3,"file":"delete-repository.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/repositories/delete-repository.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oEAAoE,CAAC;AAChH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,qBACa,uBAAuB;IAGhC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAJb,cAAc,EAAE,qBAAqB,EAErC,WAAW,EAAE,kBAAkB,EAE/B,aAAa,EAAE,oBAAoB;IAGhD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBzC"}
@@ -33,8 +33,12 @@ let DeleteRepositoryUseCase = class DeleteRepositoryUseCase {
33
33
  if (!repository) {
34
34
  throw new Error(`Repository not found: "${id}"`);
35
35
  }
36
- // Delete all child features (cancels agent runs, removes worktrees)
37
- const features = await this.featureRepo.list({ repositoryPath: repository.path });
36
+ // Delete all child features (cancels agent runs, removes worktrees).
37
+ // Include archived features so they don't survive as orphans.
38
+ const features = await this.featureRepo.list({
39
+ repositoryPath: repository.path,
40
+ includeArchived: true,
41
+ });
38
42
  for (const feature of features) {
39
43
  await this.deleteFeature.execute(feature.id);
40
44
  }
@@ -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;AAmJrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CAmbrE;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;AAqJrC;;;;;;GAMG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,SAAS,CAAC,CA2brE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -67,6 +67,7 @@ import { ShowFeatureUseCase } from '../../application/use-cases/features/show-fe
67
67
  import { DeleteFeatureUseCase } from '../../application/use-cases/features/delete-feature.use-case.js';
68
68
  import { ResumeFeatureUseCase } from '../../application/use-cases/features/resume-feature.use-case.js';
69
69
  import { StartFeatureUseCase } from '../../application/use-cases/features/start-feature.use-case.js';
70
+ import { UpdateFeaturePinnedConfigUseCase } from '../../application/use-cases/features/update-feature-pinned-config.use-case.js';
70
71
  import { AdoptBranchUseCase } from '../../application/use-cases/features/adopt-branch.use-case.js';
71
72
  import { GetFeatureArtifactUseCase } from '../../application/use-cases/features/get-feature-artifact.use-case.js';
72
73
  import { GetResearchArtifactUseCase } from '../../application/use-cases/features/get-research-artifact.use-case.js';
@@ -98,6 +99,7 @@ import { StartInteractiveSessionUseCase } from '../../application/use-cases/inte
98
99
  import { SendInteractiveMessageUseCase } from '../../application/use-cases/interactive/send-interactive-message.use-case.js';
99
100
  import { StopInteractiveSessionUseCase } from '../../application/use-cases/interactive/stop-interactive-session.use-case.js';
100
101
  import { GetInteractiveChatStateUseCase } from '../../application/use-cases/interactive/get-interactive-chat-state.use-case.js';
102
+ import { RespondToInteractionUseCase } from '../../application/use-cases/interactive/respond-to-interaction.use-case.js';
101
103
  // Session listing
102
104
  import { ClaudeCodeSessionRepository } from '../services/agents/sessions/claude-code-session.repository.js';
103
105
  import { CodexCliSessionRepository } from '../services/agents/sessions/codex-cli-session.repository.js';
@@ -305,6 +307,7 @@ export async function initializeContainer() {
305
307
  container.registerSingleton(DeleteFeatureUseCase);
306
308
  container.registerSingleton(ResumeFeatureUseCase);
307
309
  container.registerSingleton(StartFeatureUseCase);
310
+ container.registerSingleton(UpdateFeaturePinnedConfigUseCase);
308
311
  container.registerSingleton(AdoptBranchUseCase);
309
312
  container.registerSingleton(GetFeatureArtifactUseCase);
310
313
  container.registerSingleton(GetResearchArtifactUseCase);
@@ -372,6 +375,9 @@ export async function initializeContainer() {
372
375
  container.register('StartFeatureUseCase', {
373
376
  useFactory: (c) => c.resolve(StartFeatureUseCase),
374
377
  });
378
+ container.register('UpdateFeaturePinnedConfigUseCase', {
379
+ useFactory: (c) => c.resolve(UpdateFeaturePinnedConfigUseCase),
380
+ });
375
381
  container.register('AdoptBranchUseCase', {
376
382
  useFactory: (c) => c.resolve(AdoptBranchUseCase),
377
383
  });
@@ -484,6 +490,7 @@ export async function initializeContainer() {
484
490
  container.registerSingleton(SendInteractiveMessageUseCase);
485
491
  container.registerSingleton(StopInteractiveSessionUseCase);
486
492
  container.registerSingleton(GetInteractiveChatStateUseCase);
493
+ container.registerSingleton(RespondToInteractionUseCase);
487
494
  // String-token aliases for web routes (Turbopack can't resolve .js→.ts
488
495
  // imports inside @shepai/core, so routes use string tokens instead of class refs)
489
496
  container.register('StartInteractiveSessionUseCase', {
@@ -498,6 +505,9 @@ export async function initializeContainer() {
498
505
  container.register('GetInteractiveChatStateUseCase', {
499
506
  useFactory: (c) => c.resolve(GetInteractiveChatStateUseCase),
500
507
  });
508
+ container.register('RespondToInteractionUseCase', {
509
+ useFactory: (c) => c.resolve(RespondToInteractionUseCase),
510
+ });
501
511
  // Startup cleanup: mark any zombie sessions (booting/ready from a prior server run) as stopped
502
512
  await interactiveSessionRepo.markAllActiveStopped();
503
513
  _initialized = true;
@@ -5,7 +5,7 @@
5
5
  * Uses prepared statements to prevent SQL injection.
6
6
  */
7
7
  import type Database from 'better-sqlite3';
8
- import type { IAgentRunRepository } from '../../application/ports/output/agents/agent-run-repository.interface.js';
8
+ import type { IAgentRunRepository, AgentRunPinnedConfigUpdate } from '../../application/ports/output/agents/agent-run-repository.interface.js';
9
9
  import type { AgentRun, AgentRunStatus } from '../../domain/generated/output.js';
10
10
  /**
11
11
  * SQLite implementation of IAgentRunRepository.
@@ -18,6 +18,7 @@ export declare class SQLiteAgentRunRepository implements IAgentRunRepository {
18
18
  findById(id: string): Promise<AgentRun | null>;
19
19
  findByThreadId(threadId: string): Promise<AgentRun | null>;
20
20
  updateStatus(id: string, status: AgentRunStatus, updates?: Partial<AgentRun>): Promise<void>;
21
+ updatePinnedConfig(id: string, updates: AgentRunPinnedConfigUpdate): Promise<void>;
21
22
  findRunningByPid(pid: number): Promise<AgentRun[]>;
22
23
  list(): Promise<AgentRun[]>;
23
24
  delete(id: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/agent-run.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yEAAyE,CAAC;AACnH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAkBjF;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBzC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAW9C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAW1D,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAqDV,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAOlD,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAO3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIxC"}
1
+ {"version":3,"file":"agent-run.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/agent-run.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EACV,mBAAmB,EACnB,0BAA0B,EAC3B,MAAM,yEAAyE,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAkBjF;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBzC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAW9C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAW1D,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAqDV,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlF,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAOlD,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAO3B,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIxC"}
@@ -115,6 +115,21 @@ let SQLiteAgentRunRepository = class SQLiteAgentRunRepository {
115
115
  const stmt = this.db.prepare(`UPDATE agent_runs SET ${setClauses.join(', ')} WHERE id = @id`);
116
116
  stmt.run(params);
117
117
  }
118
+ async updatePinnedConfig(id, updates) {
119
+ const stmt = this.db.prepare(`
120
+ UPDATE agent_runs
121
+ SET agent_type = @agent_type,
122
+ model_id = @model_id,
123
+ updated_at = @updated_at
124
+ WHERE id = @id
125
+ `);
126
+ stmt.run({
127
+ id,
128
+ agent_type: updates.agentType,
129
+ model_id: updates.modelId ?? null,
130
+ updated_at: toTimestamp(updates.updatedAt) ?? Date.now(),
131
+ });
132
+ }
118
133
  async findRunningByPid(pid) {
119
134
  const stmt = this.db.prepare('SELECT * FROM agent_runs WHERE pid = ? AND status = ?');
120
135
  const rows = stmt.all(pid, 'running');
@@ -32,6 +32,9 @@
32
32
  * errors when shep itself is running inside a Claude Code session.
33
33
  * - SDK message types are mapped to our own InteractiveAgentEvent to
34
34
  * keep the application layer decoupled from SDK specifics.
35
+ * - AskUserQuestion is intercepted via the SDK's `canUseTool` callback,
36
+ * which pauses the stream until the user responds. The callback delegates
37
+ * to the `onUserQuestion` option provided by the session service.
35
38
  */
36
39
  import type { IInteractiveAgentExecutor, InteractiveAgentOptions, InteractiveAgentSessionHandle } from '../../../../../application/ports/output/agents/interactive-agent-executor.interface.js';
37
40
  export declare class ClaudeCodeInteractiveExecutor implements IInteractiveAgentExecutor {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-interactive-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAOH,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAE9B,MAAM,wFAAwF,CAAC;AAgBhG,qBAAa,6BAA8B,YAAW,yBAAyB;IACvE,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAOvF,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,CAAC;IAOzC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,WAAW;IAoBnB;;;;;;OAMG;YACY,SAAS;IA6BxB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,aAAa;CAuPtB"}
1
+ {"version":3,"file":"claude-code-interactive-executor.service.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAOH,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAI9B,MAAM,wFAAwF,CAAC;AAgBhG,qBAAa,6BAA8B,YAAW,yBAAyB;IACvE,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAOvF,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,CAAC;IAOzC;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,eAAe;IAgDvB,OAAO,CAAC,WAAW;IAqCnB;;;;;;OAMG;YACY,SAAS;IA6BxB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,aAAa;CA4PtB"}