@shepai/cli 1.151.2-pr438.6135e39 → 1.151.2-pr460.095bbae

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 (701) hide show
  1. package/apis/json-schema/InteractiveAgentConfig.yaml +25 -0
  2. package/apis/json-schema/InteractiveMessage.yaml +23 -0
  3. package/apis/json-schema/InteractiveMessageRole.yaml +7 -0
  4. package/apis/json-schema/InteractiveSession.yaml +30 -0
  5. package/apis/json-schema/InteractiveSessionStatus.yaml +9 -0
  6. package/apis/json-schema/Settings.yaml +3 -0
  7. package/apis/json-schema/WorkflowConfig.yaml +0 -5
  8. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +17 -0
  9. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
  10. package/dist/packages/core/src/application/ports/output/agents/index.d.ts +1 -0
  11. package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
  12. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +53 -0
  13. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -0
  14. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.js +13 -0
  15. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +2 -0
  16. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  17. package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.d.ts +37 -0
  18. package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.d.ts.map +1 -0
  19. package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.js +10 -0
  20. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts +54 -0
  21. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts.map +1 -0
  22. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.js +10 -0
  23. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts +0 -28
  24. package/dist/packages/core/src/application/ports/output/services/git-pr-service.interface.d.ts.map +1 -1
  25. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +0 -37
  26. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -1
  27. package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +0 -12
  28. package/dist/packages/core/src/application/ports/output/services/index.d.ts +4 -5
  29. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  30. package/dist/packages/core/src/application/ports/output/services/index.js +1 -2
  31. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +169 -0
  32. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -0
  33. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.js +12 -0
  34. package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.d.ts +26 -0
  35. package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.d.ts.map +1 -0
  36. package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.js +41 -0
  37. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts +14 -0
  38. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts.map +1 -0
  39. package/dist/packages/core/src/application/use-cases/interactive/index.js +9 -0
  40. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts +31 -0
  41. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts.map +1 -0
  42. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.js +43 -0
  43. package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.d.ts +34 -0
  44. package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.d.ts.map +1 -0
  45. package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.js +43 -0
  46. package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.d.ts +27 -0
  47. package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.d.ts.map +1 -0
  48. package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.js +42 -0
  49. package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.d.ts +13 -0
  50. package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.d.ts.map +1 -0
  51. package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.js +19 -0
  52. package/dist/packages/core/src/domain/generated/output.d.ts +77 -185
  53. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  54. package/dist/packages/core/src/domain/generated/output.js +12 -0
  55. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  56. package/dist/packages/core/src/infrastructure/di/container.js +47 -4
  57. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts +36 -0
  58. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts.map +1 -0
  59. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.js +41 -0
  60. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.d.ts +37 -0
  61. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.d.ts.map +1 -0
  62. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.js +45 -0
  63. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +3 -0
  64. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  65. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +10 -0
  66. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.d.ts +22 -0
  67. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.d.ts.map +1 -0
  68. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.js +52 -0
  69. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.d.ts +16 -0
  70. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.d.ts.map +1 -0
  71. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.js +27 -0
  72. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.d.ts +18 -0
  73. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.d.ts.map +1 -0
  74. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.js +58 -0
  75. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts +23 -0
  76. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts.map +1 -0
  77. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.js +85 -0
  78. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  79. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +10 -3
  80. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +18 -0
  81. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  82. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +27 -0
  83. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +43 -0
  84. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -0
  85. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +280 -0
  86. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +3 -0
  87. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
  88. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +6 -0
  89. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
  90. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +1 -3
  91. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  92. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +1 -37
  93. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +1 -2
  94. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  95. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +0 -21
  96. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts +26 -0
  97. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts.map +1 -0
  98. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +140 -0
  99. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +87 -0
  100. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -0
  101. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +786 -0
  102. package/dist/src/presentation/cli/index.js +0 -2
  103. package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.d.ts +3 -0
  104. package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.d.ts.map +1 -0
  105. package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.js +6 -0
  106. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.d.ts.map +1 -1
  107. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  108. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.d.ts.map +1 -1
  109. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  110. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.d.ts +11 -0
  111. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.d.ts.map +1 -0
  112. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +18 -0
  113. package/dist/src/presentation/web/app/(dashboard)/chat/page.d.ts +3 -0
  114. package/dist/src/presentation/web/app/(dashboard)/chat/page.d.ts.map +1 -0
  115. package/dist/src/presentation/web/app/(dashboard)/chat/page.js +4 -0
  116. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.d.ts +3 -0
  117. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.d.ts.map +1 -0
  118. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +4 -0
  119. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +6 -0
  120. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  121. package/dist/src/presentation/web/app/api/agent-events/route.js +54 -1
  122. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts +24 -0
  123. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts.map +1 -0
  124. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.js +76 -0
  125. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts +16 -0
  126. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts.map +1 -0
  127. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.js +21 -0
  128. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts +21 -0
  129. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -0
  130. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +87 -0
  131. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts +19 -0
  132. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts.map +1 -0
  133. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.js +78 -0
  134. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts +18 -0
  135. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts.map +1 -0
  136. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.js +43 -0
  137. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts +19 -0
  138. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts.map +1 -0
  139. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.js +92 -0
  140. package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts +12 -0
  141. package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts.map +1 -0
  142. package/dist/src/presentation/web/app/api/interactive/sessions/route.js +37 -0
  143. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  144. package/dist/src/presentation/web/app/layout.js +2 -1
  145. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +6 -0
  146. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -0
  147. package/dist/src/presentation/web/components/assistant-ui/thread.js +192 -0
  148. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +1 -1
  149. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  150. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -0
  151. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
  152. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  153. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +1 -0
  154. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts +3 -1
  155. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  156. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +5 -6
  157. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.d.ts +2 -0
  158. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.d.ts.map +1 -0
  159. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.js +17 -0
  160. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts +3 -1
  161. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
  162. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +15 -8
  163. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +7 -1
  164. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  165. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +11 -4
  166. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  167. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +7 -2
  168. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts +1 -0
  169. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts.map +1 -1
  170. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +6 -14
  171. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  172. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +6 -2
  173. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.d.ts +21 -0
  174. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.d.ts.map +1 -0
  175. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.js +46 -0
  176. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts +20 -0
  177. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts.map +1 -0
  178. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.js +52 -0
  179. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts +18 -0
  180. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -0
  181. package/dist/src/presentation/web/components/features/chat/ChatComposer.js +16 -0
  182. package/dist/src/presentation/web/components/features/chat/ChatInput.d.ts +19 -0
  183. package/dist/src/presentation/web/components/features/chat/ChatInput.d.ts.map +1 -0
  184. package/dist/src/presentation/web/components/features/chat/ChatInput.js +42 -0
  185. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts +14 -0
  186. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts.map +1 -0
  187. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.js +56 -0
  188. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts +21 -0
  189. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts.map +1 -0
  190. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +43 -0
  191. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts +24 -0
  192. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts.map +1 -0
  193. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.js +84 -0
  194. package/dist/src/presentation/web/components/features/chat/ChatMessageList.d.ts +25 -0
  195. package/dist/src/presentation/web/components/features/chat/ChatMessageList.d.ts.map +1 -0
  196. package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +36 -0
  197. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts +2 -0
  198. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -0
  199. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +243 -0
  200. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +6 -0
  201. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -0
  202. package/dist/src/presentation/web/components/features/chat/ChatTab.js +67 -0
  203. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts +25 -0
  204. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts.map +1 -0
  205. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.js +237 -0
  206. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +34 -0
  207. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -0
  208. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +266 -0
  209. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  210. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +8 -8
  211. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts +13 -0
  212. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -0
  213. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +30 -0
  214. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +1 -2
  215. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  216. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +5 -13
  217. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  218. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +45 -2
  219. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  220. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +13 -65
  221. package/dist/src/presentation/web/components/providers/query-provider.d.ts +4 -0
  222. package/dist/src/presentation/web/components/providers/query-provider.d.ts.map +1 -0
  223. package/dist/src/presentation/web/components/providers/query-provider.js +16 -0
  224. package/dist/src/presentation/web/hooks/use-attachments.d.ts +26 -0
  225. package/dist/src/presentation/web/hooks/use-attachments.d.ts.map +1 -0
  226. package/dist/src/presentation/web/hooks/use-attachments.js +227 -0
  227. package/dist/tsconfig.build.tsbuildinfo +1 -1
  228. package/package.json +3 -1
  229. package/web/.next/BUILD_ID +1 -1
  230. package/web/.next/app-path-routes-manifest.json +11 -0
  231. package/web/.next/build-manifest.json +5 -5
  232. package/web/.next/fallback-build-manifest.json +2 -2
  233. package/web/.next/prerender-manifest.json +3 -3
  234. package/web/.next/required-server-files.js +1 -1
  235. package/web/.next/required-server-files.json +1 -1
  236. package/web/.next/routes-manifest.json +69 -0
  237. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  238. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +82 -82
  239. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
  240. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  241. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  242. package/web/.next/server/app/(dashboard)/@drawer/chat/page/app-paths-manifest.json +3 -0
  243. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +18 -0
  244. package/web/.next/server/app/(dashboard)/@drawer/chat/page/next-font-manifest.json +6 -0
  245. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +8 -0
  246. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +395 -0
  247. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +22 -0
  248. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.map +5 -0
  249. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -0
  250. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +2 -0
  251. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  252. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +84 -84
  253. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
  254. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  255. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  256. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  257. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +98 -98
  258. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  259. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  260. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  261. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  262. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +98 -98
  263. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  264. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  265. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  266. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/app-paths-manifest.json +3 -0
  267. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +18 -0
  268. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -0
  269. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +8 -0
  270. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +395 -0
  271. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +22 -0
  272. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.map +5 -0
  273. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -0
  274. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +2 -0
  275. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  276. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +78 -78
  277. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
  278. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  279. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  280. package/web/.next/server/app/(dashboard)/chat/page/app-paths-manifest.json +3 -0
  281. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +18 -0
  282. package/web/.next/server/app/(dashboard)/chat/page/next-font-manifest.json +6 -0
  283. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +8 -0
  284. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +395 -0
  285. package/web/.next/server/app/(dashboard)/chat/page.js +22 -0
  286. package/web/.next/server/app/(dashboard)/chat/page.js.map +5 -0
  287. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -0
  288. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +2 -0
  289. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  290. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +84 -84
  291. package/web/.next/server/app/(dashboard)/create/page.js +2 -2
  292. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  293. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  294. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  295. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +98 -98
  296. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  297. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  298. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  299. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  300. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +98 -98
  301. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  302. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  303. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  304. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  305. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +78 -78
  306. package/web/.next/server/app/(dashboard)/page.js +2 -2
  307. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  308. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  309. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/app-paths-manifest.json +3 -0
  310. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +18 -0
  311. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -0
  312. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +8 -0
  313. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +395 -0
  314. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +22 -0
  315. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.map +5 -0
  316. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -0
  317. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +2 -0
  318. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  319. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +78 -78
  320. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
  321. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  322. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  323. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  324. package/web/.next/server/app/_global-error.html +2 -2
  325. package/web/.next/server/app/_global-error.rsc +1 -1
  326. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  327. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  328. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  329. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  330. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  331. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  332. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +36 -6
  333. package/web/.next/server/app/_not-found/page.js +2 -2
  334. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  335. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  336. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  337. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  338. package/web/.next/server/app/api/evidence/route.js +1 -1
  339. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  340. package/web/.next/server/app/api/graph-data/route.js +1 -1
  341. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  342. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/app-paths-manifest.json +3 -0
  343. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/build-manifest.json +11 -0
  344. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/server-reference-manifest.json +4 -0
  345. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +7 -0
  346. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.map +5 -0
  347. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -0
  348. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route_client-reference-manifest.js +2 -0
  349. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/app-paths-manifest.json +3 -0
  350. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/build-manifest.json +11 -0
  351. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/server-reference-manifest.json +4 -0
  352. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js +7 -0
  353. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.map +5 -0
  354. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.nft.json +1 -0
  355. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route_client-reference-manifest.js +2 -0
  356. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/app-paths-manifest.json +3 -0
  357. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/build-manifest.json +11 -0
  358. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/server-reference-manifest.json +4 -0
  359. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js +6 -0
  360. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.map +5 -0
  361. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.nft.json +1 -0
  362. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route_client-reference-manifest.js +2 -0
  363. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/app-paths-manifest.json +3 -0
  364. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/build-manifest.json +11 -0
  365. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/server-reference-manifest.json +4 -0
  366. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js +7 -0
  367. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.map +5 -0
  368. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.nft.json +1 -0
  369. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route_client-reference-manifest.js +2 -0
  370. package/web/.next/server/app/api/interactive/sessions/[id]/route/app-paths-manifest.json +3 -0
  371. package/web/.next/server/app/api/interactive/sessions/[id]/route/build-manifest.json +11 -0
  372. package/web/.next/server/app/api/interactive/sessions/[id]/route/server-reference-manifest.json +4 -0
  373. package/web/.next/server/app/api/interactive/sessions/[id]/route.js +7 -0
  374. package/web/.next/server/app/api/interactive/sessions/[id]/route.js.map +5 -0
  375. package/web/.next/server/app/api/interactive/sessions/[id]/route.js.nft.json +1 -0
  376. package/web/.next/server/app/api/interactive/sessions/[id]/route_client-reference-manifest.js +2 -0
  377. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/app-paths-manifest.json +3 -0
  378. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/build-manifest.json +11 -0
  379. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/server-reference-manifest.json +4 -0
  380. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js +6 -0
  381. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.map +5 -0
  382. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.nft.json +1 -0
  383. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route_client-reference-manifest.js +2 -0
  384. package/web/.next/server/app/api/interactive/sessions/route/app-paths-manifest.json +3 -0
  385. package/web/.next/server/app/api/interactive/sessions/route/build-manifest.json +11 -0
  386. package/web/.next/server/app/api/interactive/sessions/route/server-reference-manifest.json +4 -0
  387. package/web/.next/server/app/api/interactive/sessions/route.js +7 -0
  388. package/web/.next/server/app/api/interactive/sessions/route.js.map +5 -0
  389. package/web/.next/server/app/api/interactive/sessions/route.js.nft.json +1 -0
  390. package/web/.next/server/app/api/interactive/sessions/route_client-reference-manifest.js +2 -0
  391. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  392. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  393. package/web/.next/server/app/api/tools/route.js +2 -2
  394. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  395. package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -42
  396. package/web/.next/server/app/settings/page.js +3 -3
  397. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  398. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  399. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  400. package/web/.next/server/app/skills/page/server-reference-manifest.json +46 -16
  401. package/web/.next/server/app/skills/page.js +3 -3
  402. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  403. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  404. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  405. package/web/.next/server/app/tools/page/server-reference-manifest.json +46 -16
  406. package/web/.next/server/app/tools/page.js +3 -3
  407. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  408. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  409. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  410. package/web/.next/server/app/version/page/server-reference-manifest.json +36 -6
  411. package/web/.next/server/app/version/page.js +2 -2
  412. package/web/.next/server/app/version/page.js.nft.json +1 -1
  413. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  414. package/web/.next/server/app-paths-manifest.json +11 -0
  415. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +8 -2
  416. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  417. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_interactive_sessions_route_actions_f2e7447f.js +3 -0
  418. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_interactive_sessions_route_actions_f2e7447f.js.map +1 -0
  419. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_messages_route_actions_f98e5802.js +3 -0
  420. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_messages_route_actions_f98e5802.js.map +1 -0
  421. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stop_route_actions_36518d35.js +3 -0
  422. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stop_route_actions_36518d35.js.map +1 -0
  423. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stream_route_actions_e6210931.js +3 -0
  424. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stream_route_actions_e6210931.js.map +1 -0
  425. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_messages_route_actions_be179971.js +3 -0
  426. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_messages_route_actions_be179971.js.map +1 -0
  427. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_stream_route_actions_58ab2b5b.js +3 -0
  428. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_stream_route_actions_58ab2b5b.js.map +1 -0
  429. package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js +3 -0
  430. package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js.map +1 -0
  431. package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js +3 -0
  432. package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js.map +1 -0
  433. package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js +3 -0
  434. package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js.map +1 -0
  435. package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js +12 -0
  436. package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js.map +1 -0
  437. package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js +3 -0
  438. package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js.map +1 -0
  439. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +18 -0
  440. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -0
  441. package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js +3 -0
  442. package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js.map +1 -0
  443. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  444. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -1
  445. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  446. package/web/.next/server/chunks/{[root-of-the-server]__26565141._.js → [root-of-the-server]__acea6565._.js} +2 -2
  447. package/web/.next/server/chunks/{[root-of-the-server]__26565141._.js.map → [root-of-the-server]__acea6565._.js.map} +1 -1
  448. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +3 -0
  449. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -0
  450. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  451. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  452. package/web/.next/server/chunks/{[root-of-the-server]__25f23d5d._.js → [root-of-the-server]__e3692208._.js} +2 -2
  453. package/web/.next/server/chunks/{[root-of-the-server]__25f23d5d._.js.map → [root-of-the-server]__e3692208._.js.map} +1 -1
  454. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_interactive_sessions_[id]_route_actions_a4ea4d16.js +3 -0
  455. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_interactive_sessions_[id]_route_actions_a4ea4d16.js.map +1 -0
  456. package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +1 -1
  457. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2c44200f.js +4 -0
  458. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2c44200f.js.map +1 -0
  459. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_56f4f121.js +4 -0
  460. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_56f4f121.js.map +1 -0
  461. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_77436e06.js +4 -0
  462. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_77436e06.js.map +1 -0
  463. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_b9bb0443.js +4 -0
  464. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_b9bb0443.js.map +1 -0
  465. package/web/.next/server/chunks/ssr/744ca_web_app_(dashboard)_repository_[repositoryId]_[tab]_page_tsx_2e9a3025._.js +3 -0
  466. package/web/.next/server/chunks/ssr/744ca_web_app_(dashboard)_repository_[repositoryId]_[tab]_page_tsx_2e9a3025._.js.map +1 -0
  467. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  468. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  469. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +7 -0
  470. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -0
  471. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js +3 -0
  472. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js.map +1 -0
  473. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +1 -1
  474. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -1
  475. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +4 -0
  476. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js.map +1 -0
  477. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +4 -0
  478. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +1 -0
  479. package/web/.next/server/chunks/ssr/[root-of-the-server]__31f1c3b0._.js +7 -0
  480. package/web/.next/server/chunks/ssr/[root-of-the-server]__31f1c3b0._.js.map +1 -0
  481. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  482. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +4 -0
  483. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js.map +1 -0
  484. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +4 -0
  485. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -0
  486. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
  487. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
  488. package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js +3 -0
  489. package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js.map +1 -0
  490. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +4 -0
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js.map +1 -0
  492. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +4 -0
  493. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js.map +1 -0
  494. package/web/.next/server/chunks/ssr/[root-of-the-server]__b14946f5._.js +2 -2
  495. package/web/.next/server/chunks/ssr/[root-of-the-server]__b8d4bd27._.js +3 -0
  496. package/web/.next/server/chunks/ssr/[root-of-the-server]__b8d4bd27._.js.map +1 -0
  497. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
  498. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
  499. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +4 -0
  500. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -0
  501. package/web/.next/server/chunks/ssr/[root-of-the-server]__ede6df1f._.js +3 -0
  502. package/web/.next/server/chunks/ssr/[root-of-the-server]__ede6df1f._.js.map +1 -0
  503. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +4 -0
  504. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js.map +1 -0
  505. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  506. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  507. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  508. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  509. package/web/.next/server/chunks/ssr/{_c2ca0f1b._.js → _320a4303._.js} +3 -3
  510. package/web/.next/server/chunks/ssr/_320a4303._.js.map +1 -0
  511. package/web/.next/server/chunks/ssr/_3a0b989f._.js +6 -0
  512. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -0
  513. package/web/.next/server/chunks/ssr/_48e5757d._.js +9 -0
  514. package/web/.next/server/chunks/ssr/_48e5757d._.js.map +1 -0
  515. package/web/.next/server/chunks/ssr/{_6c7faa01._.js → _507a8382._.js} +2 -2
  516. package/web/.next/server/chunks/ssr/_507a8382._.js.map +1 -0
  517. package/web/.next/server/chunks/ssr/_56b9d60f._.js +3 -0
  518. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -0
  519. package/web/.next/server/chunks/ssr/_5f69c13f._.js +4 -0
  520. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -0
  521. package/web/.next/server/chunks/ssr/_78ff6f1d._.js +3 -0
  522. package/web/.next/server/chunks/ssr/_78ff6f1d._.js.map +1 -0
  523. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +4 -0
  524. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -0
  525. package/web/.next/server/chunks/ssr/_8219712a._.js +3 -0
  526. package/web/.next/server/chunks/ssr/_8219712a._.js.map +1 -0
  527. package/web/.next/server/chunks/ssr/_82c57f10._.js +4 -0
  528. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -0
  529. package/web/.next/server/chunks/ssr/{_0020fddd._.js → _8b57edb8._.js} +2 -2
  530. package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -0
  531. package/web/.next/server/chunks/ssr/_8d733ce4._.js +3 -0
  532. package/web/.next/server/chunks/ssr/_8d733ce4._.js.map +1 -0
  533. package/web/.next/server/chunks/ssr/{_6256a985._.js → _9495d50b._.js} +3 -3
  534. package/web/.next/server/chunks/ssr/{_6256a985._.js.map → _9495d50b._.js.map} +1 -1
  535. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +4 -0
  536. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -0
  537. package/web/.next/server/chunks/ssr/_ac4a3873._.js +3 -0
  538. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -0
  539. package/web/.next/server/chunks/ssr/_acc33591._.js +3 -0
  540. package/web/.next/server/chunks/ssr/_acc33591._.js.map +1 -0
  541. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +4 -0
  542. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -0
  543. package/web/.next/server/chunks/ssr/_cb5a021e._.js +4 -0
  544. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -0
  545. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
  546. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
  547. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  548. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  549. package/web/.next/server/chunks/ssr/_d86175ae._.js +4 -0
  550. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -0
  551. package/web/.next/server/chunks/ssr/_d8bedf13._.js +4 -0
  552. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -0
  553. package/web/.next/server/chunks/ssr/_fa7efce3._.js +6 -0
  554. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -0
  555. package/web/.next/server/chunks/ssr/{_4093a637._.js → _ffa39df5._.js} +2 -2
  556. package/web/.next/server/chunks/ssr/_ffa39df5._.js.map +1 -0
  557. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  558. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  559. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_global-chat-drawer-client_tsx_158c4b12._.js +3 -0
  560. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_global-chat-drawer-client_tsx_158c4b12._.js.map +1 -0
  561. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +3 -0
  562. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +1 -0
  563. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +3 -0
  564. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -0
  565. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +3 -0
  566. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -0
  567. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_chat_page_tsx_85327270._.js +3 -0
  568. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_chat_page_tsx_85327270._.js.map +1 -0
  569. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  570. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  571. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +3 -0
  572. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -0
  573. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  574. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  575. package/web/.next/server/middleware-build-manifest.js +3 -3
  576. package/web/.next/server/pages/500.html +2 -2
  577. package/web/.next/server/server-reference-manifest.js +1 -1
  578. package/web/.next/server/server-reference-manifest.json +1346 -562
  579. package/web/.next/static/chunks/011f98455d1a2f64.js +7 -0
  580. package/web/.next/static/chunks/036f4b19acb4fcf9.js +3 -0
  581. package/web/.next/static/chunks/0c38793438b8c038.js +1 -0
  582. package/web/.next/static/chunks/101c183087b9984f.js +1 -0
  583. package/web/.next/static/chunks/11091b676d1b3bd4.js +1 -0
  584. package/web/.next/static/chunks/16f6471485cbfed1.css +1 -0
  585. package/web/.next/static/chunks/22c459f1877b1e4f.js +1 -0
  586. package/web/.next/static/chunks/2354d39c63978576.js +1 -0
  587. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +1 -0
  588. package/web/.next/static/chunks/460a633a069f7114.js +1 -0
  589. package/web/.next/static/chunks/4b2c4a5c35ebb70d.js +1 -0
  590. package/web/.next/static/chunks/5ae60a052ab5f437.js +5 -0
  591. package/web/.next/static/chunks/686164c73f381a39.js +5 -0
  592. package/web/.next/static/chunks/77e04d00f3460226.js +1 -0
  593. package/web/.next/static/chunks/7b93fa5e0054de38.js +1 -0
  594. package/web/.next/static/chunks/932d27878bf6ad1d.js +1 -0
  595. package/web/.next/static/chunks/95f3089ebd3a0ad8.js +1 -0
  596. package/web/.next/static/chunks/a9a2a4964b06aedd.js +1 -0
  597. package/web/.next/static/chunks/{091de81012e2bc48.js → ade96a2ab608bded.js} +2 -2
  598. package/web/.next/static/chunks/b868f9defe50a18f.js +1 -0
  599. package/web/.next/static/chunks/cd54b758f58061d0.js +1 -0
  600. package/web/.next/static/chunks/{cfe4dc9904fcfddb.js → d0e04c4bd51d2553.js} +1 -1
  601. package/web/.next/static/chunks/feed0046c419c228.js +5 -0
  602. package/web/.next/static/chunks/{turbopack-c2d183e05f30c7dc.js → turbopack-432ef324fc27240c.js} +1 -1
  603. package/web/package.json +7 -2
  604. package/apis/json-schema/AgentRunDetail.yaml +0 -28
  605. package/apis/json-schema/DoctorDiagnosticReport.yaml +0 -76
  606. package/apis/json-schema/FailedRunSummary.yaml +0 -22
  607. package/apis/json-schema/SystemInfo.yaml +0 -22
  608. package/apis/json-schema/WorkerLogEntry.yaml +0 -27
  609. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts +0 -57
  610. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.d.ts.map +0 -1
  611. package/dist/packages/core/src/application/ports/output/services/github-issue-service.interface.js +0 -39
  612. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts +0 -64
  613. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.d.ts.map +0 -1
  614. package/dist/packages/core/src/application/use-cases/doctor/doctor-diagnose.use-case.js +0 -493
  615. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts +0 -17
  616. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.d.ts.map +0 -1
  617. package/dist/packages/core/src/infrastructure/services/external/github-issue-creator.service.js +0 -69
  618. package/dist/src/presentation/cli/commands/doctor.command.d.ts +0 -20
  619. package/dist/src/presentation/cli/commands/doctor.command.d.ts.map +0 -1
  620. package/dist/src/presentation/cli/commands/doctor.command.js +0 -129
  621. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +0 -3
  622. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +0 -1
  623. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +0 -3
  624. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +0 -1
  625. package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js +0 -4
  626. package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js.map +0 -1
  627. package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +0 -4
  628. package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +0 -1
  629. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +0 -4
  630. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +0 -1
  631. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +0 -4
  632. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +0 -1
  633. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +0 -4
  634. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +0 -1
  635. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +0 -7
  636. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +0 -1
  637. package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js +0 -4
  638. package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +0 -1
  639. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
  640. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
  641. package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js +0 -4
  642. package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +0 -1
  643. package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js +0 -3
  644. package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js.map +0 -1
  645. package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +0 -4
  646. package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +0 -1
  647. package/web/.next/server/chunks/ssr/_0020fddd._.js.map +0 -1
  648. package/web/.next/server/chunks/ssr/_01046927._.js +0 -9
  649. package/web/.next/server/chunks/ssr/_01046927._.js.map +0 -1
  650. package/web/.next/server/chunks/ssr/_0c473fef._.js +0 -6
  651. package/web/.next/server/chunks/ssr/_0c473fef._.js.map +0 -1
  652. package/web/.next/server/chunks/ssr/_1b719e7f._.js +0 -4
  653. package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +0 -1
  654. package/web/.next/server/chunks/ssr/_37e8548b._.js +0 -4
  655. package/web/.next/server/chunks/ssr/_37e8548b._.js.map +0 -1
  656. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  657. package/web/.next/server/chunks/ssr/_55d763e2._.js +0 -4
  658. package/web/.next/server/chunks/ssr/_55d763e2._.js.map +0 -1
  659. package/web/.next/server/chunks/ssr/_6c7faa01._.js.map +0 -1
  660. package/web/.next/server/chunks/ssr/_8fcc39d4._.js +0 -3
  661. package/web/.next/server/chunks/ssr/_8fcc39d4._.js.map +0 -1
  662. package/web/.next/server/chunks/ssr/_b71645b4._.js +0 -4
  663. package/web/.next/server/chunks/ssr/_b71645b4._.js.map +0 -1
  664. package/web/.next/server/chunks/ssr/_c2ca0f1b._.js.map +0 -1
  665. package/web/.next/server/chunks/ssr/_d8575088._.js +0 -3
  666. package/web/.next/server/chunks/ssr/_d8575088._.js.map +0 -1
  667. package/web/.next/server/chunks/ssr/_dc9a9d32._.js +0 -3
  668. package/web/.next/server/chunks/ssr/_dc9a9d32._.js.map +0 -1
  669. package/web/.next/server/chunks/ssr/_e9e9ed20._.js +0 -6
  670. package/web/.next/server/chunks/ssr/_e9e9ed20._.js.map +0 -1
  671. package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +0 -3
  672. package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +0 -1
  673. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +0 -3
  674. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +0 -1
  675. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +0 -3
  676. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +0 -1
  677. package/web/.next/server/chunks/ssr/src_presentation_web_aa941041._.js +0 -3
  678. package/web/.next/server/chunks/ssr/src_presentation_web_aa941041._.js.map +0 -1
  679. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +0 -3
  680. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +0 -1
  681. package/web/.next/static/chunks/08baac5434d9528e.js +0 -13
  682. package/web/.next/static/chunks/25889ca8401d1bc0.js +0 -1
  683. package/web/.next/static/chunks/359b2815c5ed39cc.js +0 -1
  684. package/web/.next/static/chunks/49057cf8cd37e262.js +0 -1
  685. package/web/.next/static/chunks/4a28fd1bca225386.js +0 -1
  686. package/web/.next/static/chunks/4cec255f2754e5ec.js +0 -1
  687. package/web/.next/static/chunks/5e1877d1f1bcfd77.js +0 -1
  688. package/web/.next/static/chunks/601d93593f5f664f.js +0 -1
  689. package/web/.next/static/chunks/76a3f345f8cf2608.js +0 -1
  690. package/web/.next/static/chunks/79eae02d0342fb73.js +0 -1
  691. package/web/.next/static/chunks/80915095cec414bf.js +0 -1
  692. package/web/.next/static/chunks/87b72b8a10f8255b.js +0 -5
  693. package/web/.next/static/chunks/9b8678597fa1db84.css +0 -1
  694. package/web/.next/static/chunks/b70dd4985a814b27.js +0 -1
  695. package/web/.next/static/chunks/c2388f8bc58b2a21.js +0 -1
  696. package/web/.next/static/chunks/e760b952ba1a10d4.js +0 -1
  697. package/web/.next/static/chunks/ed9408f100149c34.js +0 -1
  698. package/web/.next/static/chunks/f66c996402a430f5.js +0 -1
  699. /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → 2rfPfTfJJx4Mf-4AeVzgA}/_buildManifest.js +0 -0
  700. /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → 2rfPfTfJJx4Mf-4AeVzgA}/_clientMiddlewareManifest.json +0 -0
  701. /package/web/.next/static/{-o7QIcv1p5C722dwF4EFd → 2rfPfTfJJx4Mf-4AeVzgA}/_ssgManifest.js +0 -0
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Interactive Session Database Mapper
3
+ *
4
+ * Maps between InteractiveSession domain objects and SQLite database rows.
5
+ *
6
+ * Mapping Rules:
7
+ * - TypeScript objects (camelCase) <-> SQL columns (snake_case)
8
+ * - Dates stored as INTEGER (unix milliseconds)
9
+ * - Optional stoppedAt stored as NULL when absent
10
+ * - InteractiveSessionStatus stored as string enum values
11
+ */
12
+ /**
13
+ * Maps InteractiveSession domain object to database row.
14
+ * Converts Date objects to unix milliseconds for SQL storage.
15
+ */
16
+ export function toDatabase(session) {
17
+ return {
18
+ id: session.id,
19
+ feature_id: session.featureId,
20
+ status: session.status,
21
+ started_at: session.startedAt instanceof Date ? session.startedAt.getTime() : session.startedAt,
22
+ stopped_at: session.stoppedAt instanceof Date ? session.stoppedAt.getTime() : (session.stoppedAt ?? null),
23
+ last_activity_at: session.lastActivityAt instanceof Date
24
+ ? session.lastActivityAt.getTime()
25
+ : session.lastActivityAt,
26
+ created_at: session.createdAt instanceof Date ? session.createdAt.getTime() : session.createdAt,
27
+ updated_at: session.updatedAt instanceof Date ? session.updatedAt.getTime() : session.updatedAt,
28
+ };
29
+ }
30
+ /**
31
+ * Maps database row to InteractiveSession domain object.
32
+ * Converts unix milliseconds back to Date objects.
33
+ */
34
+ export function fromDatabase(row) {
35
+ return {
36
+ id: row.id,
37
+ featureId: row.feature_id,
38
+ status: row.status,
39
+ startedAt: new Date(row.started_at),
40
+ lastActivityAt: new Date(row.last_activity_at),
41
+ createdAt: new Date(row.created_at),
42
+ updatedAt: new Date(row.updated_at),
43
+ ...(row.stopped_at !== null && { stoppedAt: new Date(row.stopped_at) }),
44
+ };
45
+ }
@@ -76,6 +76,9 @@ export interface SettingsRow {
76
76
  feature_flag_adopt_branch: number;
77
77
  feature_flag_git_rebase_sync: number;
78
78
  feature_flag_react_file_manager: number;
79
+ interactive_agent_enabled: number;
80
+ interactive_agent_auto_timeout_minutes: number;
81
+ interactive_agent_max_concurrent_sessions: number;
79
82
  }
