@shepai/cli 1.151.1 → 1.151.2-pr460.ba381d8

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 (672) 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/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts +17 -0
  8. package/dist/packages/core/src/application/ports/output/agents/agent-executor-factory.interface.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/ports/output/agents/index.d.ts +1 -0
  10. package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts +53 -0
  12. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.d.ts.map +1 -0
  13. package/dist/packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.js +13 -0
  14. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +2 -0
  15. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  16. package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.d.ts +37 -0
  17. package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.d.ts.map +1 -0
  18. package/dist/packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.js +10 -0
  19. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts +54 -0
  20. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts.map +1 -0
  21. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.js +10 -0
  22. package/dist/packages/core/src/application/ports/output/services/index.d.ts +1 -0
  23. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  24. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +169 -0
  25. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -0
  26. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.js +12 -0
  27. package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.d.ts +26 -0
  28. package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.d.ts.map +1 -0
  29. package/dist/packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.js +41 -0
  30. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts +14 -0
  31. package/dist/packages/core/src/application/use-cases/interactive/index.d.ts.map +1 -0
  32. package/dist/packages/core/src/application/use-cases/interactive/index.js +9 -0
  33. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts +31 -0
  34. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts.map +1 -0
  35. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.js +43 -0
  36. package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.d.ts +34 -0
  37. package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.d.ts.map +1 -0
  38. package/dist/packages/core/src/application/use-cases/interactive/start-interactive-session.use-case.js +43 -0
  39. package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.d.ts +27 -0
  40. package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.d.ts.map +1 -0
  41. package/dist/packages/core/src/application/use-cases/interactive/stop-interactive-session.use-case.js +42 -0
  42. package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.d.ts +13 -0
  43. package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.d.ts.map +1 -0
  44. package/dist/packages/core/src/domain/errors/concurrent-session-limit.error.js +19 -0
  45. package/dist/packages/core/src/domain/generated/output.d.ts +77 -0
  46. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  47. package/dist/packages/core/src/domain/generated/output.js +12 -0
  48. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  49. package/dist/packages/core/src/infrastructure/di/container.js +47 -0
  50. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts +36 -0
  51. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts.map +1 -0
  52. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.js +41 -0
  53. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.d.ts +37 -0
  54. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.d.ts.map +1 -0
  55. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-session.mapper.js +45 -0
  56. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +3 -0
  57. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  58. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +10 -0
  59. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.d.ts +22 -0
  60. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.d.ts.map +1 -0
  61. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/045-create-interactive-tables.js +52 -0
  62. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.d.ts +16 -0
  63. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.d.ts.map +1 -0
  64. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/046-add-interactive-agent-settings.js +27 -0
  65. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.d.ts +18 -0
  66. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.d.ts.map +1 -0
  67. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.js +58 -0
  68. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts +23 -0
  69. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts.map +1 -0
  70. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.js +85 -0
  71. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  72. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +10 -3
  73. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts +18 -0
  74. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  75. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +27 -0
  76. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts +43 -0
  77. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -0
  78. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +280 -0
  79. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts +3 -0
  80. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.d.ts.map +1 -1
  81. package/dist/packages/core/src/infrastructure/services/agents/common/executors/mock-executor-factory.service.js +6 -0
  82. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
  83. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.d.ts.map +1 -1
  84. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/evidence.node.js +8 -2
  85. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts +26 -0
  86. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.d.ts.map +1 -0
  87. package/dist/packages/core/src/infrastructure/services/interactive/feature-context.builder.js +140 -0
  88. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +87 -0
  89. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -0
  90. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +786 -0
  91. package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.d.ts +3 -0
  92. package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.d.ts.map +1 -0
  93. package/dist/src/presentation/web/app/(dashboard)/@drawer/chat/page.js +6 -0
  94. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.d.ts.map +1 -1
  95. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  96. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.d.ts.map +1 -1
  97. package/dist/src/presentation/web/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  98. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.d.ts +11 -0
  99. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.d.ts.map +1 -0
  100. package/dist/src/presentation/web/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +18 -0
  101. package/dist/src/presentation/web/app/(dashboard)/chat/page.d.ts +3 -0
  102. package/dist/src/presentation/web/app/(dashboard)/chat/page.d.ts.map +1 -0
  103. package/dist/src/presentation/web/app/(dashboard)/chat/page.js +4 -0
  104. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.d.ts +3 -0
  105. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.d.ts.map +1 -0
  106. package/dist/src/presentation/web/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +4 -0
  107. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +6 -0
  108. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  109. package/dist/src/presentation/web/app/api/agent-events/route.js +54 -1
  110. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts +24 -0
  111. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts.map +1 -0
  112. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.js +76 -0
  113. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts +16 -0
  114. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts.map +1 -0
  115. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.js +21 -0
  116. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts +21 -0
  117. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -0
  118. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +87 -0
  119. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts +19 -0
  120. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts.map +1 -0
  121. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.js +78 -0
  122. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts +18 -0
  123. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts.map +1 -0
  124. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.js +43 -0
  125. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts +19 -0
  126. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts.map +1 -0
  127. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.js +92 -0
  128. package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts +12 -0
  129. package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts.map +1 -0
  130. package/dist/src/presentation/web/app/api/interactive/sessions/route.js +37 -0
  131. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  132. package/dist/src/presentation/web/app/layout.js +2 -1
  133. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +6 -0
  134. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -0
  135. package/dist/src/presentation/web/components/assistant-ui/thread.js +192 -0
  136. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts +1 -1
  137. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  138. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +1 -0
  139. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts +1 -1
  140. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.d.ts.map +1 -1
  141. package/dist/src/presentation/web/components/common/control-center-drawer/drawer-view.js +1 -0
  142. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts +3 -1
  143. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
  144. package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +5 -6
  145. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.d.ts +2 -0
  146. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.d.ts.map +1 -0
  147. package/dist/src/presentation/web/components/common/control-center-drawer/global-chat-drawer-client.js +17 -0
  148. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts +3 -1
  149. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.d.ts.map +1 -1
  150. package/dist/src/presentation/web/components/common/control-center-drawer/repository-drawer-client.js +15 -8
  151. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts +7 -1
  152. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.d.ts.map +1 -1
  153. package/dist/src/presentation/web/components/common/feature-drawer-tabs/feature-drawer-tabs.js +11 -4
  154. package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
  155. package/dist/src/presentation/web/components/common/feature-node/feature-node.js +7 -2
  156. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts +1 -0
  157. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.d.ts.map +1 -1
  158. package/dist/src/presentation/web/components/common/floating-action-button/floating-action-button.js +6 -14
  159. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  160. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +6 -2
  161. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.d.ts +21 -0
  162. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.d.ts.map +1 -0
  163. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.js +46 -0
  164. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts +20 -0
  165. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.d.ts.map +1 -0
  166. package/dist/src/presentation/web/components/features/chat/AgentStatusBadge.stories.js +52 -0
  167. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts +18 -0
  168. package/dist/src/presentation/web/components/features/chat/ChatComposer.d.ts.map +1 -0
  169. package/dist/src/presentation/web/components/features/chat/ChatComposer.js +16 -0
  170. package/dist/src/presentation/web/components/features/chat/ChatInput.d.ts +19 -0
  171. package/dist/src/presentation/web/components/features/chat/ChatInput.d.ts.map +1 -0
  172. package/dist/src/presentation/web/components/features/chat/ChatInput.js +42 -0
  173. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts +14 -0
  174. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.d.ts.map +1 -0
  175. package/dist/src/presentation/web/components/features/chat/ChatInput.stories.js +56 -0
  176. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts +21 -0
  177. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.d.ts.map +1 -0
  178. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.js +43 -0
  179. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts +24 -0
  180. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.d.ts.map +1 -0
  181. package/dist/src/presentation/web/components/features/chat/ChatMessageBubble.stories.js +84 -0
  182. package/dist/src/presentation/web/components/features/chat/ChatMessageList.d.ts +25 -0
  183. package/dist/src/presentation/web/components/features/chat/ChatMessageList.d.ts.map +1 -0
  184. package/dist/src/presentation/web/components/features/chat/ChatMessageList.js +36 -0
  185. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts +2 -0
  186. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -0
  187. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +243 -0
  188. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +6 -0
  189. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -0
  190. package/dist/src/presentation/web/components/features/chat/ChatTab.js +67 -0
  191. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts +25 -0
  192. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.d.ts.map +1 -0
  193. package/dist/src/presentation/web/components/features/chat/ChatTab.stories.js +237 -0
  194. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +34 -0
  195. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -0
  196. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +266 -0
  197. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  198. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +8 -8
  199. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts +13 -0
  200. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.d.ts.map +1 -0
  201. package/dist/src/presentation/web/components/features/features-canvas/canvas-toolbar.js +30 -0
  202. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +1 -2
  203. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  204. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +5 -13
  205. package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
  206. package/dist/src/presentation/web/components/features/settings/settings-page-client.js +45 -2
  207. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
  208. package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +13 -65
  209. package/dist/src/presentation/web/components/providers/query-provider.d.ts +4 -0
  210. package/dist/src/presentation/web/components/providers/query-provider.d.ts.map +1 -0
  211. package/dist/src/presentation/web/components/providers/query-provider.js +16 -0
  212. package/dist/src/presentation/web/hooks/use-attachments.d.ts +26 -0
  213. package/dist/src/presentation/web/hooks/use-attachments.d.ts.map +1 -0
  214. package/dist/src/presentation/web/hooks/use-attachments.js +227 -0
  215. package/dist/tsconfig.build.tsbuildinfo +1 -1
  216. package/package.json +3 -1
  217. package/web/.next/BUILD_ID +1 -1
  218. package/web/.next/app-path-routes-manifest.json +11 -0
  219. package/web/.next/build-manifest.json +5 -5
  220. package/web/.next/fallback-build-manifest.json +2 -2
  221. package/web/.next/prerender-manifest.json +3 -3
  222. package/web/.next/required-server-files.js +3 -3
  223. package/web/.next/required-server-files.json +3 -3
  224. package/web/.next/routes-manifest.json +69 -0
  225. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  226. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +82 -82
  227. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +2 -2
  228. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  229. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  230. package/web/.next/server/app/(dashboard)/@drawer/chat/page/app-paths-manifest.json +3 -0
  231. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +18 -0
  232. package/web/.next/server/app/(dashboard)/@drawer/chat/page/next-font-manifest.json +6 -0
  233. package/web/.next/server/app/(dashboard)/@drawer/chat/page/react-loadable-manifest.json +8 -0
  234. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +395 -0
  235. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +22 -0
  236. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.map +5 -0
  237. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -0
  238. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +2 -0
  239. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  240. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +84 -84
  241. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +2 -2
  242. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  243. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  244. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  245. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +98 -98
  246. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +2 -2
  247. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  248. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  249. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  250. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +98 -98
  251. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +2 -2
  252. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  253. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  254. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/app-paths-manifest.json +3 -0
  255. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +18 -0
  256. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -0
  257. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +8 -0
  258. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +395 -0
  259. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +22 -0
  260. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.map +5 -0
  261. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -0
  262. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +2 -0
  263. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  264. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +78 -78
  265. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +2 -2
  266. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  267. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  268. package/web/.next/server/app/(dashboard)/chat/page/app-paths-manifest.json +3 -0
  269. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +18 -0
  270. package/web/.next/server/app/(dashboard)/chat/page/next-font-manifest.json +6 -0
  271. package/web/.next/server/app/(dashboard)/chat/page/react-loadable-manifest.json +8 -0
  272. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +395 -0
  273. package/web/.next/server/app/(dashboard)/chat/page.js +22 -0
  274. package/web/.next/server/app/(dashboard)/chat/page.js.map +5 -0
  275. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -0
  276. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +2 -0
  277. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  278. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +84 -84
  279. package/web/.next/server/app/(dashboard)/create/page.js +2 -2
  280. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  281. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  282. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  283. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +98 -98
  284. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +2 -2
  285. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  286. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  287. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  288. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +98 -98
  289. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +2 -2
  290. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  291. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  292. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  293. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +78 -78
  294. package/web/.next/server/app/(dashboard)/page.js +2 -2
  295. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  296. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  297. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/app-paths-manifest.json +3 -0
  298. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +18 -0
  299. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/next-font-manifest.json +6 -0
  300. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +8 -0
  301. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +395 -0
  302. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +22 -0
  303. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.map +5 -0
  304. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -0
  305. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +2 -0
  306. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  307. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +78 -78
  308. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +2 -2
  309. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  310. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  311. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  312. package/web/.next/server/app/_global-error.html +2 -2
  313. package/web/.next/server/app/_global-error.rsc +1 -1
  314. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  315. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  316. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  317. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  318. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  319. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  320. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +36 -6
  321. package/web/.next/server/app/_not-found/page.js +2 -2
  322. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  323. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  324. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  325. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  326. package/web/.next/server/app/api/evidence/route.js +1 -1
  327. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  328. package/web/.next/server/app/api/graph-data/route.js +1 -1
  329. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  330. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/app-paths-manifest.json +3 -0
  331. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/build-manifest.json +11 -0
  332. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route/server-reference-manifest.json +4 -0
  333. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +7 -0
  334. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.map +5 -0
  335. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -0
  336. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route_client-reference-manifest.js +2 -0
  337. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/app-paths-manifest.json +3 -0
  338. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/build-manifest.json +11 -0
  339. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route/server-reference-manifest.json +4 -0
  340. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js +7 -0
  341. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.map +5 -0
  342. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.nft.json +1 -0
  343. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route_client-reference-manifest.js +2 -0
  344. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/app-paths-manifest.json +3 -0
  345. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/build-manifest.json +11 -0
  346. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route/server-reference-manifest.json +4 -0
  347. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js +6 -0
  348. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.map +5 -0
  349. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.nft.json +1 -0
  350. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route_client-reference-manifest.js +2 -0
  351. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/app-paths-manifest.json +3 -0
  352. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/build-manifest.json +11 -0
  353. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route/server-reference-manifest.json +4 -0
  354. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js +7 -0
  355. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.map +5 -0
  356. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.nft.json +1 -0
  357. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route_client-reference-manifest.js +2 -0
  358. package/web/.next/server/app/api/interactive/sessions/[id]/route/app-paths-manifest.json +3 -0
  359. package/web/.next/server/app/api/interactive/sessions/[id]/route/build-manifest.json +11 -0
  360. package/web/.next/server/app/api/interactive/sessions/[id]/route/server-reference-manifest.json +4 -0
  361. package/web/.next/server/app/api/interactive/sessions/[id]/route.js +7 -0
  362. package/web/.next/server/app/api/interactive/sessions/[id]/route.js.map +5 -0
  363. package/web/.next/server/app/api/interactive/sessions/[id]/route.js.nft.json +1 -0
  364. package/web/.next/server/app/api/interactive/sessions/[id]/route_client-reference-manifest.js +2 -0
  365. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/app-paths-manifest.json +3 -0
  366. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/build-manifest.json +11 -0
  367. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route/server-reference-manifest.json +4 -0
  368. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js +6 -0
  369. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.map +5 -0
  370. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.nft.json +1 -0
  371. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route_client-reference-manifest.js +2 -0
  372. package/web/.next/server/app/api/interactive/sessions/route/app-paths-manifest.json +3 -0
  373. package/web/.next/server/app/api/interactive/sessions/route/build-manifest.json +11 -0
  374. package/web/.next/server/app/api/interactive/sessions/route/server-reference-manifest.json +4 -0
  375. package/web/.next/server/app/api/interactive/sessions/route.js +7 -0
  376. package/web/.next/server/app/api/interactive/sessions/route.js.map +5 -0
  377. package/web/.next/server/app/api/interactive/sessions/route.js.nft.json +1 -0
  378. package/web/.next/server/app/api/interactive/sessions/route_client-reference-manifest.js +2 -0
  379. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  380. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  381. package/web/.next/server/app/api/tools/route.js +2 -2
  382. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  383. package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -42
  384. package/web/.next/server/app/settings/page.js +3 -3
  385. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  386. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  387. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  388. package/web/.next/server/app/skills/page/server-reference-manifest.json +46 -16
  389. package/web/.next/server/app/skills/page.js +3 -3
  390. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  391. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  392. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  393. package/web/.next/server/app/tools/page/server-reference-manifest.json +46 -16
  394. package/web/.next/server/app/tools/page.js +3 -3
  395. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  396. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  397. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  398. package/web/.next/server/app/version/page/server-reference-manifest.json +36 -6
  399. package/web/.next/server/app/version/page.js +2 -2
  400. package/web/.next/server/app/version/page.js.nft.json +1 -1
  401. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  402. package/web/.next/server/app-paths-manifest.json +11 -0
  403. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +8 -2
  404. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -1
  405. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_interactive_sessions_route_actions_f2e7447f.js +3 -0
  406. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_interactive_sessions_route_actions_f2e7447f.js.map +1 -0
  407. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_messages_route_actions_f98e5802.js +3 -0
  408. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_messages_route_actions_f98e5802.js.map +1 -0
  409. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stop_route_actions_36518d35.js +3 -0
  410. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stop_route_actions_36518d35.js.map +1 -0
  411. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stream_route_actions_e6210931.js +3 -0
  412. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_[featureId]_stream_route_actions_e6210931.js.map +1 -0
  413. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_messages_route_actions_be179971.js +3 -0
  414. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_messages_route_actions_be179971.js.map +1 -0
  415. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_stream_route_actions_58ab2b5b.js +3 -0
  416. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_sessions_[id]_stream_route_actions_58ab2b5b.js.map +1 -0
  417. package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js +3 -0
  418. package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js.map +1 -0
  419. package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js +3 -0
  420. package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js.map +1 -0
  421. package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js +3 -0
  422. package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js.map +1 -0
  423. package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js +12 -0
  424. package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js.map +1 -0
  425. package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js +3 -0
  426. package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js.map +1 -0
  427. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +18 -0
  428. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -0
  429. package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js +3 -0
  430. package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js.map +1 -0
  431. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +1 -1
  432. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -1
  433. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  434. package/web/.next/server/chunks/{[root-of-the-server]__26565141._.js → [root-of-the-server]__acea6565._.js} +2 -2
  435. package/web/.next/server/chunks/{[root-of-the-server]__26565141._.js.map → [root-of-the-server]__acea6565._.js.map} +1 -1
  436. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js +3 -0
  437. package/web/.next/server/chunks/[root-of-the-server]__beda892a._.js.map +1 -0
  438. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  439. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  440. package/web/.next/server/chunks/{[root-of-the-server]__25f23d5d._.js → [root-of-the-server]__e3692208._.js} +2 -2
  441. package/web/.next/server/chunks/{[root-of-the-server]__25f23d5d._.js.map → [root-of-the-server]__e3692208._.js.map} +1 -1
  442. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_interactive_sessions_[id]_route_actions_a4ea4d16.js +3 -0
  443. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_interactive_sessions_[id]_route_actions_a4ea4d16.js.map +1 -0
  444. package/web/.next/server/chunks/ssr/403f9_next_dist_c9d9b4d7._.js +1 -1
  445. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2c44200f.js +4 -0
  446. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_2c44200f.js.map +1 -0
  447. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_56f4f121.js +4 -0
  448. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_56f4f121.js.map +1 -0
  449. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_77436e06.js +4 -0
  450. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_77436e06.js.map +1 -0
  451. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_b9bb0443.js +4 -0
  452. package/web/.next/server/chunks/ssr/403f9_next_dist_esm_build_templates_app-page_b9bb0443.js.map +1 -0
  453. package/web/.next/server/chunks/ssr/744ca_web_app_(dashboard)_repository_[repositoryId]_[tab]_page_tsx_2e9a3025._.js +3 -0
  454. package/web/.next/server/chunks/ssr/744ca_web_app_(dashboard)_repository_[repositoryId]_[tab]_page_tsx_2e9a3025._.js.map +1 -0
  455. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  456. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  457. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +7 -0
  458. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -0
  459. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js +3 -0
  460. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_4b319ae6._.js.map +1 -0
  461. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js +1 -1
  462. package/web/.next/server/chunks/ssr/[root-of-the-server]__0b150ddf._.js.map +1 -1
  463. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js +4 -0
  464. package/web/.next/server/chunks/ssr/[root-of-the-server]__17ed7ed1._.js.map +1 -0
  465. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js +4 -0
  466. package/web/.next/server/chunks/ssr/[root-of-the-server]__28d0d265._.js.map +1 -0
  467. package/web/.next/server/chunks/ssr/[root-of-the-server]__31f1c3b0._.js +7 -0
  468. package/web/.next/server/chunks/ssr/[root-of-the-server]__31f1c3b0._.js.map +1 -0
  469. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +1 -1
  470. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js +4 -0
  471. package/web/.next/server/chunks/ssr/[root-of-the-server]__42bf1807._.js.map +1 -0
  472. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js +4 -0
  473. package/web/.next/server/chunks/ssr/[root-of-the-server]__56b70465._.js.map +1 -0
  474. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js +1 -1
  475. package/web/.next/server/chunks/ssr/[root-of-the-server]__684a868c._.js.map +1 -1
  476. package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js +3 -0
  477. package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js.map +1 -0
  478. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js +4 -0
  479. package/web/.next/server/chunks/ssr/[root-of-the-server]__88f7e8e6._.js.map +1 -0
  480. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js +4 -0
  481. package/web/.next/server/chunks/ssr/[root-of-the-server]__8b0aac03._.js.map +1 -0
  482. package/web/.next/server/chunks/ssr/[root-of-the-server]__b14946f5._.js +2 -2
  483. package/web/.next/server/chunks/ssr/[root-of-the-server]__b8d4bd27._.js +3 -0
  484. package/web/.next/server/chunks/ssr/[root-of-the-server]__b8d4bd27._.js.map +1 -0
  485. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js +1 -1
  486. package/web/.next/server/chunks/ssr/[root-of-the-server]__c16bf5de._.js.map +1 -1
  487. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js +4 -0
  488. package/web/.next/server/chunks/ssr/[root-of-the-server]__c30f1f82._.js.map +1 -0
  489. package/web/.next/server/chunks/ssr/[root-of-the-server]__ede6df1f._.js +3 -0
  490. package/web/.next/server/chunks/ssr/[root-of-the-server]__ede6df1f._.js.map +1 -0
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js +4 -0
  492. package/web/.next/server/chunks/ssr/[root-of-the-server]__f80bfc75._.js.map +1 -0
  493. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  494. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  495. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  496. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  497. package/web/.next/server/chunks/ssr/_3a0b989f._.js +6 -0
  498. package/web/.next/server/chunks/ssr/_3a0b989f._.js.map +1 -0
  499. package/web/.next/server/chunks/ssr/_48e5757d._.js +9 -0
  500. package/web/.next/server/chunks/ssr/_48e5757d._.js.map +1 -0
  501. package/web/.next/server/chunks/ssr/{_4093a637._.js → _4c42590e._.js} +2 -2
  502. package/web/.next/server/chunks/ssr/_4c42590e._.js.map +1 -0
  503. package/web/.next/server/chunks/ssr/{_6c7faa01._.js → _507a8382._.js} +2 -2
  504. package/web/.next/server/chunks/ssr/_507a8382._.js.map +1 -0
  505. package/web/.next/server/chunks/ssr/_56b9d60f._.js +3 -0
  506. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -0
  507. package/web/.next/server/chunks/ssr/_5f69c13f._.js +4 -0
  508. package/web/.next/server/chunks/ssr/_5f69c13f._.js.map +1 -0
  509. package/web/.next/server/chunks/ssr/_78ff6f1d._.js +3 -0
  510. package/web/.next/server/chunks/ssr/_78ff6f1d._.js.map +1 -0
  511. package/web/.next/server/chunks/ssr/_7c5b97c6._.js +4 -0
  512. package/web/.next/server/chunks/ssr/_7c5b97c6._.js.map +1 -0
  513. package/web/.next/server/chunks/ssr/_8219712a._.js +3 -0
  514. package/web/.next/server/chunks/ssr/_8219712a._.js.map +1 -0
  515. package/web/.next/server/chunks/ssr/_82c57f10._.js +4 -0
  516. package/web/.next/server/chunks/ssr/_82c57f10._.js.map +1 -0
  517. package/web/.next/server/chunks/ssr/{_0020fddd._.js → _8b57edb8._.js} +2 -2
  518. package/web/.next/server/chunks/ssr/_8b57edb8._.js.map +1 -0
  519. package/web/.next/server/chunks/ssr/_8d733ce4._.js +3 -0
  520. package/web/.next/server/chunks/ssr/_8d733ce4._.js.map +1 -0
  521. package/web/.next/server/chunks/ssr/{_6256a985._.js → _9495d50b._.js} +3 -3
  522. package/web/.next/server/chunks/ssr/{_6256a985._.js.map → _9495d50b._.js.map} +1 -1
  523. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js +4 -0
  524. package/web/.next/server/chunks/ssr/_a0e3f7e4._.js.map +1 -0
  525. package/web/.next/server/chunks/ssr/_ac4a3873._.js +3 -0
  526. package/web/.next/server/chunks/ssr/_ac4a3873._.js.map +1 -0
  527. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js +4 -0
  528. package/web/.next/server/chunks/ssr/_ca0aa7f0._.js.map +1 -0
  529. package/web/.next/server/chunks/ssr/_cb5a021e._.js +4 -0
  530. package/web/.next/server/chunks/ssr/_cb5a021e._.js.map +1 -0
  531. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js +1 -1
  532. package/web/.next/server/chunks/ssr/_cfbd1d7e._.js.map +1 -1
  533. package/web/.next/server/chunks/ssr/_d4b20e29._.js +1 -1
  534. package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
  535. package/web/.next/server/chunks/ssr/_d86175ae._.js +4 -0
  536. package/web/.next/server/chunks/ssr/_d86175ae._.js.map +1 -0
  537. package/web/.next/server/chunks/ssr/_d8bedf13._.js +4 -0
  538. package/web/.next/server/chunks/ssr/_d8bedf13._.js.map +1 -0
  539. package/web/.next/server/chunks/ssr/_de71404e._.js +3 -0
  540. package/web/.next/server/chunks/ssr/_de71404e._.js.map +1 -0
  541. package/web/.next/server/chunks/ssr/{_2a9037e8._.js → _eb9467e9._.js} +3 -3
  542. package/web/.next/server/chunks/ssr/_eb9467e9._.js.map +1 -0
  543. package/web/.next/server/chunks/ssr/_fa7efce3._.js +6 -0
  544. package/web/.next/server/chunks/ssr/_fa7efce3._.js.map +1 -0
  545. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  546. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  547. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_global-chat-drawer-client_tsx_158c4b12._.js +3 -0
  548. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_global-chat-drawer-client_tsx_158c4b12._.js.map +1 -0
  549. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js +3 -0
  550. package/web/.next/server/chunks/ssr/node_modules__pnpm_8ec2c790._.js.map +1 -0
  551. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js +3 -0
  552. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_cdc632e3.js.map +1 -0
  553. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js +3 -0
  554. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_39ca0924.js.map +1 -0
  555. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_chat_page_tsx_85327270._.js +3 -0
  556. package/web/.next/server/chunks/ssr/src_presentation_web_app_(dashboard)_chat_page_tsx_85327270._.js.map +1 -0
  557. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  558. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +1 -1
  559. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js +3 -0
  560. package/web/.next/server/chunks/ssr/src_presentation_web_components_357e3eb0._.js.map +1 -0
  561. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  562. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  563. package/web/.next/server/middleware-build-manifest.js +3 -3
  564. package/web/.next/server/pages/500.html +2 -2
  565. package/web/.next/server/server-reference-manifest.js +1 -1
  566. package/web/.next/server/server-reference-manifest.json +1346 -562
  567. package/web/.next/static/chunks/0c38793438b8c038.js +1 -0
  568. package/web/.next/static/chunks/0e73b25a355804a2.js +5 -0
  569. package/web/.next/static/chunks/11091b676d1b3bd4.js +1 -0
  570. package/web/.next/static/chunks/16f6471485cbfed1.css +1 -0
  571. package/web/.next/static/chunks/22c459f1877b1e4f.js +1 -0
  572. package/web/.next/static/chunks/2354d39c63978576.js +1 -0
  573. package/web/.next/static/chunks/40b6bcf1a2de4a0f.js +1 -0
  574. package/web/.next/static/chunks/476ebad4abb27ee8.js +7 -0
  575. package/web/.next/static/chunks/487a3d47f76ba2ce.js +1 -0
  576. package/web/.next/static/chunks/4b2c4a5c35ebb70d.js +1 -0
  577. package/web/.next/static/chunks/5ae60a052ab5f437.js +5 -0
  578. package/web/.next/static/chunks/6a5c79587318fe1e.js +1 -0
  579. package/web/.next/static/chunks/{b113da1fbdb83ffa.js → 73b5be3394d27358.js} +2 -2
  580. package/web/.next/static/chunks/9dd319c237b73197.js +1 -0
  581. package/web/.next/static/chunks/b546fac6810f555b.js +1 -0
  582. package/web/.next/static/chunks/c80523e4d172cdea.js +3 -0
  583. package/web/.next/static/chunks/cd54b758f58061d0.js +1 -0
  584. package/web/.next/static/chunks/ce18a48f7d5d53c0.js +1 -0
  585. package/web/.next/static/chunks/{cfe4dc9904fcfddb.js → d0e04c4bd51d2553.js} +1 -1
  586. package/web/.next/static/chunks/e51493c981deb9fd.js +1 -0
  587. package/web/.next/static/chunks/ec7cd7e136a1b320.js +1 -0
  588. package/web/.next/static/chunks/f0b1a5ded6ab6885.js +1 -0
  589. package/web/.next/static/chunks/feed0046c419c228.js +5 -0
  590. package/web/.next/static/chunks/{turbopack-c2d183e05f30c7dc.js → turbopack-432ef324fc27240c.js} +1 -1
  591. package/web/package.json +7 -2
  592. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js +0 -3
  593. package/web/.next/server/chunks/[root-of-the-server]__c6e32a23._.js.map +0 -1
  594. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +0 -3
  595. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +0 -1
  596. package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js +0 -4
  597. package/web/.next/server/chunks/ssr/[root-of-the-server]__2138fa7e._.js.map +0 -1
  598. package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js +0 -4
  599. package/web/.next/server/chunks/ssr/[root-of-the-server]__29580090._.js.map +0 -1
  600. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js +0 -4
  601. package/web/.next/server/chunks/ssr/[root-of-the-server]__3ef34e4c._.js.map +0 -1
  602. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +0 -4
  603. package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +0 -1
  604. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +0 -4
  605. package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +0 -1
  606. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js +0 -7
  607. package/web/.next/server/chunks/ssr/[root-of-the-server]__aad040c0._.js.map +0 -1
  608. package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js +0 -4
  609. package/web/.next/server/chunks/ssr/[root-of-the-server]__c094882b._.js.map +0 -1
  610. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js +0 -3
  611. package/web/.next/server/chunks/ssr/[root-of-the-server]__d48c5b11._.js.map +0 -1
  612. package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js +0 -4
  613. package/web/.next/server/chunks/ssr/[root-of-the-server]__dac5dbf1._.js.map +0 -1
  614. package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js +0 -3
  615. package/web/.next/server/chunks/ssr/[root-of-the-server]__df7c1cd3._.js.map +0 -1
  616. package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js +0 -4
  617. package/web/.next/server/chunks/ssr/[root-of-the-server]__fae8b355._.js.map +0 -1
  618. package/web/.next/server/chunks/ssr/_0020fddd._.js.map +0 -1
  619. package/web/.next/server/chunks/ssr/_01046927._.js +0 -9
  620. package/web/.next/server/chunks/ssr/_01046927._.js.map +0 -1
  621. package/web/.next/server/chunks/ssr/_0c473fef._.js +0 -6
  622. package/web/.next/server/chunks/ssr/_0c473fef._.js.map +0 -1
  623. package/web/.next/server/chunks/ssr/_1b719e7f._.js +0 -4
  624. package/web/.next/server/chunks/ssr/_1b719e7f._.js.map +0 -1
  625. package/web/.next/server/chunks/ssr/_2a9037e8._.js.map +0 -1
  626. package/web/.next/server/chunks/ssr/_37e8548b._.js +0 -4
  627. package/web/.next/server/chunks/ssr/_37e8548b._.js.map +0 -1
  628. package/web/.next/server/chunks/ssr/_4093a637._.js.map +0 -1
  629. package/web/.next/server/chunks/ssr/_55d763e2._.js +0 -4
  630. package/web/.next/server/chunks/ssr/_55d763e2._.js.map +0 -1
  631. package/web/.next/server/chunks/ssr/_5b5dbf5b._.js +0 -3
  632. package/web/.next/server/chunks/ssr/_5b5dbf5b._.js.map +0 -1
  633. package/web/.next/server/chunks/ssr/_6c7faa01._.js.map +0 -1
  634. package/web/.next/server/chunks/ssr/_8fcc39d4._.js +0 -3
  635. package/web/.next/server/chunks/ssr/_8fcc39d4._.js.map +0 -1
  636. package/web/.next/server/chunks/ssr/_b71645b4._.js +0 -4
  637. package/web/.next/server/chunks/ssr/_b71645b4._.js.map +0 -1
  638. package/web/.next/server/chunks/ssr/_d8575088._.js +0 -3
  639. package/web/.next/server/chunks/ssr/_d8575088._.js.map +0 -1
  640. package/web/.next/server/chunks/ssr/_e9e9ed20._.js +0 -6
  641. package/web/.next/server/chunks/ssr/_e9e9ed20._.js.map +0 -1
  642. package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +0 -3
  643. package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +0 -1
  644. package/web/.next/server/chunks/ssr/src_presentation_web_1be4a9a5._.js +0 -3
  645. package/web/.next/server/chunks/ssr/src_presentation_web_1be4a9a5._.js.map +0 -1
  646. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +0 -3
  647. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +0 -1
  648. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +0 -3
  649. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +0 -1
  650. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +0 -3
  651. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +0 -1
  652. package/web/.next/static/chunks/067e63e1f8a471c7.js +0 -5
  653. package/web/.next/static/chunks/08baac5434d9528e.js +0 -13
  654. package/web/.next/static/chunks/176b3e6837dce4ad.js +0 -1
  655. package/web/.next/static/chunks/1dc8d2933f22de05.js +0 -1
  656. package/web/.next/static/chunks/2dfeeccc2f180ab8.js +0 -1
  657. package/web/.next/static/chunks/49057cf8cd37e262.js +0 -1
  658. package/web/.next/static/chunks/4cec255f2754e5ec.js +0 -1
  659. package/web/.next/static/chunks/56f68c783c480176.js +0 -1
  660. package/web/.next/static/chunks/601d93593f5f664f.js +0 -1
  661. package/web/.next/static/chunks/768e2db272a413cc.js +0 -1
  662. package/web/.next/static/chunks/9b8678597fa1db84.css +0 -1
  663. package/web/.next/static/chunks/b02205ef744953bc.js +0 -1
  664. package/web/.next/static/chunks/b70dd4985a814b27.js +0 -1
  665. package/web/.next/static/chunks/c28ae41d01ad3130.js +0 -1
  666. package/web/.next/static/chunks/db5dc8b848e7ddd1.js +0 -1
  667. package/web/.next/static/chunks/e860f0c546deeabc.js +0 -1
  668. package/web/.next/static/chunks/f66c996402a430f5.js +0 -1
  669. package/web/.next/static/chunks/fdd703b4cec873bb.js +0 -1
  670. /package/web/.next/static/{qifXEaEcnY1cbH8eHlEIN → VIJH9LQh8Ro1-nip3v-Am}/_buildManifest.js +0 -0
  671. /package/web/.next/static/{qifXEaEcnY1cbH8eHlEIN → VIJH9LQh8Ro1-nip3v-Am}/_clientMiddlewareManifest.json +0 -0
  672. /package/web/.next/static/{qifXEaEcnY1cbH8eHlEIN → VIJH9LQh8Ro1-nip3v-Am}/_ssgManifest.js +0 -0