80
83
  /**
81
84
  * Maps Settings domain object to database row.
@@ -1 +1 @@
1
- {"version":3,"file":"settings.mapper.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.mapper.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAQvE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IAInB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IAGtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAGhC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IAGtB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4BAA4B,EAAE,MAAM,CAAC;IAGrC,iCAAiC,EAAE,MAAM,CAAC;IAG1C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IAGzB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAG/C,mBAAmB,EAAE,MAAM,CAAC;IAG5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,mCAAmC,EAAE,MAAM,CAAC;IAG5C,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IAGvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,4BAA4B,EAAE,MAAM,CAAC;IACrC,+BAA+B,EAAE,MAAM,CAAC;IAExC,yBAAyB,EAAE,MAAM,CAAC;IAClC,sCAAsC,EAAE,MAAM,CAAC;IAC/C,yCAAyC,EAAE,MAAM,CAAC;CACnD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAuG1D;AAsCD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,CAoGvD"}
@@ -97,6 +97,10 @@ export function toDatabase(settings) {
97
97
  feature_flag_adopt_branch: settings.featureFlags?.adoptBranch ? 1 : 0,
98
98
  feature_flag_git_rebase_sync: settings.featureFlags?.gitRebaseSync ? 1 : 0,
99
99
  feature_flag_react_file_manager: settings.featureFlags?.reactFileManager ? 1 : 0,
100
+ // InteractiveAgentConfig (boolean → 0/1, integer fields; defaults applied here)
101
+ interactive_agent_enabled: (settings.interactiveAgent?.enabled ?? true) ? 1 : 0,
102
+ interactive_agent_auto_timeout_minutes: settings.interactiveAgent?.autoTimeoutMinutes ?? 15,
103
+ interactive_agent_max_concurrent_sessions: settings.interactiveAgent?.maxConcurrentSessions ?? 3,
100
104
  };
101
105
  }
102
106
  /**
@@ -220,6 +224,12 @@ export function fromDatabase(row) {
220
224
  gitRebaseSync: row.feature_flag_git_rebase_sync === 1,
221
225
  reactFileManager: row.feature_flag_react_file_manager === 1,
222
226
  },
227
+ // InteractiveAgentConfig (INTEGER 0/1 → boolean, integer → number)
228
+ interactiveAgent: {
229
+ enabled: (row.interactive_agent_enabled ?? 1) !== 0,
230
+ autoTimeoutMinutes: row.interactive_agent_auto_timeout_minutes ?? 15,
231
+ maxConcurrentSessions: row.interactive_agent_max_concurrent_sessions ?? 3,
232
+ },
223
233
  // Onboarding (INTEGER → boolean)
224
234
  onboardingComplete: row.onboarding_complete === 1,
225
235
  };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Migration 045: Create interactive_sessions and interactive_messages tables.
3
+ *
4
+ * Adds persistence for the per-feature interactive chat agent feature.
5
+ *
6
+ * Tables:
7
+ * - interactive_sessions: tracks one long-lived agent process per feature
8
+ * - interactive_messages: stores all chat messages (user + assistant) per feature
9
+ *
10
+ * Messages are scoped by feature_id (not session_id) so history persists
11
+ * across session restarts. The optional session_id FK allows per-session
12
+ * queries when needed.
13
+ *
14
+ * Indexes:
15
+ * - interactive_messages(feature_id, created_at) — primary message history query
16
+ * - interactive_sessions(status) — active session count + zombie cleanup queries
17
+ */
18
+ import type { MigrationParams } from 'umzug';
19
+ import type Database from 'better-sqlite3';
20
+ export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
21
+ export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
22
+ //# sourceMappingURL=045-create-interactive-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"045-create-interactive-tables.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAK7F"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Migration 045: Create interactive_sessions and interactive_messages tables.
3
+ *
4
+ * Adds persistence for the per-feature interactive chat agent feature.
5
+ *
6
+ * Tables:
7
+ * - interactive_sessions: tracks one long-lived agent process per feature
8
+ * - interactive_messages: stores all chat messages (user + assistant) per feature
9
+ *
10
+ * Messages are scoped by feature_id (not session_id) so history persists
11
+ * across session restarts. The optional session_id FK allows per-session
12
+ * queries when needed.
13
+ *
14
+ * Indexes:
15
+ * - interactive_messages(feature_id, created_at) — primary message history query
16
+ * - interactive_sessions(status) — active session count + zombie cleanup queries
17
+ */
18
+ export async function up({ context: db }) {
19
+ db.exec(`
20
+ CREATE TABLE IF NOT EXISTS interactive_sessions (
21
+ id TEXT PRIMARY KEY,
22
+ -- Polymorphic scope key (spec ID, repo ID, etc.) — not a FK to any single table.
23
+ feature_id TEXT NOT NULL,
24
+ status TEXT NOT NULL CHECK(status IN ('booting','ready','stopped','error')),
25
+ started_at INTEGER NOT NULL,
26
+ stopped_at INTEGER,
27
+ last_activity_at INTEGER NOT NULL,
28
+ created_at INTEGER NOT NULL,
29
+ updated_at INTEGER NOT NULL
30
+ )
31
+ `);
32
+ db.exec(`
33
+ CREATE TABLE IF NOT EXISTS interactive_messages (
34
+ id TEXT PRIMARY KEY,
35
+ -- Polymorphic scope key (spec ID, repo ID, etc.) — not a FK to any single table.
36
+ feature_id TEXT NOT NULL,
37
+ session_id TEXT REFERENCES interactive_sessions(id),
38
+ role TEXT NOT NULL CHECK(role IN ('user','assistant')),
39
+ content TEXT NOT NULL,
40
+ created_at INTEGER NOT NULL,
41
+ updated_at INTEGER NOT NULL
42
+ )
43
+ `);
44
+ db.exec('CREATE INDEX IF NOT EXISTS idx_interactive_messages_feature ON interactive_messages(feature_id, created_at)');
45
+ db.exec('CREATE INDEX IF NOT EXISTS idx_interactive_sessions_status ON interactive_sessions(status)');
46
+ }
47
+ export async function down({ context: db }) {
48
+ db.exec('DROP INDEX IF EXISTS idx_interactive_sessions_status');
49
+ db.exec('DROP INDEX IF EXISTS idx_interactive_messages_feature');
50
+ db.exec('DROP TABLE IF EXISTS interactive_messages');
51
+ db.exec('DROP TABLE IF EXISTS interactive_sessions');
52
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Migration 046: Add interactive agent settings columns to the settings table.
3
+ *
4
+ * Adds three new columns for the per-feature interactive chat agent configuration:
5
+ * - interactive_agent_enabled (INTEGER DEFAULT 1): whether the Chat tab is shown
6
+ * - interactive_agent_auto_timeout_minutes (INTEGER DEFAULT 15): idle timeout in minutes
7
+ * - interactive_agent_max_concurrent_sessions (INTEGER DEFAULT 3): session cap
8
+ *
9
+ * Default values are applied via column defaults so no existing rows need updating.
10
+ * Guards against duplicate column errors using table_info pragma.
11
+ */
12
+ import type { MigrationParams } from 'umzug';
13
+ import type Database from 'better-sqlite3';
14
+ export declare function up({ context: db }: MigrationParams<Database.Database>): Promise<void>;
15
+ export declare function down({ context: db }: MigrationParams<Database.Database>): Promise<void>;
16
+ //# sourceMappingURL=046-add-interactive-agent-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"046-add-interactive-agent-settings.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,wBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3F;AAED,wBAAsB,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Migration 046: Add interactive agent settings columns to the settings table.
3
+ *
4
+ * Adds three new columns for the per-feature interactive chat agent configuration:
5
+ * - interactive_agent_enabled (INTEGER DEFAULT 1): whether the Chat tab is shown
6
+ * - interactive_agent_auto_timeout_minutes (INTEGER DEFAULT 15): idle timeout in minutes
7
+ * - interactive_agent_max_concurrent_sessions (INTEGER DEFAULT 3): session cap
8
+ *
9
+ * Default values are applied via column defaults so no existing rows need updating.
10
+ * Guards against duplicate column errors using table_info pragma.
11
+ */
12
+ export async function up({ context: db }) {
13
+ const columns = db.pragma('table_info(settings)');
14
+ const names = new Set(columns.map((c) => c.name));
15
+ if (!names.has('interactive_agent_enabled')) {
16
+ db.exec('ALTER TABLE settings ADD COLUMN interactive_agent_enabled INTEGER NOT NULL DEFAULT 1');
17
+ }
18
+ if (!names.has('interactive_agent_auto_timeout_minutes')) {
19
+ db.exec('ALTER TABLE settings ADD COLUMN interactive_agent_auto_timeout_minutes INTEGER NOT NULL DEFAULT 15');
20
+ }
21
+ if (!names.has('interactive_agent_max_concurrent_sessions')) {
22
+ db.exec('ALTER TABLE settings ADD COLUMN interactive_agent_max_concurrent_sessions INTEGER NOT NULL DEFAULT 3');
23
+ }
24
+ }
25
+ export async function down({ context: db }) {
26
+ void db;
27
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * SQLite Interactive Message Repository Implementation
3
+ *
4
+ * Implements IInteractiveMessageRepository using SQLite database.
5
+ * Uses prepared statements to prevent SQL injection.
6
+ */
7
+ import type Database from 'better-sqlite3';
8
+ import type { IInteractiveMessageRepository } from '../../application/ports/output/repositories/interactive-message-repository.interface.js';
9
+ import type { InteractiveMessage } from '../../domain/generated/output.js';
10
+ export declare class SQLiteInteractiveMessageRepository implements IInteractiveMessageRepository {
11
+ private readonly db;
12
+ constructor(db: Database.Database);
13
+ create(message: InteractiveMessage): Promise<void>;
14
+ findByFeatureId(featureId: string, limit?: number): Promise<InteractiveMessage[]>;
15
+ findBySessionId(sessionId: string): Promise<InteractiveMessage[]>;
16
+ deleteByFeatureId(featureId: string): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=sqlite-interactive-message.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-interactive-message.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AAC7I,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAS3E,qBACa,kCAAmC,YAAW,6BAA6B;IAC1E,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,MAA8B,GACpC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAY1B,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAWjE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1D"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * SQLite Interactive Message Repository Implementation
3
+ *
4
+ * Implements IInteractiveMessageRepository using SQLite database.
5
+ * Uses prepared statements to prevent SQL injection.
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
+ import { injectable } from 'tsyringe';
17
+ import { toDatabase, fromDatabase, } from '../persistence/sqlite/mappers/interactive-message.mapper.js';
18
+ const DEFAULT_MESSAGE_LIMIT = 200;
19
+ let SQLiteInteractiveMessageRepository = class SQLiteInteractiveMessageRepository {
20
+ db;
21
+ constructor(db) {
22
+ this.db = db;
23
+ }
24
+ async create(message) {
25
+ const row = toDatabase(message);
26
+ this.db
27
+ .prepare(`INSERT INTO interactive_messages
28
+ (id, feature_id, session_id, role, content, created_at, updated_at)
29
+ VALUES
30
+ (@id, @feature_id, @session_id, @role, @content, @created_at, @updated_at)`)
31
+ .run(row);
32
+ }
33
+ async findByFeatureId(featureId, limit = DEFAULT_MESSAGE_LIMIT) {
34
+ const rows = this.db
35
+ .prepare(`SELECT * FROM interactive_messages
36
+ WHERE feature_id = ?
37
+ ORDER BY created_at ASC
38
+ LIMIT ?`)
39
+ .all(featureId, limit);
40
+ return rows.map(fromDatabase);
41
+ }
42
+ async findBySessionId(sessionId) {
43
+ const rows = this.db
44
+ .prepare(`SELECT * FROM interactive_messages
45
+ WHERE session_id = ?
46
+ ORDER BY created_at ASC`)
47
+ .all(sessionId);
48
+ return rows.map(fromDatabase);
49
+ }
50
+ async deleteByFeatureId(featureId) {
51
+ this.db.prepare(`DELETE FROM interactive_messages WHERE feature_id = ?`).run(featureId);
52
+ }
53
+ };
54
+ SQLiteInteractiveMessageRepository = __decorate([
55
+ injectable(),
56
+ __metadata("design:paramtypes", [Object])
57
+ ], SQLiteInteractiveMessageRepository);
58
+ export { SQLiteInteractiveMessageRepository };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SQLite Interactive Session Repository Implementation
3
+ *
4
+ * Implements IInteractiveSessionRepository using SQLite database.
5
+ * Uses prepared statements to prevent SQL injection.
6
+ */
7
+ import type Database from 'better-sqlite3';
8
+ import type { IInteractiveSessionRepository } from '../../application/ports/output/repositories/interactive-session-repository.interface.js';
9
+ import type { InteractiveSession } from '../../domain/generated/output.js';
10
+ import { InteractiveSessionStatus } from '../../domain/generated/output.js';
11
+ export declare class SQLiteInteractiveSessionRepository implements IInteractiveSessionRepository {
12
+ private readonly db;
13
+ constructor(db: Database.Database);
14
+ create(session: InteractiveSession): Promise<void>;
15
+ findById(id: string): Promise<InteractiveSession | null>;
16
+ findByFeatureId(featureId: string): Promise<InteractiveSession | null>;
17
+ findAllActive(): Promise<InteractiveSession[]>;
18
+ updateStatus(id: string, status: InteractiveSessionStatus, stoppedAt?: Date): Promise<void>;
19
+ updateLastActivity(id: string, lastActivityAt: Date): Promise<void>;
20
+ markAllActiveStopped(): Promise<void>;
21
+ countActiveSessions(): Promise<number>;
22
+ }
23
+ //# sourceMappingURL=sqlite-interactive-session.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-interactive-session.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AAC7I,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAO5E,qBACa,kCAAmC,YAAW,6BAA6B;IAC1E,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAE5C,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAOxD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAStE,aAAa,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAO9C,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,wBAAwB,EAChC,SAAS,CAAC,EAAE,IAAI,GACf,OAAO,CAAC,IAAI,CAAC;IAeV,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAQ7C"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * SQLite Interactive Session Repository Implementation
3
+ *
4
+ * Implements IInteractiveSessionRepository using SQLite database.
5
+ * Uses prepared statements to prevent SQL injection.
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
+ import { injectable } from 'tsyringe';
17
+ import { toDatabase, fromDatabase, } from '../persistence/sqlite/mappers/interactive-session.mapper.js';
18
+ let SQLiteInteractiveSessionRepository = class SQLiteInteractiveSessionRepository {
19
+ db;
20
+ constructor(db) {
21
+ this.db = db;
22
+ }
23
+ async create(session) {
24
+ const row = toDatabase(session);
25
+ this.db
26
+ .prepare(`INSERT INTO interactive_sessions
27
+ (id, feature_id, status, started_at, stopped_at, last_activity_at, created_at, updated_at)
28
+ VALUES
29
+ (@id, @feature_id, @status, @started_at, @stopped_at, @last_activity_at, @created_at, @updated_at)`)
30
+ .run(row);
31
+ }
32
+ async findById(id) {
33
+ const row = this.db.prepare('SELECT * FROM interactive_sessions WHERE id = ?').get(id);
34
+ return row ? fromDatabase(row) : null;
35
+ }
36
+ async findByFeatureId(featureId) {
37
+ const row = this.db
38
+ .prepare('SELECT * FROM interactive_sessions WHERE feature_id = ? ORDER BY created_at DESC LIMIT 1')
39
+ .get(featureId);
40
+ return row ? fromDatabase(row) : null;
41
+ }
42
+ async findAllActive() {
43
+ const rows = this.db
44
+ .prepare(`SELECT * FROM interactive_sessions WHERE status IN ('booting','ready')`)
45
+ .all();
46
+ return rows.map(fromDatabase);
47
+ }
48
+ async updateStatus(id, status, stoppedAt) {
49
+ this.db
50
+ .prepare(`UPDATE interactive_sessions
51
+ SET status = @status, stopped_at = @stopped_at, updated_at = @updated_at
52
+ WHERE id = @id`)
53
+ .run({
54
+ id,
55
+ status,
56
+ stopped_at: stoppedAt ? stoppedAt.getTime() : null,
57
+ updated_at: Date.now(),
58
+ });
59
+ }
60
+ async updateLastActivity(id, lastActivityAt) {
61
+ this.db
62
+ .prepare(`UPDATE interactive_sessions
63
+ SET last_activity_at = @last_activity_at, updated_at = @updated_at
64
+ WHERE id = @id`)
65
+ .run({ id, last_activity_at: lastActivityAt.getTime(), updated_at: Date.now() });
66
+ }
67
+ async markAllActiveStopped() {
68
+ this.db
69
+ .prepare(`UPDATE interactive_sessions
70
+ SET status = 'stopped', updated_at = ?
71
+ WHERE status IN ('booting','ready')`)
72
+ .run(Date.now());
73
+ }
74
+ async countActiveSessions() {
75
+ const result = this.db
76
+ .prepare(`SELECT COUNT(*) as count FROM interactive_sessions WHERE status IN ('booting','ready')`)
77
+ .get();
78
+ return result.count;
79
+ }
80
+ };
81
+ SQLiteInteractiveSessionRepository = __decorate([
82
+ injectable(),
83
+ __metadata("design:paramtypes", [Object])
84
+ ], SQLiteInteractiveSessionRepository);
85
+ export { SQLiteInteractiveSessionRepository };
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-settings.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-settings.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuEnD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBtC;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAkFhD"}
1
+ {"version":3,"file":"sqlite-settings.repository.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/src/infrastructure/repositories/sqlite-settings.repository.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AACxH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAOjE;;;GAGG;AACH,qBACa,wBAAyB,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAElD;;;;;;OAMG;IACG,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EnD;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAgBtC;;;;;OAKG;IACG,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAqFhD"}
@@ -67,7 +67,9 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
67
67
  feature_flag_skills, feature_flag_env_deploy, feature_flag_debug, feature_flag_github_import, feature_flag_adopt_branch, feature_flag_git_rebase_sync,
68
68
  feature_flag_react_file_manager,
69
69
  workflow_enable_evidence, workflow_commit_evidence,
70
- hide_ci_status
70
+ hide_ci_status,
71
+ interactive_agent_enabled, interactive_agent_auto_timeout_minutes,
72
+ interactive_agent_max_concurrent_sessions
71
73
  ) VALUES (
72
74
  @id, @created_at, @updated_at,
73
75
  @model_analyze, @model_requirements, @model_plan, @model_implement, @model_default,
@@ -93,7 +95,9 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
93
95
  @feature_flag_skills, @feature_flag_env_deploy, @feature_flag_debug, @feature_flag_github_import, @feature_flag_adopt_branch, @feature_flag_git_rebase_sync,
94
96
  @feature_flag_react_file_manager,
95
97
  @workflow_enable_evidence, @workflow_commit_evidence,
96
- @hide_ci_status
98
+ @hide_ci_status,
99
+ @interactive_agent_enabled, @interactive_agent_auto_timeout_minutes,
100
+ @interactive_agent_max_concurrent_sessions
97
101
  )
98
102
  `);
99
103
  // Execute with named parameters (safe from SQL injection)
@@ -190,7 +194,10 @@ let SQLiteSettingsRepository = class SQLiteSettingsRepository {
190
194
  feature_flag_react_file_manager = @feature_flag_react_file_manager,
191
195
  workflow_enable_evidence = @workflow_enable_evidence,
192
196
  workflow_commit_evidence = @workflow_commit_evidence,
193
- hide_ci_status = @hide_ci_status
197
+ hide_ci_status = @hide_ci_status,
198
+ interactive_agent_enabled = @interactive_agent_enabled,
199
+ interactive_agent_auto_timeout_minutes = @interactive_agent_auto_timeout_minutes,
200
+ interactive_agent_max_concurrent_sessions = @interactive_agent_max_concurrent_sessions
194
201
  WHERE id = @id
195
202
  `);
196
203
  // Execute with named parameters (safe from SQL injection)
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import type { AgentType, AgentConfig } from '../../../../domain/generated/output.js';
11
11
  import type { IAgentExecutor } from '../../../../application/ports/output/agents/agent-executor.interface.js';
12
+ import type { IInteractiveAgentExecutor } from '../../../../application/ports/output/agents/interactive-agent-executor.interface.js';
12
13
  import type { IAgentExecutorFactory, AgentCliInfo } from '../../../../application/ports/output/agents/agent-executor-factory.interface.js';
13
14
  import type { SpawnFunction } from './types.js';
14
15
  /**
@@ -48,5 +49,22 @@ export declare class AgentExecutorFactory implements IAgentExecutorFactory {
48
49
  * @returns Array of model identifier strings, or empty array for unknown/dev agents
49
50
  */
50
51
  getSupportedModels(agentType: AgentType): string[];
52
+ /**
53
+ * Create an interactive executor for multi-turn agent sessions.
54
+ * Currently only Claude Code supports interactive sessions via the SDK.
55
+ *
56
+ * @param agentType - The type of agent to create an interactive executor for
57
+ * @param _authConfig - Agent authentication and configuration
58
+ * @returns A configured interactive agent executor
59
+ * @throws Error if the agent type does not support interactive sessions
60
+ */
61
+ createInteractiveExecutor(agentType: AgentType, _authConfig: AgentConfig): IInteractiveAgentExecutor;
62
+ /**
63
+ * Check whether the given agent type supports interactive sessions.
64
+ *
65
+ * @param agentType - The agent type to query
66
+ * @returns true if createInteractiveExecutor can be called for this type
67
+ */
68
+ supportsInteractive(agentType: AgentType): boolean;
51
69
  }