@@ -0,0 +1,25 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: InteractiveAgentConfig.yaml
3
+ type: object
4
+ properties:
5
+ enabled:
6
+ type: boolean
7
+ default: true
8
+ description: "Whether the interactive agent Chat tab is enabled (default: true)"
9
+ autoTimeoutMinutes:
10
+ type: integer
11
+ minimum: -2147483648
12
+ maximum: 2147483647
13
+ default: 15
14
+ description: "Idle timeout in minutes before auto-stopping the agent (default: 15, range: 1-120)"
15
+ maxConcurrentSessions:
16
+ type: integer
17
+ minimum: -2147483648
18
+ maximum: 2147483647
19
+ default: 3
20
+ description: "Maximum number of concurrent active interactive sessions (default: 3)"
21
+ required:
22
+ - enabled
23
+ - autoTimeoutMinutes
24
+ - maxConcurrentSessions
25
+ description: Interactive agent chat tab configuration
@@ -0,0 +1,23 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: InteractiveMessage.yaml
3
+ type: object
4
+ properties:
5
+ featureId:
6
+ type: string
7
+ description: "Polymorphic scope key: feature UUID, 'repo-<id>', or 'global'. Future: rename to scopeId + scopeType."
8
+ sessionId:
9
+ type: string
10
+ description: Session ID during which this message was sent (optional)
11
+ role:
12
+ $ref: InteractiveMessageRole.yaml
13
+ description: "Author role: user or assistant"
14
+ content:
15
+ type: string
16
+ description: Full message content (finalised after streaming for assistant messages)
17
+ required:
18
+ - featureId
19
+ - role
20
+ - content
21
+ allOf:
22
+ - $ref: BaseEntity.yaml
23
+ description: A single chat message in a per-feature interactive agent session
@@ -0,0 +1,7 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: InteractiveMessageRole.yaml
3
+ type: string
4
+ enum:
5
+ - user
6
+ - assistant
7
+ description: Author role for an interactive chat message
@@ -0,0 +1,30 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: InteractiveSession.yaml
3
+ type: object
4
+ properties:
5
+ featureId:
6
+ $ref: UUID.yaml
7
+ description: "Polymorphic scope key: feature UUID, 'repo-<id>', or 'global'. Future: rename to scopeId + scopeType."
8
+ status:
9
+ $ref: InteractiveSessionStatus.yaml
10
+ description: Current lifecycle status of the interactive session
11
+ startedAt:
12
+ type: string
13
+ format: date-time
14
+ description: Timestamp when the agent process was spawned
15
+ stoppedAt:
16
+ type: string
17
+ format: date-time
18
+ description: Timestamp when the session ended (null if still active)
19
+ lastActivityAt:
20
+ type: string
21
+ format: date-time
22
+ description: Timestamp of last user message or agent stdout activity
23
+ required:
24
+ - featureId
25
+ - status
26
+ - startedAt
27
+ - lastActivityAt
28
+ allOf:
29
+ - $ref: BaseEntity.yaml
30
+ description: Per-feature interactive agent session record
@@ -0,0 +1,9 @@
1
+ $schema: https://json-schema.org/draft/2020-12/schema
2
+ $id: InteractiveSessionStatus.yaml
3
+ type: string
4
+ enum:
5
+ - booting
6
+ - ready
7
+ - stopped
8
+ - error
9
+ description: Lifecycle status of an interactive agent session
@@ -30,6 +30,9 @@ properties:
30
30
  type: boolean