52
70
  //# sourceMappingURL=agent-executor-factory.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-executor-factory.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yEAAyE,CAAC;AAC9G,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,iFAAiF,CAAC;AAKzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAMpD,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAE3D;;OAEG;gBAC0B,KAAK,EAAE,aAAa;IAEjD;;;;;;;OAOG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IA6B9E;;;;OAIG;IACH,kBAAkB,IAAI,SAAS,EAAE;IASjC,UAAU,IAAI,YAAY,EAAE;IAQ5B;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;CAYnD"}
1
+ {"version":3,"file":"agent-executor-factory.service.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yEAAyE,CAAC;AAC9G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AACrI,OAAO,KAAK,EACV,qBAAqB,EACrB,YAAY,EACb,MAAM,iFAAiF,CAAC;AAMzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAMpD,OAAO,CAAC,QAAQ,CAAC,KAAK;IALlC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAE3D;;OAEG;gBAC0B,KAAK,EAAE,aAAa;IAEjD;;;;;;;OAOG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc;IA6B9E;;;;OAIG;IACH,kBAAkB,IAAI,SAAS,EAAE;IASjC,UAAU,IAAI,YAAY,EAAE;IAQ5B;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE;IAalD;;;;;;;;OAQG;IACH,yBAAyB,CACvB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACvB,yBAAyB;IAW5B;;;;;OAKG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;CAGnD"}
@@ -8,6 +8,7 @@
8
8
  * to enable testability without mocking node:child_process directly.