31
31
  default: false
32
32
  description: "Whether first-run onboarding has been completed (default: false)"
33
+ interactiveAgent:
34
+ $ref: InteractiveAgentConfig.yaml
35
+ description: Interactive agent chat configuration (optional, defaults applied at runtime)
33
36
  required:
34
37
  - models
35
38
  - user
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import type { AgentType, AgentConfig } from '../../../../domain/generated/output.js';
20
20
  import type { IAgentExecutor } from './agent-executor.interface.js';
21
+ import type { IInteractiveAgentExecutor } from './interactive-agent-executor.interface.js';
21
22
  /**
22
23
  * CLI binary info for an agent executor, used for version detection.
23
24
  */
@@ -67,5 +68,21 @@ export interface IAgentExecutorFactory {
67
68
  * @returns Array of model identifier strings, or empty array for unknown/dev agents
68
69
  */
69
70
  getSupportedModels(agentType: AgentType): string[];
71
+ /**
72
+ * Create an interactive executor for multi-turn agent sessions.
73
+ *
74
+ * @param agentType - The type of agent to create an interactive executor for
75
+ * @param authConfig - Agent authentication and configuration
76
+ * @returns A configured interactive agent executor
77
+ * @throws Error if the agent type does not support interactive sessions
78
+ */
79
+ createInteractiveExecutor(agentType: AgentType, authConfig: AgentConfig): IInteractiveAgentExecutor;
80
+ /**
81
+ * Check whether the given agent type supports interactive sessions.
82
+ *
83
+ * @param agentType - The agent type to query
84
+ * @returns true if createInteractiveExecutor can be called for this type
85
+ */
86
+ supportsInteractive(agentType: AgentType): boolean;
70
87
  }