9
9
  */
10
10
  import { ClaudeCodeExecutorService } from './executors/claude-code-executor.service.js';
11
+ import { ClaudeCodeInteractiveExecutor } from './executors/claude-code-interactive-executor.service.js';
11
12
  import { CursorExecutorService } from './executors/cursor-executor.service.js';
12
13
  import { DevAgentExecutorService } from './executors/dev-executor.service.js';
13
14
  import { GeminiCliExecutorService } from './executors/gemini-cli-executor.service.js';
@@ -98,6 +99,32 @@ export class AgentExecutorFactory {
98
99
  return [];
99
100
  }
100
101
  }
102
+ /**
103
+ * Create an interactive executor for multi-turn agent sessions.
104
+ * Currently only Claude Code supports interactive sessions via the SDK.
105
+ *
106
+ * @param agentType - The type of agent to create an interactive executor for
107
+ * @param _authConfig - Agent authentication and configuration
108
+ * @returns A configured interactive agent executor
109
+ * @throws Error if the agent type does not support interactive sessions
110
+ */
111
+ createInteractiveExecutor(agentType, _authConfig) {
112
+ const key = agentType;
113
+ if (key === 'claude-code') {
114
+ return new ClaudeCodeInteractiveExecutor();
115
+ }
116
+ throw new Error(`Agent type '${agentType}' does not support interactive sessions. ` +
117
+ `Only 'claude-code' supports interactive mode.`);
118
+ }
119
+ /**
120
+ * Check whether the given agent type supports interactive sessions.
121
+ *
122
+ * @param agentType - The agent type to query
123
+ * @returns true if createInteractiveExecutor can be called for this type
124
+ */
125
+ supportsInteractive(agentType) {
126
+ return agentType === 'claude-code';
127
+ }
101
128
  }