71
88
  //# sourceMappingURL=agent-executor-factory.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-executor-factory.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/agent-executor-factory.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,SAAS,CAAC;IACrB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9E;;;;OAIG;IACH,kBAAkB,IAAI,SAAS,EAAE,CAAC;IAElC;;;;;OAKG;IACH,UAAU,IAAI,YAAY,EAAE,CAAC;IAE7B;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAAC;CACpD"}
1
+ {"version":3,"file":"agent-executor-factory.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/agent-executor-factory.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,SAAS,EAAE,SAAS,CAAC;IACrB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,GAAG,cAAc,CAAC;IAE9E;;;;OAIG;IACH,kBAAkB,IAAI,SAAS,EAAE,CAAC;IAElC;;;;;OAKG;IACH,UAAU,IAAI,YAAY,EAAE,CAAC;IAE7B;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAAC;IAEnD;;;;;;;OAOG;IACH,yBAAyB,CACvB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,WAAW,GACtB,yBAAyB,CAAC;IAE7B;;;;;OAKG;IACH,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;CACpD"}
@@ -15,4 +15,5 @@ export type { IFeatureAgentProcessService } from './feature-agent-process.interf
15
15
  export type { IStructuredAgentCaller, StructuredCallOptions, } from './structured-agent-caller.interface.js';