102
129
  // Static model lists per executor — update here when new models are released
103
130
  const CLAUDE_CODE_MODELS = ['claude-opus-4-6', 'claude-sonnet-4-6', 'claude-haiku-4-5'];
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Claude Code Interactive Executor Service
3
+ *
4
+ * Infrastructure implementation of IInteractiveAgentExecutor using the
5
+ * @anthropic-ai/claude-agent-sdk V2 session API. This is the ONLY file
6
+ * that imports from the SDK.
7
+ *
8
+ * Design decisions:
9
+ * - The CLAUDECODE env var is stripped to prevent nested-session detection
10
+ * errors when shep itself is running inside a Claude Code session.
11
+ * - SDK message types are mapped to our own InteractiveAgentEvent to
12
+ * keep the application layer decoupled from SDK specifics.
13
+ */
14
+ import type { IInteractiveAgentExecutor, InteractiveAgentOptions, InteractiveAgentSessionHandle } from '../../../../../application/ports/output/agents/interactive-agent-executor.interface.js';
15
+ export declare class ClaudeCodeInteractiveExecutor implements IInteractiveAgentExecutor {
16
+ createSession(options: InteractiveAgentOptions): Promise<InteractiveAgentSessionHandle>;
17
+ resumeSession(sessionId: string, options: InteractiveAgentOptions): Promise<InteractiveAgentSessionHandle>;
18
+ /**
19
+ * SDKSessionOptions (V2) does not support a `cwd` parameter.
20
+ * Temporarily change process.cwd() for session creation, then restore.
21
+ * This is safe because Node.js is single-threaded and SDK session creation
22
+ * is synchronous (returns immediately, spawns process in background).
23
+ */
24
+ private withCwd;
25
+ private buildSdkOptions;
26
+ private wrapSession;
27
+ private mapStream;
28
+ /**
29
+ * Map a single SDK message to zero or more InteractiveAgentEvents.
30
+ *
31
+ * SDK message types we handle:
32
+ * - stream_event (SDKPartialAssistantMessage): streaming content deltas
33
+ * - assistant (SDKAssistantMessage): complete assistant turn with tool_use blocks
34
+ * - result (SDKResultMessage): success or error result
35
+ * - system (SDKStatusMessage / SDKSystemMessage): status updates
36
+ * - tool_use_summary: tool execution summaries
37
+ * - tool_progress: tool execution progress
38
+ *
39
+ * Other message types are silently ignored (user replays, auth, etc.)
40
+ */
41
+ private mapSdkMessage;
42
+ }
43
+ //# sourceMappingURL=claude-code-interactive-executor.service.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACvB,6BAA6B,EAE9B,MAAM,wFAAwF,CAAC;AAKhG,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;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,WAAW;YAiBJ,SAAS;IASxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;CA0MtB"}