16
16
  export { StructuredCallError } from './structured-call-error.js';
17
17
  export type { IAgentSessionRepository, ListSessionsOptions, GetSessionOptions, } from './agent-session-repository.interface.js';
18
+ export type { IInteractiveAgentExecutor, InteractiveAgentOptions, InteractiveAgentEvent, InteractiveAgentSessionHandle, } from './interactive-agent-executor.interface.js';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACjG,YAAY,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChG,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,YAAY,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACxF,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACjG,YAAY,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,YAAY,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChG,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,YAAY,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,YAAY,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACxF,YAAY,EACV,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,2CAA2C,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Interactive Agent Executor Interface
3
+ *
4
+ * Output port for creating and managing interactive agent sessions.
5
+ * Provides clean domain types (InteractiveAgentEvent, InteractiveAgentSessionHandle)
6
+ * that decouple the application layer from any SDK specifics.
7
+ *
8
+ * Following Clean Architecture:
9
+ * - Application layer depends on this interface and its domain types
10
+ * - Infrastructure layer provides concrete implementations
11
+ * - No SDK types leak through this boundary
12
+ */
13
+ /** Options for creating/resuming an interactive agent session. */
14
+ export interface InteractiveAgentOptions {
15
+ /** Absolute worktree path (CWD for agent) */
16
+ cwd: string;
17
+ /** Model override (e.g. 'claude-sonnet-4-6') */
18
+ model?: string;
19
+ /** Feature context string to append to system prompt */
20
+ systemPrompt?: string;
21
+ }
22
+ /** Event emitted by an interactive agent session stream. */
23
+ export interface InteractiveAgentEvent {
24
+ type: 'delta' | 'tool_use' | 'tool_result' | 'status' | 'done' | 'error' | 'init' | 'api_retry' | 'rate_limit' | 'task_started' | 'task_progress' | 'task_done';
25
+ content?: string;
26
+ label?: string;
27
+ detail?: string;
28
+ /** Usage/cost metadata (attached to 'done' events) */
29
+ usage?: {
30
+ costUsd?: number;
31
+ inputTokens?: number;
32
+ outputTokens?: number;
33
+ numTurns?: number;
34
+ durationMs?: number;
35
+ };
36
+ }
37
+ /** Handle to a live interactive agent session. */
38
+ export interface InteractiveAgentSessionHandle {
39
+ /** The agent's session ID (used for resumption) */
40
+ readonly sessionId: string;
41
+ /** Send a user message to the agent */
42
+ send(message: string): Promise<void>;
43
+ /** Iterate response events from the agent */
44
+ stream(): AsyncIterable<InteractiveAgentEvent>;
45
+ /** Terminate the session */
46
+ close(): Promise<void>;
47
+ }
48
+ /** Executor interface for interactive agent sessions. */
49
+ export interface IInteractiveAgentExecutor {
50
+ createSession(options: InteractiveAgentOptions): Promise<InteractiveAgentSessionHandle>;
51
+ resumeSession(sessionId: string, options: InteractiveAgentOptions): Promise<InteractiveAgentSessionHandle>;
52
+ }
53
+ //# sourceMappingURL=interactive-agent-executor.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-agent-executor.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/agents/interactive-agent-executor.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,kEAAkE;AAClE,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,IAAI,EACA,OAAO,GACP,UAAU,GACV,aAAa,GACb,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,WAAW,GACX,YAAY,GACZ,cAAc,GACd,eAAe,GACf,WAAW,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,6CAA6C;IAC7C,MAAM,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAC/C,4BAA4B;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACxF,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Interactive Agent Executor Interface
3
+ *
4
+ * Output port for creating and managing interactive agent sessions.
5
+ * Provides clean domain types (InteractiveAgentEvent, InteractiveAgentSessionHandle)
6
+ * that decouple the application layer from any SDK specifics.
7
+ *
8
+ * Following Clean Architecture:
9
+ * - Application layer depends on this interface and its domain types
10
+ * - Infrastructure layer provides concrete implementations
11
+ * - No SDK types leak through this boundary
12
+ */
13
+ export {};
@@ -6,4 +6,6 @@
6
6
  export type { IFeatureRepository, FeatureListFilters } from './feature-repository.interface.js';
7
7
  export type { ISettingsRepository } from './settings.repository.interface.js';
8
8
  export type { IRepositoryRepository } from './repository-repository.interface.js';
9
+ export type { IInteractiveSessionRepository } from './interactive-session-repository.interface.js';
10
+ export type { IInteractiveMessageRepository } from './interactive-message-repository.interface.js';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAChG,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAChG,YAAY,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,YAAY,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AACnG,YAAY,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Interactive Message Repository Interface
3
+ *
4
+ * Output port for InteractiveMessage persistence operations.
5
+ *
6
+ * Following Clean Architecture:
7
+ * - Domain and Application layers depend on this interface
8
+ * - Infrastructure layer provides the SQLite implementation
9
+ */
10
+ import type { InteractiveMessage } from '../../../../domain/generated/output.js';
11
+ /**
12
+ * Repository interface for InteractiveMessage entity persistence.
13
+ */
14
+ export interface IInteractiveMessageRepository {
15
+ /**
16
+ * Persist a new message record.
17
+ */
18
+ create(message: InteractiveMessage): Promise<void>;
19
+ /**
20
+ * Find all messages for a feature, ordered by created_at ASC.
21
+ * Messages are scoped by featureId (not sessionId) for cross-session continuity.
22
+ *
23
+ * @param featureId - Polymorphic scope key: may be a spec ID, repo ID, or any
24
+ * future entity that owns an interactive chat. Not a FK to a single table.
25
+ * @param limit - Maximum number of messages to return (default 200)
26
+ */
27
+ findByFeatureId(featureId: string, limit?: number): Promise<InteractiveMessage[]>;
28
+ /**
29
+ * Find all messages for a specific session, ordered by created_at ASC.
30
+ */
31
+ findBySessionId(sessionId: string): Promise<InteractiveMessage[]>;
32
+ /**
33
+ * Delete all messages for a feature. Used for "clear chat" functionality.
34
+ */
35
+ deleteByFeatureId(featureId: string): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=interactive-message-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-message-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/interactive-message-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAElF;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAElE;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Interactive Message Repository Interface
3
+ *
4
+ * Output port for InteractiveMessage persistence operations.
5
+ *
6
+ * Following Clean Architecture:
7
+ * - Domain and Application layers depend on this interface
8
+ * - Infrastructure layer provides the SQLite implementation
9
+ */
10
+ export {};
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Interactive Session Repository Interface
3
+ *
4
+ * Output port for InteractiveSession persistence operations.
5
+ *
6
+ * Following Clean Architecture:
7
+ * - Domain and Application layers depend on this interface
8
+ * - Infrastructure layer provides the SQLite implementation
9
+ */
10
+ import type { InteractiveSession, InteractiveSessionStatus } from '../../../../domain/generated/output.js';
11
+ /**
12
+ * Repository interface for InteractiveSession entity persistence.
13
+ */
14
+ export interface IInteractiveSessionRepository {
15
+ /**
16
+ * Create a new interactive session record.
17
+ */
18
+ create(session: InteractiveSession): Promise<void>;
19
+ /**
20
+ * Find a session by its unique ID.
21
+ */
22
+ findById(id: string): Promise<InteractiveSession | null>;
23
+ /**
24
+ * Find the most recent session for a given feature.
25
+ *
26
+ * @param featureId - Polymorphic scope key: may be a spec ID, repo ID, or any
27
+ * future entity that owns an interactive chat. Not a FK to a single table.
28
+ */
29
+ findByFeatureId(featureId: string): Promise<InteractiveSession | null>;
30
+ /**
31
+ * Find all sessions with status 'booting' or 'ready'.
32
+ * Used for concurrent session cap enforcement and zombie cleanup.
33
+ */
34
+ findAllActive(): Promise<InteractiveSession[]>;
35
+ /**
36
+ * Update session status and optionally set stoppedAt.
37
+ */
38
+ updateStatus(id: string, status: InteractiveSessionStatus, stoppedAt?: Date): Promise<void>;
39
+ /**
40
+ * Update the lastActivityAt timestamp for a session.
41
+ */
42
+ updateLastActivity(id: string, lastActivityAt: Date): Promise<void>;
43
+ /**
44
+ * Mark all sessions with status 'booting' or 'ready' as 'stopped'.
45
+ * Called on server startup to clean up zombie sessions from prior restart.
46
+ */
47
+ markAllActiveStopped(): Promise<void>;
48
+ /**
49
+ * Count sessions with status 'booting' or 'ready'.
50
+ * Used to enforce the concurrent session cap.
51
+ */
52
+ countActiveSessions(): Promise<number>;
53
+ }
54
+ //# sourceMappingURL=interactive-session-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-session-repository.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAEzD;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAEvE;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE/C;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5F;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Interactive Session Repository Interface
3
+ *
4
+ * Output port for InteractiveSession persistence operations.
5
+ *
6
+ * Following Clean Architecture:
7
+ * - Domain and Application layers depend on this interface
8
+ * - Infrastructure layer provides the SQLite implementation
9
+ */
10
+ export {};
@@ -19,4 +19,5 @@ export type { IDaemonService, DaemonState } from './daemon-service.interface.js'
19
19
  export type { IDeploymentService, DeploymentStatus } from './deployment-service.interface.js';
20
20
  export type { IGitHubRepositoryService, GitHubRepo, ListUserRepositoriesOptions, CloneOptions, ParsedGitHubUrl, } from './github-repository-service.interface.js';
21
21
  export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, } from './github-repository-service.interface.js';
22
+ export type { IInteractiveSessionService, StreamChunk, UnsubscribeFn, ChatState, } from './interactive-session-service.interface.js';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACnF,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACjG,YAAY,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,YAAY,EACV,wBAAwB,EACxB,UAAU,EACV,2BAA2B,EAC3B,YAAY,EACZ,eAAe,GAChB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,0BAA0B,EAC1B,WAAW,EACX,aAAa,EACb,SAAS,GACV,MAAM,4CAA4C,CAAC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Interactive Session Service Interface
3
+ *
4
+ * Output port for managing per-feature interactive agent sessions.
5
+ * Handles session lifecycle (start, stop), message I/O, and real-time
6
+ * stdout streaming to SSE consumers.
7
+ *
8
+ * Following Clean Architecture:
9
+ * - Application layer depends on this interface
10
+ * - Infrastructure layer provides the concrete implementation (singleton)
11
+ */
12
+ import type { InteractiveSession, InteractiveMessage } from '../../../../domain/generated/output.js';
13
+ /**
14
+ * A single streaming chunk forwarded from agent stdout to an SSE consumer.
15
+ */
16
+ export interface StreamChunk {
17
+ /** Incremental output text from the agent */
18
+ delta: string;
19
+ /** True when the agent has finished this response turn */
20
+ done: boolean;
21
+ /** Optional log entry for tool use / thinking events (shown as status indicator) */
22
+ log?: string;
23
+ /** Structured activity event for rich rendering in the thread */
24
+ activity?: StreamActivity;
25
+ }
26
+ /**
27
+ * A structured activity event emitted during agent execution.
28
+ * Rendered as a distinct inline entry in the chat thread.
29
+ */
30
+ export interface StreamActivity {
31
+ kind: 'tool_use' | 'tool_result' | 'thinking' | 'system';
32
+ /** Tool name or system event label */
33
+ label: string;
34
+ /** Human-readable detail (file path, command, pattern, etc.) */
35
+ detail?: string;
36
+ }
37
+ /**
38
+ * Function returned by subscribe() to remove the listener.
39
+ */
40
+ export type UnsubscribeFn = () => void;
41
+ /**
42
+ * Chat state returned by getChatState — single response for the frontend.
43
+ */
44
+ export interface ChatState {
45
+ /** All persisted messages for the feature, ordered by created_at ASC */
46
+ messages: InteractiveMessage[];
47
+ /** Status of the active session (null if no session exists) */
48
+ sessionStatus: string | null;
49
+ /** In-progress streaming text from the agent (null when idle) */
50
+ streamingText: string | null;
51
+ /** Session info for the toolbar (null if no active session) */
52
+ sessionInfo: SessionInfo | null;
53
+ }
54
+ /** Live session metadata for the frontend toolbar. */
55
+ export interface SessionInfo {
56
+ pid: number | null;
57
+ sessionId: string | null;
58
+ model: string | null;
59
+ startedAt: string;
60
+ idleTimeoutMinutes: number;
61
+ lastActivityAt: string;
62
+ }
63
+ /**
64
+ * Service interface for interactive session lifecycle management.
65
+ *
66
+ * Implementations are expected to be singletons: they maintain in-memory
67
+ * state (process handles, timers, subscriber maps) across multiple HTTP
68
+ * requests for the duration of the server process.
69
+ *
70
+ * **Polymorphic `featureId` scope key:** The `featureId` parameter used
71
+ * throughout this interface is a polymorphic scope key that determines
72
+ * message and session isolation:
73
+ * - Feature chat: actual feature UUID (e.g. `"feat-abc123"`)
74
+ * - Repository chat: repo identifier (e.g. `"repo-<repoId>"`)
75
+ * - Global chat: literal string `"global"`
76
+ *
77
+ * All messages and sessions are scoped by this key regardless of chat type.
78
+ *
79
+ * @todo Consider renaming to `scopeId` with a `scopeType` discriminator
80
+ * for better type safety and clarity.
81
+ */
82
+ export interface IInteractiveSessionService {
83
+ /**
84
+ * Start a new interactive session for the given feature.
85
+ * Creates a DB record (status=booting), spawns the agent process with
86
+ * the feature worktree as CWD, injects the feature context prompt, and
87
+ * waits for the agent's first response before returning.
88
+ *
89
+ * @param featureId - The feature to associate the session with
90
+ * @param worktreePath - Absolute path to the feature worktree (CWD for the agent)
91
+ * @returns The newly created session record (status may still be 'booting')
92
+ * @throws ConcurrentSessionLimitError when the configured cap is reached
93
+ */
94
+ startSession(featureId: string, worktreePath: string, model?: string, agentType?: string): Promise<InteractiveSession>;
95
+ /**
96
+ * Stop an active session: send SIGTERM to the process, cancel the idle
97
+ * timer, and mark the DB record as stopped. Idempotent — calling on an
98
+ * already-stopped session is a no-op.
99
+ *
100
+ * @param sessionId - The session to stop
101
+ */
102
+ stopSession(sessionId: string): Promise<void>;
103
+ /**
104
+ * Send a user message to the agent stdin and persist it to the DB.
105
+ * Resets the idle timeout clock. Returns the persisted message record.
106
+ *
107
+ * @param sessionId - The target session
108
+ * @param content - Message text (max 32 KB)
109
+ * @returns The persisted InteractiveMessage
110
+ * @throws Error if the session is not in 'ready' status
111
+ */
112
+ sendMessage(sessionId: string, content: string): Promise<InteractiveMessage>;
113
+ /**
114
+ * Return all messages for the feature, ordered by created_at ASC.
115
+ * History is scoped per feature (not per session) for cross-session continuity.
116
+ *
117
+ * @param featureId - The feature whose message history to retrieve
118
+ * @param limit - Max messages to return (default 200)
119
+ */
120
+ getMessages(featureId: string, limit?: number): Promise<InteractiveMessage[]>;
121
+ /**
122
+ * Return the most recent session for the given ID, or null if not found.
123
+ *
124
+ * @param sessionId - The session ID to look up
125
+ */
126
+ getSession(sessionId: string): Promise<InteractiveSession | null>;
127
+ /**
128
+ * Delete all messages for a feature (clear chat history).
129
+ *
130
+ * @param featureId - The feature whose messages to delete
131
+ */
132
+ clearMessages(featureId: string): Promise<void>;
133
+ /**
134
+ * Subscribe to real-time stdout chunks for a session.
135
+ * The callback is invoked with each agent output chunk as it arrives and
136
+ * once more with done=true when the turn ends.
137
+ *
138
+ * @param sessionId - The session to subscribe to
139
+ * @param onChunk - Callback invoked with each chunk
140
+ * @returns An unsubscribe function; call it to stop receiving events
141
+ */
142
+ subscribe(sessionId: string, onChunk: (chunk: StreamChunk) => void): UnsubscribeFn;
143
+ /**
144
+ * Send a user message for a feature. The service handles session lifecycle:
145
+ * - Persists the user message to DB immediately
146
+ * - If session is ready: sends to agent
147
+ * - If session is booting: queues the message
148
+ * - If no session: boots one and queues the message
149
+ *
150
+ * @returns The persisted user message
151
+ */
152
+ sendUserMessage(featureId: string, content: string, worktreePath: string): Promise<InteractiveMessage>;
153
+ /**
154
+ * Get the complete chat state for a feature in a single call.
155
+ * Merges DB messages with any in-flight streaming content.
156
+ */
157
+ getChatState(featureId: string): Promise<ChatState>;
158
+ /**
159
+ * Subscribe to real-time chunks for a feature's active session.
160
+ * Resolves the active session internally.
161
+ */
162
+ subscribeByFeature(featureId: string, onChunk: (chunk: StreamChunk) => void): UnsubscribeFn;
163
+ /**
164
+ * Stop the active session for a feature. Kills the agent process.
165
+ * Idempotent — no-op if no active session exists.
166
+ */
167
+ stopByFeature(featureId: string): Promise<void>;
168
+ }
169
+ //# sourceMappingURL=interactive-session-service.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-session-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/interactive-session-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzD,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,wEAAwE;IACxE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,+DAA+D;IAC/D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iEAAiE;IACjE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC;AAED,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;OAUG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;;;;;OAQG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE7E;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAE9E;;;;OAIG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAElE;;;;OAIG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,aAAa,CAAC;IAInF;;;;;;;;OAQG;IACH,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEpD;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,aAAa,CAAC;IAE5F;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Interactive Session Service Interface
3
+ *
4
+ * Output port for managing per-feature interactive agent sessions.
5
+ * Handles session lifecycle (start, stop), message I/O, and real-time
6
+ * stdout streaming to SSE consumers.
7
+ *
8
+ * Following Clean Architecture:
9
+ * - Application layer depends on this interface
10
+ * - Infrastructure layer provides the concrete implementation (singleton)
11
+ */
12
+ export {};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Get Interactive Chat State Use Case
3
+ *
4
+ * Returns the complete chat state for a feature: messages, session status,
5
+ * in-flight streaming text, and session metadata. Single call for the frontend.
6
+ */
7
+ import type { IInteractiveSessionService, ChatState } from '../../ports/output/services/interactive-session-service.interface.js';
8
+ /**
9
+ * Input for getting interactive chat state.
10
+ */
11
+ export interface GetInteractiveChatStateInput {
12
+ featureId: string;
13
+ }
14
+ /**
15
+ * Use case for retrieving the complete chat state for a feature.
16
+ *
17
+ * Algorithm:
18
+ * 1. Delegate to service.getChatState
19
+ * 2. Return merged state (messages + session status + streaming text)
20
+ */
21
+ export declare class GetInteractiveChatStateUseCase {
22
+ private readonly service;
23
+ constructor(service: IInteractiveSessionService);
24
+ execute(input: GetInteractiveChatStateInput): Promise<ChatState>;
25
+ }
26
+ //# sourceMappingURL=get-interactive-chat-state.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-interactive-chat-state.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/interactive/get-interactive-chat-state.use-case.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,0BAA0B,EAC1B,SAAS,EACV,MAAM,sEAAsE,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,qBACa,8BAA8B;IAGvC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,0BAA0B;IAGhD,OAAO,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,SAAS,CAAC;CAGvE"}