@shepai/cli 1.175.1-pr537.fc6a92c → 1.176.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (764) hide show
  1. package/apis/json-schema/AgentConfig.yaml +0 -3
  2. package/apis/json-schema/AgentType.yaml +0 -1
  3. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +1 -3
  4. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
  5. package/dist/packages/core/src/application/ports/output/agents/agent-run-repository.interface.d.ts +0 -7
  6. package/dist/packages/core/src/application/ports/output/agents/agent-run-repository.interface.d.ts.map +1 -1
  7. package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts +0 -7
  8. package/dist/packages/core/src/application/ports/output/agents/phase-timing-repository.interface.d.ts.map +1 -1
  9. package/dist/packages/core/src/application/ports/output/services/index.d.ts +0 -3
  10. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts +1 -3
  12. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.js +4 -6
  14. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts +1 -3
  15. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts.map +1 -1
  16. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.js +4 -6
  17. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +1 -1
  18. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +1 -3
  19. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +7 -9
  21. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +2 -2
  22. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts +2 -5
  23. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts.map +1 -1
  24. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.js +6 -28
  25. package/dist/packages/core/src/domain/generated/output.d.ts +35 -42
  26. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  27. package/dist/packages/core/src/domain/generated/output.js +1 -7
  28. package/dist/packages/core/src/infrastructure/di/container.d.ts +0 -3
  29. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  30. package/dist/packages/core/src/infrastructure/di/container.js +501 -27
  31. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.d.ts.map +1 -1
  32. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/agent-run.mapper.js +2 -2
  33. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +0 -1
  34. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
  35. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -6
  36. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.d.ts +0 -1
  37. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.d.ts.map +1 -1
  38. package/dist/packages/core/src/infrastructure/repositories/agent-run.repository.js +0 -8
  39. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts +0 -1
  40. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.d.ts.map +1 -1
  41. package/dist/packages/core/src/infrastructure/repositories/sqlite-phase-timing.repository.js +3 -11
  42. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
  43. package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +2 -3
  44. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.d.ts.map +1 -1
  45. package/dist/packages/core/src/infrastructure/services/agents/common/agent-executor-factory.service.js +0 -10
  46. package/dist/packages/core/src/infrastructure/services/agents/common/agent-runner.service.d.ts.map +1 -1
  47. package/dist/packages/core/src/infrastructure/services/agents/common/agent-runner.service.js +4 -4
  48. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts +7 -3
  49. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  50. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +35 -19
  51. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts +7 -3
  52. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.d.ts.map +1 -1
  53. package/dist/packages/core/src/infrastructure/services/agents/common/executors/codex-cli-executor.service.js +30 -17
  54. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts +7 -3
  55. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.d.ts.map +1 -1
  56. package/dist/packages/core/src/infrastructure/services/agents/common/executors/copilot-cli-executor.service.js +34 -23
  57. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts +7 -3
  58. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.d.ts.map +1 -1
  59. package/dist/packages/core/src/infrastructure/services/agents/common/executors/cursor-executor.service.js +16 -21
  60. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts +7 -3
  61. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.d.ts.map +1 -1
  62. package/dist/packages/core/src/infrastructure/services/agents/common/executors/gemini-cli-executor.service.js +33 -21
  63. package/dist/packages/core/src/infrastructure/services/agents/common/types.d.ts +0 -5
  64. package/dist/packages/core/src/infrastructure/services/agents/common/types.d.ts.map +1 -1
  65. package/dist/packages/core/src/infrastructure/services/agents/common/types.js +1 -5
  66. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +1 -1
  67. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-process.service.js +1 -1
  68. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -1
  69. package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +7 -16
  70. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts +47 -44
  71. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  72. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +853 -121
  73. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +70 -19
  74. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
  75. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +991 -44
  76. package/dist/packages/core/src/infrastructure/services/notifications/notification-watcher.service.js +3 -3
  77. package/dist/packages/core/src/infrastructure/services/pr-sync/pr-sync-watcher.service.js +1 -1
  78. package/dist/src/presentation/cli/commands/agent/show.command.js +2 -3
  79. package/dist/src/presentation/cli/commands/feat/new.command.js +1 -1
  80. package/dist/src/presentation/cli/commands/feat/show.command.js +1 -1
  81. package/dist/src/presentation/tui/prompts/agent-select.prompt.d.ts.map +1 -1
  82. package/dist/src/presentation/tui/prompts/agent-select.prompt.js +0 -5
  83. package/dist/src/presentation/web/app/actions/agent-setup-flag.d.ts.map +1 -1
  84. package/dist/src/presentation/web/app/actions/agent-setup-flag.js +2 -3
  85. package/dist/src/presentation/web/app/actions/check-agent-auth.d.ts.map +1 -1
  86. package/dist/src/presentation/web/app/actions/check-agent-auth.js +2 -18
  87. package/dist/src/presentation/web/app/actions/get-all-agent-models.d.ts.map +1 -1
  88. package/dist/src/presentation/web/app/actions/get-all-agent-models.js +0 -2
  89. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.d.ts.map +1 -1
  90. package/dist/src/presentation/web/app/actions/get-feature-phase-timings.js +3 -4
  91. package/dist/src/presentation/web/app/actions/get-supported-models.js +3 -2
  92. package/dist/src/presentation/web/app/actions/get-workflow-defaults.d.ts.map +1 -1
  93. package/dist/src/presentation/web/app/actions/get-workflow-defaults.js +2 -3
  94. package/dist/src/presentation/web/app/actions/open-ide.js +3 -2
  95. package/dist/src/presentation/web/app/actions/open-shell.d.ts.map +1 -1
  96. package/dist/src/presentation/web/app/actions/open-shell.js +0 -15
  97. package/dist/src/presentation/web/app/actions/update-model.d.ts.map +1 -1
  98. package/dist/src/presentation/web/app/actions/update-model.js +2 -3
  99. package/dist/src/presentation/web/app/api/agent-events/health/route.d.ts.map +1 -1
  100. package/dist/src/presentation/web/app/api/agent-events/health/route.js +12 -9
  101. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +14 -7
  102. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  103. package/dist/src/presentation/web/app/api/agent-events/route.js +301 -20
  104. package/dist/src/presentation/web/app/api/attachments/preview/route.d.ts.map +1 -1
  105. package/dist/src/presentation/web/app/api/attachments/preview/route.js +1 -5
  106. package/dist/src/presentation/web/app/api/attachments/upload/route.d.ts.map +1 -1
  107. package/dist/src/presentation/web/app/api/attachments/upload/route.js +2 -2
  108. package/dist/src/presentation/web/app/api/attachments/upload-from-path/route.d.ts.map +1 -1
  109. package/dist/src/presentation/web/app/api/attachments/upload-from-path/route.js +2 -2
  110. package/dist/src/presentation/web/app/api/cli-upgrade/route.d.ts.map +1 -1
  111. package/dist/src/presentation/web/app/api/cli-upgrade/route.js +1 -3
  112. package/dist/src/presentation/web/app/api/deployment-logs/route.d.ts.map +1 -1
  113. package/dist/src/presentation/web/app/api/deployment-logs/route.js +6 -2
  114. package/dist/src/presentation/web/app/api/dialog/pick-files/route.d.ts.map +1 -1
  115. package/dist/src/presentation/web/app/api/dialog/pick-files/route.js +2 -3
  116. package/dist/src/presentation/web/app/api/directory/list/route.d.ts.map +1 -1
  117. package/dist/src/presentation/web/app/api/directory/list/route.js +5 -8
  118. package/dist/src/presentation/web/app/api/feature-logs/route.d.ts.map +1 -1
  119. package/dist/src/presentation/web/app/api/feature-logs/route.js +6 -2
  120. package/dist/src/presentation/web/app/api/graph-data/route.d.ts +4 -1
  121. package/dist/src/presentation/web/app/api/graph-data/route.d.ts.map +1 -1
  122. package/dist/src/presentation/web/app/api/graph-data/route.js +2 -8
  123. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/mark-read/route.d.ts.map +1 -1
  124. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/mark-read/route.js +3 -2
  125. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.d.ts.map +1 -1
  126. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.js +10 -5
  127. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.d.ts.map +1 -1
  128. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/respond/route.js +5 -5
  129. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.d.ts.map +1 -1
  130. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stop/route.js +3 -2
  131. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
  132. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +6 -2
  133. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/route.d.ts.map +1 -1
  134. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/route.js +3 -2
  135. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.d.ts.map +1 -1
  136. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/messages/route.js +10 -5
  137. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.d.ts.map +1 -1
  138. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/route.js +6 -3
  139. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.d.ts.map +1 -1
  140. package/dist/src/presentation/web/app/api/interactive/sessions/[id]/stream/route.js +6 -2
  141. package/dist/src/presentation/web/app/api/interactive/sessions/route.d.ts.map +1 -1
  142. package/dist/src/presentation/web/app/api/interactive/sessions/route.js +3 -2
  143. package/dist/src/presentation/web/app/api/npm-version/route.d.ts.map +1 -1
  144. package/dist/src/presentation/web/app/api/npm-version/route.js +2 -2
  145. package/dist/src/presentation/web/app/api/sessions/route.d.ts +15 -1
  146. package/dist/src/presentation/web/app/api/sessions/route.d.ts.map +1 -1
  147. package/dist/src/presentation/web/app/api/sessions/route.js +3 -2
  148. package/dist/src/presentation/web/app/api/sessions-batch/route.d.ts +8 -1
  149. package/dist/src/presentation/web/app/api/sessions-batch/route.d.ts.map +1 -1
  150. package/dist/src/presentation/web/app/api/sessions-batch/route.js +3 -2
  151. package/dist/src/presentation/web/app/api/tools/[id]/install/route.d.ts.map +1 -1
  152. package/dist/src/presentation/web/app/api/tools/[id]/install/route.js +2 -2
  153. package/dist/src/presentation/web/app/api/tools/[id]/install/stream/route.d.ts.map +1 -1
  154. package/dist/src/presentation/web/app/api/tools/[id]/install/stream/route.js +1 -3
  155. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.d.ts.map +1 -1
  156. package/dist/src/presentation/web/app/api/tools/[id]/launch/route.js +2 -2
  157. package/dist/src/presentation/web/app/api/tools/route.d.ts.map +1 -1
  158. package/dist/src/presentation/web/app/api/tools/route.js +2 -2
  159. package/dist/src/presentation/web/app/layout.d.ts.map +1 -1
  160. package/dist/src/presentation/web/app/layout.js +1 -2
  161. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.d.ts.map +1 -1
  162. package/dist/src/presentation/web/components/common/base-drawer/base-drawer.js +0 -12
  163. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.d.ts.map +1 -1
  164. package/dist/src/presentation/web/components/common/control-center-drawer/adopt-branch-drawer.js +2 -2
  165. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.d.ts.map +1 -1
  166. package/dist/src/presentation/web/components/common/drawer-action-bar/drawer-action-bar.js +1 -1
  167. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  168. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +1 -1
  169. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts +1 -1
  170. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.d.ts.map +1 -1
  171. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.js +0 -2
  172. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.d.ts.map +1 -1
  173. package/dist/src/presentation/web/components/common/feature-node/agent-type-icons.stories.js +0 -1
  174. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  175. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +1 -1
  176. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  177. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +3 -7
  178. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.d.ts.map +1 -1
  179. package/dist/src/presentation/web/components/features/settings/ModelPicker/index.js +2 -2
  180. package/dist/src/presentation/web/components/features/settings/agent-settings-section.d.ts.map +1 -1
  181. package/dist/src/presentation/web/components/features/settings/agent-settings-section.js +0 -1
  182. package/dist/src/presentation/web/hooks/use-agent-events.js +1 -5
  183. package/dist/src/presentation/web/lib/is-same-shep-instance.d.ts.map +1 -1
  184. package/dist/src/presentation/web/lib/is-same-shep-instance.js +5 -2
  185. package/dist/translations/ar/common.json +1 -0
  186. package/dist/translations/ar/tui.json +0 -4
  187. package/dist/translations/ar/web.json +0 -1
  188. package/dist/translations/de/common.json +1 -0
  189. package/dist/translations/de/tui.json +0 -1
  190. package/dist/translations/de/web.json +0 -1
  191. package/dist/translations/en/common.json +1 -0
  192. package/dist/translations/en/tui.json +0 -4
  193. package/dist/translations/en/web.json +0 -1
  194. package/dist/translations/es/common.json +1 -0
  195. package/dist/translations/es/tui.json +0 -4
  196. package/dist/translations/es/web.json +0 -1
  197. package/dist/translations/fr/common.json +1 -0
  198. package/dist/translations/fr/tui.json +0 -4
  199. package/dist/translations/fr/web.json +0 -1
  200. package/dist/translations/he/common.json +1 -0
  201. package/dist/translations/he/tui.json +0 -4
  202. package/dist/translations/he/web.json +0 -1
  203. package/dist/translations/pt/common.json +1 -0
  204. package/dist/translations/pt/tui.json +0 -4
  205. package/dist/translations/pt/web.json +0 -1
  206. package/dist/translations/ru/common.json +1 -0
  207. package/dist/translations/ru/tui.json +0 -4
  208. package/dist/translations/ru/web.json +0 -1
  209. package/dist/translations/uk/cli.json +631 -0
  210. package/dist/translations/uk/common.json +56 -0
  211. package/dist/translations/uk/tui.json +134 -0
  212. package/dist/translations/uk/web.json +615 -0
  213. package/dist/tsconfig.build.tsbuildinfo +1 -1
  214. package/package.json +3 -7
  215. package/web/.next/BUILD_ID +1 -1
  216. package/web/.next/build-manifest.json +2 -2
  217. package/web/.next/fallback-build-manifest.json +2 -2
  218. package/web/.next/prerender-manifest.json +3 -3
  219. package/web/.next/required-server-files.js +2 -2
  220. package/web/.next/required-server-files.json +2 -2
  221. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +58 -73
  222. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +5 -5
  223. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  224. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  225. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +54 -69
  226. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +5 -5
  227. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  228. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  229. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +60 -75
  230. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +5 -5
  231. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  232. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  233. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +76 -91
  234. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +5 -5
  235. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  236. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  237. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +76 -91
  238. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +5 -5
  239. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  240. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  241. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +56 -71
  242. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +5 -5
  243. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  244. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  245. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +56 -71
  246. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +5 -5
  247. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  248. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  249. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +54 -69
  250. package/web/.next/server/app/(dashboard)/chat/page.js +5 -5
  251. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  252. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  253. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +60 -75
  254. package/web/.next/server/app/(dashboard)/create/page.js +5 -5
  255. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  256. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  257. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +76 -91
  258. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +5 -5
  259. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  260. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  261. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +76 -91
  262. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +5 -5
  263. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  264. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  265. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +54 -69
  266. package/web/.next/server/app/(dashboard)/page.js +5 -5
  267. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  268. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  269. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +56 -71
  270. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +5 -5
  271. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  272. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  273. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +56 -71
  274. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +5 -5
  275. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  276. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  277. package/web/.next/server/app/_global-error/page.js +1 -1
  278. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  279. package/web/.next/server/app/_global-error.html +2 -2
  280. package/web/.next/server/app/_global-error.rsc +1 -1
  281. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  282. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  283. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  284. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  285. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  286. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +12 -27
  287. package/web/.next/server/app/_not-found/page.js +3 -3
  288. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  289. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  290. package/web/.next/server/app/api/agent-events/route.js +2 -2
  291. package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
  292. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  293. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  294. package/web/.next/server/app/api/attachments/upload/route.js +1 -1
  295. package/web/.next/server/app/api/attachments/upload/route.js.nft.json +1 -1
  296. package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
  297. package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
  298. package/web/.next/server/app/api/deployment-logs/route.js +1 -2
  299. package/web/.next/server/app/api/deployment-logs/route.js.nft.json +1 -1
  300. package/web/.next/server/app/api/directory/list/route.js +1 -1
  301. package/web/.next/server/app/api/directory/list/route.js.nft.json +1 -1
  302. package/web/.next/server/app/api/evidence/route.js +1 -1
  303. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  304. package/web/.next/server/app/api/feature-logs/route.js +1 -2
  305. package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
  306. package/web/.next/server/app/api/graph-data/route.js +1 -1
  307. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  308. package/web/.next/server/app/api/interactive/chat/[featureId]/mark-read/route.js +1 -1
  309. package/web/.next/server/app/api/interactive/chat/[featureId]/mark-read/route.js.nft.json +1 -1
  310. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  311. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  312. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js +1 -1
  313. package/web/.next/server/app/api/interactive/chat/[featureId]/respond/route.js.nft.json +1 -1
  314. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js +1 -1
  315. package/web/.next/server/app/api/interactive/chat/[featureId]/stop/route.js.nft.json +1 -1
  316. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js +1 -2
  317. package/web/.next/server/app/api/interactive/chat/[featureId]/stream/route.js.nft.json +1 -1
  318. package/web/.next/server/app/api/interactive/chat/turn-statuses/route.js +1 -1
  319. package/web/.next/server/app/api/interactive/chat/turn-statuses/route.js.nft.json +1 -1
  320. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js +1 -1
  321. package/web/.next/server/app/api/interactive/sessions/[id]/messages/route.js.nft.json +1 -1
  322. package/web/.next/server/app/api/interactive/sessions/[id]/route.js +1 -1
  323. package/web/.next/server/app/api/interactive/sessions/[id]/route.js.nft.json +1 -1
  324. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js +1 -2
  325. package/web/.next/server/app/api/interactive/sessions/[id]/stream/route.js.nft.json +1 -1
  326. package/web/.next/server/app/api/interactive/sessions/route.js +1 -1
  327. package/web/.next/server/app/api/interactive/sessions/route.js.nft.json +1 -1
  328. package/web/.next/server/app/api/npm-version/route.js +1 -1
  329. package/web/.next/server/app/api/npm-version/route.js.nft.json +1 -1
  330. package/web/.next/server/app/api/sessions/route.js +1 -1
  331. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  332. package/web/.next/server/app/api/sessions-batch/route.js +1 -1
  333. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  334. package/web/.next/server/app/api/tools/[id]/install/route.js +1 -1
  335. package/web/.next/server/app/api/tools/[id]/install/route.js.nft.json +1 -1
  336. package/web/.next/server/app/api/tools/[id]/launch/route.js +1 -1
  337. package/web/.next/server/app/api/tools/[id]/launch/route.js.nft.json +1 -1
  338. package/web/.next/server/app/api/tools/route.js +1 -1
  339. package/web/.next/server/app/api/tools/route.js.nft.json +1 -1
  340. package/web/.next/server/app/features/page/server-reference-manifest.json +12 -27
  341. package/web/.next/server/app/features/page.js +3 -3
  342. package/web/.next/server/app/features/page.js.nft.json +1 -1
  343. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  344. package/web/.next/server/app/settings/page/server-reference-manifest.json +18 -33
  345. package/web/.next/server/app/settings/page.js +3 -4
  346. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  347. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  348. package/web/.next/server/app/skills/page/server-reference-manifest.json +26 -41
  349. package/web/.next/server/app/skills/page.js +4 -4
  350. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  351. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  352. package/web/.next/server/app/tools/page/server-reference-manifest.json +22 -37
  353. package/web/.next/server/app/tools/page.js +4 -4
  354. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  355. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  356. package/web/.next/server/app/version/page/server-reference-manifest.json +12 -27
  357. package/web/.next/server/app/version/page.js +4 -4
  358. package/web/.next/server/app/version/page.js.nft.json +1 -1
  359. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  360. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  361. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  362. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js +12 -0
  363. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_4d623b8e.js.map +1 -0
  364. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js +3 -0
  365. package/web/.next/server/chunks/[root-of-the-server]__0866d2b5._.js.map +1 -0
  366. package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js +3 -0
  367. package/web/.next/server/chunks/[root-of-the-server]__10852c5c._.js.map +1 -0
  368. package/web/.next/server/chunks/[root-of-the-server]__2b1074db._.js +12 -0
  369. package/web/.next/server/chunks/[root-of-the-server]__2b1074db._.js.map +1 -0
  370. package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js +3 -0
  371. package/web/.next/server/chunks/[root-of-the-server]__2b71641f._.js.map +1 -0
  372. package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js +3 -0
  373. package/web/.next/server/chunks/[root-of-the-server]__2bb675ff._.js.map +1 -0
  374. package/web/.next/server/chunks/[root-of-the-server]__2f61738a._.js +3 -0
  375. package/web/.next/server/chunks/[root-of-the-server]__2f61738a._.js.map +1 -0
  376. package/web/.next/server/chunks/[root-of-the-server]__31598852._.js +3 -0
  377. package/web/.next/server/chunks/[root-of-the-server]__31598852._.js.map +1 -0
  378. package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js +3 -0
  379. package/web/.next/server/chunks/[root-of-the-server]__31944fa2._.js.map +1 -0
  380. package/web/.next/server/chunks/[root-of-the-server]__32b04219._.js +3 -0
  381. package/web/.next/server/chunks/[root-of-the-server]__32b04219._.js.map +1 -0
  382. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js +1 -1
  383. package/web/.next/server/chunks/[root-of-the-server]__332c8d91._.js.map +1 -1
  384. package/web/.next/server/chunks/[root-of-the-server]__3b72e8b0._.js +3 -0
  385. package/web/.next/server/chunks/[root-of-the-server]__3b72e8b0._.js.map +1 -0
  386. package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js +12 -0
  387. package/web/.next/server/chunks/[root-of-the-server]__4408a5ba._.js.map +1 -0
  388. package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js +3 -0
  389. package/web/.next/server/chunks/[root-of-the-server]__6565a045._.js.map +1 -0
  390. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +24 -0
  391. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -0
  392. package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js +3 -0
  393. package/web/.next/server/chunks/[root-of-the-server]__8f8d6afe._.js.map +1 -0
  394. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js +3 -0
  395. package/web/.next/server/chunks/[root-of-the-server]__9191749c._.js.map +1 -0
  396. package/web/.next/server/chunks/[root-of-the-server]__9a136c79._.js +9 -0
  397. package/web/.next/server/chunks/[root-of-the-server]__9a136c79._.js.map +1 -0
  398. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  399. package/web/.next/server/chunks/[root-of-the-server]__ab4951b1._.js +3 -0
  400. package/web/.next/server/chunks/[root-of-the-server]__ab4951b1._.js.map +1 -0
  401. package/web/.next/server/chunks/[root-of-the-server]__acea6565._.js +3 -0
  402. package/web/.next/server/chunks/[root-of-the-server]__acea6565._.js.map +1 -0
  403. package/web/.next/server/chunks/[root-of-the-server]__b2f9a412._.js +3 -0
  404. package/web/.next/server/chunks/{[root-of-the-server]__f1aeae12._.js.map → [root-of-the-server]__b2f9a412._.js.map} +1 -1
  405. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js +3 -0
  406. package/web/.next/server/chunks/[root-of-the-server]__b4102cc7._.js.map +1 -0
  407. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +3 -0
  408. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js.map +1 -0
  409. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +3 -0
  410. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -0
  411. package/web/.next/server/chunks/[root-of-the-server]__d2c18946._.js +3 -3
  412. package/web/.next/server/chunks/[root-of-the-server]__d2c18946._.js.map +1 -1
  413. package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js +1 -1
  414. package/web/.next/server/chunks/[root-of-the-server]__d9d410a8._.js.map +1 -1
  415. package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js +3 -3
  416. package/web/.next/server/chunks/[root-of-the-server]__e247a485._.js.map +1 -1
  417. package/web/.next/server/chunks/{[root-of-the-server]__937ba94e._.js → [root-of-the-server]__e3692208._.js} +2 -2
  418. package/web/.next/server/chunks/[root-of-the-server]__ea653642._.js +3 -0
  419. package/web/.next/server/chunks/[root-of-the-server]__ea653642._.js.map +1 -0
  420. package/web/.next/server/chunks/[root-of-the-server]__fc6fd958._.js +3 -0
  421. package/web/.next/server/chunks/[root-of-the-server]__fc6fd958._.js.map +1 -0
  422. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js +3 -0
  423. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_ad0071c9.js.map +1 -0
  424. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js +3 -0
  425. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_90d98b2b.js.map +1 -0
  426. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js +3 -0
  427. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_d3828105.js.map +1 -0
  428. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  429. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  430. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  431. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  432. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js +4 -0
  433. package/web/.next/server/chunks/ssr/[root-of-the-server]__1cd4327c._.js.map +1 -0
  434. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +4 -0
  435. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +1 -0
  436. package/web/.next/server/chunks/ssr/{[root-of-the-server]__08e7a080._.js → [root-of-the-server]__22d17c66._.js} +2 -2
  437. package/web/.next/server/chunks/ssr/{[root-of-the-server]__08e7a080._.js.map → [root-of-the-server]__22d17c66._.js.map} +1 -1
  438. package/web/.next/server/chunks/ssr/[root-of-the-server]__23b5ca2c._.js +1 -1
  439. package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +3 -0
  440. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ff332bfb._.js.map → [root-of-the-server]__357d99f9._.js.map} +1 -1
  441. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js +3 -0
  442. package/web/.next/server/chunks/ssr/[root-of-the-server]__51ec77a8._.js.map +1 -0
  443. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js +4 -0
  444. package/web/.next/server/chunks/ssr/[root-of-the-server]__540c615f._.js.map +1 -0
  445. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js +3 -0
  446. package/web/.next/server/chunks/ssr/[root-of-the-server]__66047a1b._.js.map +1 -0
  447. package/web/.next/server/chunks/ssr/{[root-of-the-server]__16c1388b._.js → [root-of-the-server]__69dd3217._.js} +2 -2
  448. package/web/.next/server/chunks/ssr/{[root-of-the-server]__16c1388b._.js.map → [root-of-the-server]__69dd3217._.js.map} +1 -1
  449. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +4 -0
  450. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +1 -0
  451. package/web/.next/server/chunks/ssr/[root-of-the-server]__7528eb6f._.js +1 -1
  452. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js +3 -0
  453. package/web/.next/server/chunks/ssr/[root-of-the-server]__a932cd3a._.js.map +1 -0
  454. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js +3 -0
  455. package/web/.next/server/chunks/ssr/[root-of-the-server]__aa72e794._.js.map +1 -0
  456. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +4 -0
  457. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +1 -0
  458. package/web/.next/server/chunks/ssr/[root-of-the-server]__d1040bd1._.js +3 -0
  459. package/web/.next/server/chunks/ssr/{[root-of-the-server]__f5614810._.js.map → [root-of-the-server]__d1040bd1._.js.map} +1 -1
  460. package/web/.next/server/chunks/ssr/[root-of-the-server]__efeeaed4._.js +3 -0
  461. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d5e22d1a._.js.map → [root-of-the-server]__efeeaed4._.js.map} +1 -1
  462. package/web/.next/server/chunks/ssr/_05c23ad9._.js +1 -1
  463. package/web/.next/server/chunks/ssr/_05c23ad9._.js.map +1 -1
  464. package/web/.next/server/chunks/ssr/_16eb4fec._.js +1 -1
  465. package/web/.next/server/chunks/ssr/_16eb4fec._.js.map +1 -1
  466. package/web/.next/server/chunks/ssr/{_5747febb._.js → _1e08a336._.js} +2 -2
  467. package/web/.next/server/chunks/ssr/_1e08a336._.js.map +1 -0
  468. package/web/.next/server/chunks/ssr/{_ed2f2799._.js → _295fffde._.js} +2 -2
  469. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -0
  470. package/web/.next/server/chunks/ssr/{_4db4ac1e._.js → _388d1127._.js} +2 -2
  471. package/web/.next/server/chunks/ssr/{_4db4ac1e._.js.map → _388d1127._.js.map} +1 -1
  472. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  473. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  474. package/web/.next/server/chunks/ssr/_4cbb7f95._.js +1 -1
  475. package/web/.next/server/chunks/ssr/_4cbb7f95._.js.map +1 -1
  476. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  477. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  478. package/web/.next/server/chunks/ssr/_6abfa39e._.js +1 -1
  479. package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +1 -1
  480. package/web/.next/server/chunks/ssr/{_080b0309._.js → _8f0d3f07._.js} +2 -2
  481. package/web/.next/server/chunks/ssr/{_080b0309._.js.map → _8f0d3f07._.js.map} +1 -1
  482. package/web/.next/server/chunks/ssr/{_31b68712._.js → _98d94927._.js} +2 -2
  483. package/web/.next/server/chunks/ssr/{_31b68712._.js.map → _98d94927._.js.map} +1 -1
  484. package/web/.next/server/chunks/ssr/{_819f193a._.js → _d9c0a97a._.js} +2 -2
  485. package/web/.next/server/chunks/ssr/_d9c0a97a._.js.map +1 -0
  486. package/web/.next/server/chunks/ssr/_e680c57c._.js.map +1 -1
  487. package/web/.next/server/chunks/ssr/_f8c55130._.js +1 -1
  488. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -1
  489. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  490. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  491. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  492. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  493. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js +3 -0
  494. package/web/.next/server/chunks/ssr/src_presentation_web_17d39233._.js.map +1 -0
  495. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js +5 -0
  496. package/web/.next/server/chunks/ssr/src_presentation_web_54b02639._.js.map +1 -0
  497. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js +5 -0
  498. package/web/.next/server/chunks/ssr/src_presentation_web_7b7b9e3b._.js.map +1 -0
  499. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js +3 -0
  500. package/web/.next/server/chunks/ssr/src_presentation_web_807cba76._.js.map +1 -0
  501. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js +3 -0
  502. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_90b5e66e.js.map +1 -0
  503. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js +3 -0
  504. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_4ce30db7.js.map +1 -0
  505. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js +3 -0
  506. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_e4032193.js.map +1 -0
  507. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +1 -1
  508. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -1
  509. package/web/.next/server/chunks/ssr/{src_presentation_web_components_349d9f24._.js → src_presentation_web_components_895e5bfa._.js} +2 -2
  510. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -0
  511. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
  512. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
  513. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  514. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  515. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js +3 -0
  516. package/web/.next/server/chunks/ssr/src_presentation_web_e1cd1869._.js.map +1 -0
  517. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js +3 -0
  518. package/web/.next/server/chunks/ssr/src_presentation_web_e3a30e30._.js.map +1 -0
  519. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  520. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  521. package/web/.next/server/pages/500.html +2 -2
  522. package/web/.next/server/server-reference-manifest.js +1 -1
  523. package/web/.next/server/server-reference-manifest.json +535 -683
  524. package/web/.next/static/chunks/{10383f321355e09b.js → 0ffb3738269e15c3.js} +1 -1
  525. package/web/.next/static/chunks/236744ff71b1aadf.js +1 -0
  526. package/web/.next/static/chunks/{05c0a8ed7621ea2a.js → 2cfc6022d74e2716.js} +3 -3
  527. package/web/.next/static/chunks/302f474e4978cc80.js +3 -0
  528. package/web/.next/static/chunks/{316b0e4597f2083d.js → 46e2693dbc9262fd.js} +2 -2
  529. package/web/.next/static/chunks/{6853929058e53d1a.js → 476873a9bac35ec8.js} +1 -1
  530. package/web/.next/static/chunks/{81347e69998eef38.js → 4ff21d16947ec853.js} +1 -1
  531. package/web/.next/static/chunks/626277ca9a4cc477.js +1 -0
  532. package/web/.next/static/chunks/{a1ad19e21b6ad1ad.js → 6304540c7cf2b46a.js} +2 -2
  533. package/web/.next/static/chunks/{fd319c0e5f3cc20a.js → 71a07df9dcb42227.js} +1 -1
  534. package/web/.next/static/chunks/{71ad5a4155ddd207.js → 885bb8fc631bf477.js} +1 -1
  535. package/web/.next/static/chunks/a20f2d6f76f469b7.css +1 -0
  536. package/web/.next/static/chunks/{8bf91dcd1b3077d7.js → afa7e5d2a48cabc7.js} +1 -1
  537. package/web/.next/static/chunks/c10c0d6d458453bc.js +1 -0
  538. package/web/.next/static/chunks/{8a68402c32c6a206.js → e8444bf5f6c35f8b.js} +1 -1
  539. package/web/.next/static/chunks/eab3d361f7a24510.js +1 -0
  540. package/web/.next/static/chunks/{6bfcb5d1b3eafd81.js → eda9ee3c22b71a69.js} +1 -1
  541. package/web/.next/static/chunks/{e610f5d703696b34.js → f17d2d0279b8db35.js} +1 -1
  542. package/web/.next/static/chunks/f9d948464ed409cb.js +1 -0
  543. package/apis/json-schema/PermissionMode.yaml +0 -8
  544. package/dist/packages/core/src/application/ports/output/services/file-system.interface.d.ts +0 -68
  545. package/dist/packages/core/src/application/ports/output/services/file-system.interface.d.ts.map +0 -1
  546. package/dist/packages/core/src/application/ports/output/services/file-system.interface.js +0 -12
  547. package/dist/packages/core/src/application/ports/output/services/process-monitor.interface.d.ts +0 -29
  548. package/dist/packages/core/src/application/ports/output/services/process-monitor.interface.d.ts.map +0 -1
  549. package/dist/packages/core/src/application/ports/output/services/process-monitor.interface.js +0 -12
  550. package/dist/packages/core/src/application/ports/output/services/settings-reader.interface.d.ts +0 -35
  551. package/dist/packages/core/src/application/ports/output/services/settings-reader.interface.d.ts.map +0 -1
  552. package/dist/packages/core/src/application/ports/output/services/settings-reader.interface.js +0 -12
  553. package/dist/packages/core/src/application/use-cases/notifications/poll-agent-events.use-case.d.ts +0 -61
  554. package/dist/packages/core/src/application/use-cases/notifications/poll-agent-events.use-case.d.ts.map +0 -1
  555. package/dist/packages/core/src/application/use-cases/notifications/poll-agent-events.use-case.js +0 -381
  556. package/dist/packages/core/src/infrastructure/di/modules/agent-infrastructure.module.d.ts +0 -7
  557. package/dist/packages/core/src/infrastructure/di/modules/agent-infrastructure.module.d.ts.map +0 -1
  558. package/dist/packages/core/src/infrastructure/di/modules/agent-infrastructure.module.js +0 -83
  559. package/dist/packages/core/src/infrastructure/di/modules/database.module.d.ts +0 -12
  560. package/dist/packages/core/src/infrastructure/di/modules/database.module.d.ts.map +0 -1
  561. package/dist/packages/core/src/infrastructure/di/modules/database.module.js +0 -16
  562. package/dist/packages/core/src/infrastructure/di/modules/interactive.module.d.ts +0 -10
  563. package/dist/packages/core/src/infrastructure/di/modules/interactive.module.d.ts.map +0 -1
  564. package/dist/packages/core/src/infrastructure/di/modules/interactive.module.js +0 -43
  565. package/dist/packages/core/src/infrastructure/di/modules/notifications.module.d.ts +0 -6
  566. package/dist/packages/core/src/infrastructure/di/modules/notifications.module.d.ts.map +0 -1
  567. package/dist/packages/core/src/infrastructure/di/modules/notifications.module.js +0 -20
  568. package/dist/packages/core/src/infrastructure/di/modules/repositories.module.d.ts +0 -6
  569. package/dist/packages/core/src/infrastructure/di/modules/repositories.module.d.ts.map +0 -1
  570. package/dist/packages/core/src/infrastructure/di/modules/repositories.module.js +0 -26
  571. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts +0 -8
  572. package/dist/packages/core/src/infrastructure/di/modules/services.module.d.ts.map +0 -1
  573. package/dist/packages/core/src/infrastructure/di/modules/services.module.js +0 -93
  574. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts +0 -6
  575. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.d.ts.map +0 -1
  576. package/dist/packages/core/src/infrastructure/di/modules/use-cases.module.js +0 -164
  577. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts +0 -10
  578. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.d.ts.map +0 -1
  579. package/dist/packages/core/src/infrastructure/di/modules/web-tokens.module.js +0 -200
  580. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-agent-permission-mode.d.ts +0 -14
  581. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-agent-permission-mode.d.ts.map +0 -1
  582. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-add-agent-permission-mode.js +0 -19
  583. package/dist/packages/core/src/infrastructure/services/agents/common/executors/abstract-agent-executor.d.ts +0 -37
  584. package/dist/packages/core/src/infrastructure/services/agents/common/executors/abstract-agent-executor.d.ts.map +0 -1
  585. package/dist/packages/core/src/infrastructure/services/agents/common/executors/abstract-agent-executor.js +0 -59
  586. package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.d.ts +0 -52
  587. package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.d.ts.map +0 -1
  588. package/dist/packages/core/src/infrastructure/services/agents/common/executors/rovo-dev-executor.service.js +0 -350
  589. package/dist/packages/core/src/infrastructure/services/filesystem/file-system.service.d.ts +0 -26
  590. package/dist/packages/core/src/infrastructure/services/filesystem/file-system.service.d.ts.map +0 -1
  591. package/dist/packages/core/src/infrastructure/services/filesystem/file-system.service.js +0 -47
  592. package/dist/packages/core/src/infrastructure/services/filesystem/path-sanitizers.d.ts +0 -19
  593. package/dist/packages/core/src/infrastructure/services/filesystem/path-sanitizers.d.ts.map +0 -1
  594. package/dist/packages/core/src/infrastructure/services/filesystem/path-sanitizers.js +0 -38
  595. package/dist/packages/core/src/infrastructure/services/git/branch-discovery.service.d.ts +0 -23
  596. package/dist/packages/core/src/infrastructure/services/git/branch-discovery.service.d.ts.map +0 -1
  597. package/dist/packages/core/src/infrastructure/services/git/branch-discovery.service.js +0 -185
  598. package/dist/packages/core/src/infrastructure/services/git/ci-status.service.d.ts +0 -24
  599. package/dist/packages/core/src/infrastructure/services/git/ci-status.service.d.ts.map +0 -1
  600. package/dist/packages/core/src/infrastructure/services/git/ci-status.service.js +0 -202
  601. package/dist/packages/core/src/infrastructure/services/git/diff-analyzer.service.d.ts +0 -19
  602. package/dist/packages/core/src/infrastructure/services/git/diff-analyzer.service.d.ts.map +0 -1
  603. package/dist/packages/core/src/infrastructure/services/git/diff-analyzer.service.js +0 -173
  604. package/dist/packages/core/src/infrastructure/services/git/merge-strategy.service.d.ts +0 -30
  605. package/dist/packages/core/src/infrastructure/services/git/merge-strategy.service.d.ts.map +0 -1
  606. package/dist/packages/core/src/infrastructure/services/git/merge-strategy.service.js +0 -341
  607. package/dist/packages/core/src/infrastructure/services/git/pr-creation.service.d.ts +0 -34
  608. package/dist/packages/core/src/infrastructure/services/git/pr-creation.service.d.ts.map +0 -1
  609. package/dist/packages/core/src/infrastructure/services/git/pr-creation.service.js +0 -180
  610. package/dist/packages/core/src/infrastructure/services/interactive/chat-state-builder.d.ts +0 -21
  611. package/dist/packages/core/src/infrastructure/services/interactive/chat-state-builder.d.ts.map +0 -1
  612. package/dist/packages/core/src/infrastructure/services/interactive/chat-state-builder.js +0 -112
  613. package/dist/packages/core/src/infrastructure/services/interactive/session-boot-sequence.d.ts +0 -47
  614. package/dist/packages/core/src/infrastructure/services/interactive/session-boot-sequence.d.ts.map +0 -1
  615. package/dist/packages/core/src/infrastructure/services/interactive/session-boot-sequence.js +0 -381
  616. package/dist/packages/core/src/infrastructure/services/interactive/session-state-manager.d.ts +0 -28
  617. package/dist/packages/core/src/infrastructure/services/interactive/session-state-manager.d.ts.map +0 -1
  618. package/dist/packages/core/src/infrastructure/services/interactive/session-state-manager.js +0 -105
  619. package/dist/packages/core/src/infrastructure/services/interactive/session-state.d.ts +0 -46
  620. package/dist/packages/core/src/infrastructure/services/interactive/session-state.d.ts.map +0 -1
  621. package/dist/packages/core/src/infrastructure/services/interactive/session-state.js +0 -10
  622. package/dist/packages/core/src/infrastructure/services/interactive/subscriber-notifier.d.ts +0 -36
  623. package/dist/packages/core/src/infrastructure/services/interactive/subscriber-notifier.d.ts.map +0 -1
  624. package/dist/packages/core/src/infrastructure/services/interactive/subscriber-notifier.js +0 -60
  625. package/dist/packages/core/src/infrastructure/services/interactive/turn-executor.d.ts +0 -57
  626. package/dist/packages/core/src/infrastructure/services/interactive/turn-executor.d.ts.map +0 -1
  627. package/dist/packages/core/src/infrastructure/services/interactive/turn-executor.js +0 -503
  628. package/dist/packages/core/src/infrastructure/services/process/process-monitor.service.d.ts +0 -25
  629. package/dist/packages/core/src/infrastructure/services/process/process-monitor.service.d.ts.map +0 -1
  630. package/dist/packages/core/src/infrastructure/services/process/process-monitor.service.js +0 -45
  631. package/dist/packages/core/src/infrastructure/services/settings-reader.adapter.d.ts +0 -15
  632. package/dist/packages/core/src/infrastructure/services/settings-reader.adapter.d.ts.map +0 -1
  633. package/dist/packages/core/src/infrastructure/services/settings-reader.adapter.js +0 -28
  634. package/dist/src/presentation/web/app/actions/check-agent-auth-for-type.d.ts +0 -11
  635. package/dist/src/presentation/web/app/actions/check-agent-auth-for-type.d.ts.map +0 -1
  636. package/dist/src/presentation/web/app/actions/check-agent-auth-for-type.js +0 -147
  637. package/dist/src/presentation/web/components/common/route-announcer.d.ts +0 -2
  638. package/dist/src/presentation/web/components/common/route-announcer.d.ts.map +0 -1
  639. package/dist/src/presentation/web/components/common/route-announcer.js +0 -7
  640. package/dist/src/presentation/web/components/features/settings/AgentAvailabilityBadge.d.ts +0 -7
  641. package/dist/src/presentation/web/components/features/settings/AgentAvailabilityBadge.d.ts.map +0 -1
  642. package/dist/src/presentation/web/components/features/settings/AgentAvailabilityBadge.js +0 -26
  643. package/dist/src/presentation/web/components/features/settings/AgentAvailabilityBadge.stories.d.ts +0 -11
  644. package/dist/src/presentation/web/components/features/settings/AgentAvailabilityBadge.stories.d.ts.map +0 -1
  645. package/dist/src/presentation/web/components/features/settings/AgentAvailabilityBadge.stories.js +0 -24
  646. package/dist/src/presentation/web/hooks/use-agent-availability.d.ts +0 -13
  647. package/dist/src/presentation/web/hooks/use-agent-availability.d.ts.map +0 -1
  648. package/dist/src/presentation/web/hooks/use-agent-availability.js +0 -75
  649. package/dist/src/presentation/web/hooks/use-route-announcer.d.ts +0 -2
  650. package/dist/src/presentation/web/hooks/use-route-announcer.d.ts.map +0 -1
  651. package/dist/src/presentation/web/hooks/use-route-announcer.js +0 -16
  652. package/dist/src/presentation/web/lib/api-error.d.ts +0 -7
  653. package/dist/src/presentation/web/lib/api-error.d.ts.map +0 -1
  654. package/dist/src/presentation/web/lib/api-error.js +0 -11
  655. package/web/.next/server/chunks/[root-of-the-server]__0b88f5f0._.js +0 -3
  656. package/web/.next/server/chunks/[root-of-the-server]__0b88f5f0._.js.map +0 -1
  657. package/web/.next/server/chunks/[root-of-the-server]__0d0a9973._.js +0 -3
  658. package/web/.next/server/chunks/[root-of-the-server]__0d0a9973._.js.map +0 -1
  659. package/web/.next/server/chunks/[root-of-the-server]__1f18a881._.js +0 -3
  660. package/web/.next/server/chunks/[root-of-the-server]__1f18a881._.js.map +0 -1
  661. package/web/.next/server/chunks/[root-of-the-server]__3d08be55._.js +0 -9
  662. package/web/.next/server/chunks/[root-of-the-server]__3d08be55._.js.map +0 -1
  663. package/web/.next/server/chunks/[root-of-the-server]__419be0d1._.js +0 -3
  664. package/web/.next/server/chunks/[root-of-the-server]__419be0d1._.js.map +0 -1
  665. package/web/.next/server/chunks/[root-of-the-server]__4747e669._.js +0 -3
  666. package/web/.next/server/chunks/[root-of-the-server]__4747e669._.js.map +0 -1
  667. package/web/.next/server/chunks/[root-of-the-server]__475afd97._.js +0 -3
  668. package/web/.next/server/chunks/[root-of-the-server]__475afd97._.js.map +0 -1
  669. package/web/.next/server/chunks/[root-of-the-server]__483ccc90._.js +0 -9
  670. package/web/.next/server/chunks/[root-of-the-server]__483ccc90._.js.map +0 -1
  671. package/web/.next/server/chunks/[root-of-the-server]__5e90f1e9._.js +0 -3
  672. package/web/.next/server/chunks/[root-of-the-server]__5e90f1e9._.js.map +0 -1
  673. package/web/.next/server/chunks/[root-of-the-server]__62634db9._.js +0 -12
  674. package/web/.next/server/chunks/[root-of-the-server]__62634db9._.js.map +0 -1
  675. package/web/.next/server/chunks/[root-of-the-server]__645a6d08._.js +0 -12
  676. package/web/.next/server/chunks/[root-of-the-server]__645a6d08._.js.map +0 -1
  677. package/web/.next/server/chunks/[root-of-the-server]__74f3dc5c._.js +0 -3
  678. package/web/.next/server/chunks/[root-of-the-server]__74f3dc5c._.js.map +0 -1
  679. package/web/.next/server/chunks/[root-of-the-server]__810add7c._.js +0 -3
  680. package/web/.next/server/chunks/[root-of-the-server]__810add7c._.js.map +0 -1
  681. package/web/.next/server/chunks/[root-of-the-server]__8cfd9f70._.js +0 -24
  682. package/web/.next/server/chunks/[root-of-the-server]__8cfd9f70._.js.map +0 -1
  683. package/web/.next/server/chunks/[root-of-the-server]__8ec23770._.js +0 -3
  684. package/web/.next/server/chunks/[root-of-the-server]__8ec23770._.js.map +0 -1
  685. package/web/.next/server/chunks/[root-of-the-server]__93c391fe._.js +0 -3
  686. package/web/.next/server/chunks/[root-of-the-server]__93c391fe._.js.map +0 -1
  687. package/web/.next/server/chunks/[root-of-the-server]__9e8fc40c._.js +0 -3
  688. package/web/.next/server/chunks/[root-of-the-server]__9e8fc40c._.js.map +0 -1
  689. package/web/.next/server/chunks/[root-of-the-server]__a2426aa4._.js +0 -3
  690. package/web/.next/server/chunks/[root-of-the-server]__a2426aa4._.js.map +0 -1
  691. package/web/.next/server/chunks/[root-of-the-server]__a96ee39d._.js +0 -3
  692. package/web/.next/server/chunks/[root-of-the-server]__a96ee39d._.js.map +0 -1
  693. package/web/.next/server/chunks/[root-of-the-server]__e10befc1._.js +0 -3
  694. package/web/.next/server/chunks/[root-of-the-server]__e10befc1._.js.map +0 -1
  695. package/web/.next/server/chunks/[root-of-the-server]__e94a4a75._.js +0 -3
  696. package/web/.next/server/chunks/[root-of-the-server]__e94a4a75._.js.map +0 -1
  697. package/web/.next/server/chunks/[root-of-the-server]__ea7e9dc2._.js +0 -3
  698. package/web/.next/server/chunks/[root-of-the-server]__ea7e9dc2._.js.map +0 -1
  699. package/web/.next/server/chunks/[root-of-the-server]__f1aeae12._.js +0 -3
  700. package/web/.next/server/chunks/[root-of-the-server]__f7b38c05._.js +0 -3
  701. package/web/.next/server/chunks/[root-of-the-server]__f7b38c05._.js.map +0 -1
  702. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_f57e8323.js +0 -3
  703. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_f57e8323.js.map +0 -1
  704. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_c2027d57.js +0 -3
  705. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_c2027d57.js.map +0 -1
  706. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_f70a6774.js +0 -3
  707. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_f70a6774.js.map +0 -1
  708. package/web/.next/server/chunks/ssr/[root-of-the-server]__0e34e896._.js +0 -4
  709. package/web/.next/server/chunks/ssr/[root-of-the-server]__0e34e896._.js.map +0 -1
  710. package/web/.next/server/chunks/ssr/[root-of-the-server]__1eb031d8._.js +0 -3
  711. package/web/.next/server/chunks/ssr/[root-of-the-server]__1eb031d8._.js.map +0 -1
  712. package/web/.next/server/chunks/ssr/[root-of-the-server]__35e7da6b._.js +0 -4
  713. package/web/.next/server/chunks/ssr/[root-of-the-server]__35e7da6b._.js.map +0 -1
  714. package/web/.next/server/chunks/ssr/[root-of-the-server]__36eb7673._.js +0 -3
  715. package/web/.next/server/chunks/ssr/[root-of-the-server]__36eb7673._.js.map +0 -1
  716. package/web/.next/server/chunks/ssr/[root-of-the-server]__4576a805._.js +0 -4
  717. package/web/.next/server/chunks/ssr/[root-of-the-server]__4576a805._.js.map +0 -1
  718. package/web/.next/server/chunks/ssr/[root-of-the-server]__b51b0071._.js +0 -4
  719. package/web/.next/server/chunks/ssr/[root-of-the-server]__b51b0071._.js.map +0 -1
  720. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd113e97._.js +0 -4
  721. package/web/.next/server/chunks/ssr/[root-of-the-server]__bd113e97._.js.map +0 -1
  722. package/web/.next/server/chunks/ssr/[root-of-the-server]__c6f02c81._.js +0 -3
  723. package/web/.next/server/chunks/ssr/[root-of-the-server]__c6f02c81._.js.map +0 -1
  724. package/web/.next/server/chunks/ssr/[root-of-the-server]__d5e22d1a._.js +0 -3
  725. package/web/.next/server/chunks/ssr/[root-of-the-server]__f13f6a81._.js +0 -3
  726. package/web/.next/server/chunks/ssr/[root-of-the-server]__f13f6a81._.js.map +0 -1
  727. package/web/.next/server/chunks/ssr/[root-of-the-server]__f5614810._.js +0 -3
  728. package/web/.next/server/chunks/ssr/[root-of-the-server]__ff332bfb._.js +0 -3
  729. package/web/.next/server/chunks/ssr/_5747febb._.js.map +0 -1
  730. package/web/.next/server/chunks/ssr/_819f193a._.js.map +0 -1
  731. package/web/.next/server/chunks/ssr/_ed2f2799._.js.map +0 -1
  732. package/web/.next/server/chunks/ssr/src_presentation_web_064c7e73._.js +0 -3
  733. package/web/.next/server/chunks/ssr/src_presentation_web_064c7e73._.js.map +0 -1
  734. package/web/.next/server/chunks/ssr/src_presentation_web_1726dc84._.js +0 -5
  735. package/web/.next/server/chunks/ssr/src_presentation_web_1726dc84._.js.map +0 -1
  736. package/web/.next/server/chunks/ssr/src_presentation_web_28c682ee._.js +0 -3
  737. package/web/.next/server/chunks/ssr/src_presentation_web_28c682ee._.js.map +0 -1
  738. package/web/.next/server/chunks/ssr/src_presentation_web_2d7b0e7b._.js +0 -5
  739. package/web/.next/server/chunks/ssr/src_presentation_web_2d7b0e7b._.js.map +0 -1
  740. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_bcef11e0.js +0 -3
  741. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_bcef11e0.js.map +0 -1
  742. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_02d5029f.js +0 -3
  743. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_02d5029f.js.map +0 -1
  744. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_67ca1f81.js +0 -3
  745. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_67ca1f81.js.map +0 -1
  746. package/web/.next/server/chunks/ssr/src_presentation_web_b1110b54._.js +0 -3
  747. package/web/.next/server/chunks/ssr/src_presentation_web_b1110b54._.js.map +0 -1
  748. package/web/.next/server/chunks/ssr/src_presentation_web_components_349d9f24._.js.map +0 -1
  749. package/web/.next/server/chunks/ssr/src_presentation_web_d388fcb0._.js +0 -3
  750. package/web/.next/server/chunks/ssr/src_presentation_web_d388fcb0._.js.map +0 -1
  751. package/web/.next/server/chunks/ssr/src_presentation_web_da61a4f3._.js +0 -3
  752. package/web/.next/server/chunks/ssr/src_presentation_web_da61a4f3._.js.map +0 -1
  753. package/web/.next/static/chunks/1f232a3618b82ac1.css +0 -1
  754. package/web/.next/static/chunks/2621b35c0c9da177.js +0 -1
  755. package/web/.next/static/chunks/2a3edcf98f609bb7.js +0 -1
  756. package/web/.next/static/chunks/3370f8dc24c64ce4.js +0 -1
  757. package/web/.next/static/chunks/47ed89fae0f1542e.js +0 -1
  758. package/web/.next/static/chunks/6c1664f584f34e6f.js +0 -1
  759. package/web/.next/static/chunks/f952f152ac0a4abe.js +0 -3
  760. package/web/public/icons/agents/rovo-dev.svg +0 -6
  761. /package/web/.next/server/chunks/{[root-of-the-server]__937ba94e._.js.map → [root-of-the-server]__e3692208._.js.map} +0 -0
  762. /package/web/.next/static/{8CNKMABoDvNDVQD3DEuB4 → 36ONyC02R4wfFe7iWMQLU}/_buildManifest.js +0 -0
  763. /package/web/.next/static/{8CNKMABoDvNDVQD3DEuB4 → 36ONyC02R4wfFe7iWMQLU}/_clientMiddlewareManifest.json +0 -0
  764. /package/web/.next/static/{8CNKMABoDvNDVQD3DEuB4 → 36ONyC02R4wfFe7iWMQLU}/_ssgManifest.js +0 -0
@@ -1,112 +0,0 @@
1
- /**
2
- * Chat State Builder
3
- *
4
- * Reconstructs the full ChatState for the frontend by merging DB records,
5
- * in-memory streaming state, session info, turn status, and pending interactions.
6
- */
7
- import { InteractiveSessionStatus } from '../../../domain/generated/output.js';
8
- import { getSettings, hasSettings } from '../settings.service.js';
9
- import { DEFAULT_TIMEOUT_MS } from './session-state.js';
10
- export class ChatStateBuilder {
11
- sessionRepo;
12
- messageRepo;
13
- constructor(sessionRepo, messageRepo) {
14
- this.sessionRepo = sessionRepo;
15
- this.messageRepo = messageRepo;
16
- }
17
- async getChatState(featureId, sessions) {
18
- // DB messages
19
- const messages = await this.messageRepo.findByFeatureId(featureId);
20
- // Find active in-memory session
21
- const state = this.findActiveStateForFeature(featureId, sessions);
22
- let sessionStatus = null;
23
- let streamingText = null;
24
- let sessionInfo = null;
25
- if (state) {
26
- const dbSession = await this.sessionRepo.findById(state.sessionId);
27
- sessionStatus = dbSession?.status ?? null;
28
- if (state.currentAssistantBuffer) {
29
- streamingText = state.currentAssistantBuffer;
30
- }
31
- // Resolve model display: explicit override > default
32
- const displayModel = state.model ?? 'claude-sonnet-4-6';
33
- const usage = await this.sessionRepo.getUsage(state.sessionId);
34
- sessionInfo = {
35
- pid: null, // SDK manages process internally
36
- sessionId: state.agentSessionId ?? state.sessionId,
37
- model: displayModel,
38
- startedAt: dbSession?.startedAt
39
- ? new Date(dbSession.startedAt).toISOString()
40
- : new Date().toISOString(),
41
- idleTimeoutMinutes: Math.round(this.getTimeoutMs() / 60_000),
42
- lastActivityAt: dbSession?.lastActivityAt
43
- ? new Date(dbSession.lastActivityAt).toISOString()
44
- : new Date().toISOString(),
45
- totalCostUsd: usage?.totalCostUsd ?? null,
46
- totalInputTokens: usage?.totalInputTokens ?? null,
47
- totalOutputTokens: usage?.totalOutputTokens ?? null,
48
- };
49
- }
50
- else {
51
- // No in-memory state — check DB for last session (e.g. after server restart / hot-reload)
52
- const latest = await this.sessionRepo.findByFeatureId(featureId);
53
- if (latest) {
54
- sessionStatus = latest.status;
55
- // Show DB info even without live process (process was lost on restart)
56
- if (latest.status !== InteractiveSessionStatus.stopped &&
57
- latest.status !== InteractiveSessionStatus.error) {
58
- const latestUsage = await this.sessionRepo.getUsage(latest.id);
59
- sessionInfo = {
60
- pid: null,
61
- sessionId: latest.id,
62
- model: null,
63
- startedAt: latest.startedAt
64
- ? new Date(latest.startedAt).toISOString()
65
- : new Date().toISOString(),
66
- idleTimeoutMinutes: Math.round(this.getTimeoutMs() / 60_000),
67
- lastActivityAt: latest.lastActivityAt
68
- ? new Date(latest.lastActivityAt).toISOString()
69
- : new Date().toISOString(),
70
- totalCostUsd: latestUsage?.totalCostUsd ?? null,
71
- totalInputTokens: latestUsage?.totalInputTokens ?? null,
72
- totalOutputTokens: latestUsage?.totalOutputTokens ?? null,
73
- };
74
- }
75
- }
76
- }
77
- // Resolve turn status from DB
78
- let turnStatus = 'idle';
79
- const activeState = state;
80
- if (activeState) {
81
- const statuses = await this.sessionRepo.getTurnStatuses([featureId]);
82
- turnStatus = statuses.get(featureId) ?? 'idle';
83
- }
84
- else {
85
- // Check DB for the latest session's turn status
86
- const latest = await this.sessionRepo.findByFeatureId(featureId);
87
- if (latest) {
88
- const statuses = await this.sessionRepo.getTurnStatuses([featureId]);
89
- turnStatus = statuses.get(featureId) ?? 'idle';
90
- }
91
- }
92
- // Include pending interaction if one exists
93
- const pendingInteraction = state?.pendingInteraction ?? null;
94
- return { messages, sessionStatus, streamingText, sessionInfo, turnStatus, pendingInteraction };
95
- }
96
- /** Read the auto-timeout from settings or fall back to default. */
97
- getTimeoutMs() {
98
- if (!hasSettings())
99
- return DEFAULT_TIMEOUT_MS;
100
- const settings = getSettings();
101
- const minutes = settings.interactiveAgent?.autoTimeoutMinutes ?? 15;
102
- return minutes * 60 * 1000;
103
- }
104
- /** Find the in-memory state for an active session for a feature. */
105
- findActiveStateForFeature(featureId, sessions) {
106
- for (const state of sessions.values()) {
107
- if (state.featureId === featureId)
108
- return state;
109
- }
110
- return undefined;
111
- }
112
- }
@@ -1,47 +0,0 @@
1
- /**
2
- * Session Boot Sequence
3
- *
4
- * Handles session initialization: enforcing the concurrent session cap,
5
- * creating DB records, setting up in-memory state, and orchestrating
6
- * the async boot sequence (context building, SDK session creation,
7
- * greeting stream processing, and state transitions).
8
- */
9
- import type { IInteractiveSessionRepository } from '../../../application/ports/output/repositories/interactive-session-repository.interface.js';
10
- import type { IInteractiveMessageRepository } from '../../../application/ports/output/repositories/interactive-message-repository.interface.js';
11
- import type { IAgentExecutorFactory } from '../../../application/ports/output/agents/agent-executor-factory.interface.js';
12
- import type { IFeatureRepository } from '../../../application/ports/output/repositories/feature-repository.interface.js';
13
- import type { InteractiveSession } from '../../../domain/generated/output.js';
14
- import type { FeatureContextBuilder } from './feature-context.builder.js';
15
- import type { SessionState } from './session-state.js';
16
- import type { SubscriberNotifier } from './subscriber-notifier.js';
17
- import type { TurnExecutor } from './turn-executor.js';
18
- export declare class SessionBootSequence {
19
- private readonly sessionRepo;
20
- private readonly messageRepo;
21
- private readonly executorFactory;
22
- private readonly featureRepo;
23
- private readonly contextBuilder;
24
- private readonly notifier;
25
- private readonly turnExecutor;
26
- private readonly resetTimer;
27
- constructor(sessionRepo: IInteractiveSessionRepository, messageRepo: IInteractiveMessageRepository, executorFactory: IAgentExecutorFactory, featureRepo: IFeatureRepository, contextBuilder: FeatureContextBuilder, notifier: SubscriberNotifier, turnExecutor: TurnExecutor, resetTimer: (state: SessionState) => void);
28
- startSession(featureId: string, worktreePath: string, sessions: Map<string, SessionState>, stoppedAgentSessionIds: Map<string, string>, model?: string, agentType?: string): Promise<InteractiveSession>;
29
- /**
30
- * Asynchronously complete the boot sequence: build feature context,
31
- * create an SDK session via the interactive executor, send the boot
32
- * prompt, iterate the stream for the greeting, persist the greeting,
33
- * and transition the session to "ready".
34
- */
35
- private completeBootAsync;
36
- /** Resolve the agent type from an explicit override or settings. */
37
- private resolveAgentType;
38
- /** Resolve the auth config from settings, with a safe fallback. */
39
- private resolveAuthConfig;
40
- /** Read the concurrent session cap from settings or fall back to default. */
41
- private getCap;
42
- /**
43
- * Persist a tool/system event as its own assistant message in the DB.
44
- */
45
- private persistToolEvent;
46
- }
47
- //# sourceMappingURL=session-boot-sequence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-boot-sequence.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/interactive/session-boot-sequence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8EAA8E,CAAC;AAC1H,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,qCAAqC,CAAC;AAQ7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAPV,WAAW,EAAE,6BAA6B,EAC1C,WAAW,EAAE,6BAA6B,EAC1C,eAAe,EAAE,qBAAqB,EACtC,WAAW,EAAE,kBAAkB,EAC/B,cAAc,EAAE,qBAAqB,EACrC,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI;IAGtD,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAoE9B;;;;;OAKG;YACW,iBAAiB;IAkR/B,oEAAoE;IACpE,OAAO,CAAC,gBAAgB;IAUxB,mEAAmE;IACnE,OAAO,CAAC,iBAAiB;IAczB,6EAA6E;IAC7E,OAAO,CAAC,MAAM;IAUd;;OAEG;YACW,gBAAgB;CAqB/B"}
@@ -1,381 +0,0 @@
1
- /**
2
- * Session Boot Sequence
3
- *
4
- * Handles session initialization: enforcing the concurrent session cap,
5
- * creating DB records, setting up in-memory state, and orchestrating
6
- * the async boot sequence (context building, SDK session creation,
7
- * greeting stream processing, and state transitions).
8
- */
9
- import * as crypto from 'node:crypto';
10
- import { InteractiveSessionStatus, InteractiveMessageRole, AgentType, AgentAuthMethod, } from '../../../domain/generated/output.js';
11
- import { ConcurrentSessionLimitError } from '../../../domain/errors/concurrent-session-limit.error.js';
12
- import { DEFAULT_CAP, BOOT_TIMEOUT_MS } from './session-state.js';
13
- import { getSettings, hasSettings } from '../settings.service.js';
14
- export class SessionBootSequence {
15
- sessionRepo;
16
- messageRepo;
17
- executorFactory;
18
- featureRepo;
19
- contextBuilder;
20
- notifier;
21
- turnExecutor;
22
- resetTimer;
23
- constructor(sessionRepo, messageRepo, executorFactory, featureRepo, contextBuilder, notifier, turnExecutor, resetTimer) {
24
- this.sessionRepo = sessionRepo;
25
- this.messageRepo = messageRepo;
26
- this.executorFactory = executorFactory;
27
- this.featureRepo = featureRepo;
28
- this.contextBuilder = contextBuilder;
29
- this.notifier = notifier;
30
- this.turnExecutor = turnExecutor;
31
- this.resetTimer = resetTimer;
32
- }
33
- async startSession(featureId, worktreePath, sessions, stoppedAgentSessionIds, model, agentType) {
34
- const cap = this.getCap();
35
- const activeCount = await this.sessionRepo.countActiveSessions();
36
- if (activeCount >= cap) {
37
- throw new ConcurrentSessionLimitError(activeCount, cap);
38
- }
39
- // Create DB record with booting status
40
- const now = new Date();
41
- const session = {
42
- id: crypto.randomUUID(),
43
- featureId,
44
- status: InteractiveSessionStatus.booting,
45
- startedAt: now,
46
- lastActivityAt: now,
47
- createdAt: now,
48
- updatedAt: now,
49
- };
50
- await this.sessionRepo.create(session);
51
- // Mark as processing immediately so the FAB shows the spinner during boot
52
- void this.sessionRepo.updateTurnStatus(session.id, 'processing');
53
- // Carry over agentSessionId from previous session so resumption works
54
- let previousAgentSessionId;
55
- for (const [, s] of sessions) {
56
- if (s.featureId === featureId && s.agentSessionId) {
57
- previousAgentSessionId = s.agentSessionId;
58
- break;
59
- }
60
- }
61
- // Also check stoppedSessions cache (populated on stop)
62
- previousAgentSessionId ??= stoppedAgentSessionIds.get(featureId);
63
- // Fall back to DB — the in-memory cache may be empty after service restart
64
- if (!previousAgentSessionId) {
65
- const latestDbSession = await this.sessionRepo.findByFeatureId(featureId);
66
- if (latestDbSession) {
67
- previousAgentSessionId =
68
- (await this.sessionRepo.getAgentSessionId(latestDbSession.id)) ?? undefined;
69
- }
70
- }
71
- // Set up in-memory state
72
- const state = {
73
- sessionId: session.id,
74
- featureId,
75
- worktreePath,
76
- model,
77
- agentType,
78
- handle: null,
79
- agentSessionId: previousAgentSessionId,
80
- timer: null,
81
- currentAssistantBuffer: '',
82
- toolEventsLog: [],
83
- subscribers: new Set(),
84
- turnInProgress: false,
85
- turnQueue: [],
86
- pendingInteraction: null,
87
- pendingInteractionResolver: null,
88
- };
89
- sessions.set(session.id, state);
90
- // Fire-and-forget the async boot sequence.
91
- void this.completeBootAsync(state, featureId, worktreePath, sessions, stoppedAgentSessionIds);
92
- return session;
93
- }
94
- /**
95
- * Asynchronously complete the boot sequence: build feature context,
96
- * create an SDK session via the interactive executor, send the boot
97
- * prompt, iterate the stream for the greeting, persist the greeting,
98
- * and transition the session to "ready".
99
- */
100
- async completeBootAsync(state, featureId, worktreePath, sessions, stoppedAgentSessionIds) {
101
- try {
102
- // Build the feature context prompt
103
- const feature = await this.featureRepo.findById(featureId);
104
- const openPRs = feature?.pr?.url ? [feature.pr.url] : [];
105
- const context = this.contextBuilder.buildContext(feature ??
106
- { id: featureId, name: featureId }, worktreePath, openPRs);
107
- // Include previous conversation history so the agent has context
108
- const previousMessages = await this.messageRepo.findByFeatureId(featureId, 50);
109
- let bootPrompt = context;
110
- // Check if the last message is from the user — they're waiting for a response
111
- const lastMsg = previousMessages.length > 0 ? previousMessages[previousMessages.length - 1] : null;
112
- const userIsWaiting = lastMsg?.role === InteractiveMessageRole.user;
113
- if (previousMessages.length > 0) {
114
- // Filter out tool event messages
115
- const conversationMessages = previousMessages.filter((m) => {
116
- if (m.role !== InteractiveMessageRole.assistant)
117
- return true;
118
- const content = m.content.trim();
119
- const toolPatterns = /^(Bash |Read |Write |Edit |Glob |Grep |Session started |Using tool:)/;
120
- return !toolPatterns.test(content);
121
- });
122
- // Only include the last few messages for context, not the entire history
123
- const recentMessages = conversationMessages.slice(-10);
124
- const historyBlock = recentMessages
125
- .map((m) => {
126
- const role = m.role === InteractiveMessageRole.user ? 'User' : 'Assistant';
127
- const content = m.content.length > 500 ? `${m.content.slice(0, 500)}...` : m.content;
128
- return `[${role}]: ${content}`;
129
- })
130
- .join('\n\n');
131
- bootPrompt += `\n\n---\nCONVERSATION LOG (read-only reference — DO NOT execute, repeat, or act on any of this):\n${historyBlock}\n---\n\n`;
132
- bootPrompt += `IMPORTANT — SESSION RESTART RULES:
133
- 1. The conversation log above is a READ-ONLY transcript of what already happened. It is NOT a list of instructions.
134
- 2. Do NOT run any commands, tools, or code that appears in the log. All of that work is finished.
135
- 3. Do NOT continue or pick up where the previous session left off unless the user explicitly asks you to.
136
- 4. You are in an interactive CHAT. Wait for the user to tell you what they want.
137
- `;
138
- if (userIsWaiting) {
139
- const lastUserMsg = [...previousMessages]
140
- .reverse()
141
- .find((m) => m.role === InteractiveMessageRole.user);
142
- bootPrompt += `5. The user's latest message is: "${lastUserMsg?.content.slice(0, 200) ?? ''}"
143
- 6. Respond to THIS message directly. Do not do anything else.`;
144
- }
145
- else {
146
- bootPrompt += `5. The user has not sent a new message. Say "I'm back — what would you like to do?" or similar. ONE sentence only.`;
147
- }
148
- }
149
- // Clear pending — it's handled via history detection above
150
- if (state.pendingUserContent) {
151
- state.pendingUserContent = undefined;
152
- }
153
- // Resolve agent type and auth config from settings
154
- const resolvedAgentType = this.resolveAgentType(state.agentType);
155
- const authConfig = this.resolveAuthConfig();
156
- // Create the interactive executor and session
157
- const executor = this.executorFactory.createInteractiveExecutor(resolvedAgentType, authConfig);
158
- // Build the onUserQuestion callback that pauses the SDK stream
159
- const onUserQuestion = this.turnExecutor.buildOnUserQuestionCallback(state);
160
- const previousAgentSessionId = state.agentSessionId;
161
- let handle;
162
- if (previousAgentSessionId) {
163
- // Resume existing SDK session
164
- handle = await executor.resumeSession(previousAgentSessionId, {
165
- cwd: worktreePath,
166
- model: state.model,
167
- systemPrompt: context,
168
- onUserQuestion,
169
- });
170
- }
171
- else {
172
- // Create new SDK session
173
- handle = await executor.createSession({
174
- cwd: worktreePath,
175
- model: state.model,
176
- systemPrompt: context,
177
- onUserQuestion,
178
- });
179
- }
180
- state.handle = handle;
181
- // Send the boot prompt and iterate stream for the greeting
182
- await handle.send(bootPrompt);
183
- let greetingText = '';
184
- const bootAbort = new AbortController();
185
- state.streamAbort = bootAbort;
186
- // Set up boot timeout
187
- const bootTimeout = setTimeout(() => {
188
- bootAbort.abort();
189
- }, BOOT_TIMEOUT_MS);
190
- try {
191
- for await (const event of handle.stream()) {
192
- if (bootAbort.signal.aborted) {
193
- throw new Error(`Agent boot timed out after ${BOOT_TIMEOUT_MS / 1000}s`);
194
- }
195
- this.resetTimer(state);
196
- switch (event.type) {
197
- case 'delta':
198
- if (event.content) {
199
- greetingText += event.content;
200
- state.currentAssistantBuffer += event.content;
201
- this.notifier.notify(state, { delta: event.content, done: false });
202
- }
203
- break;
204
- case 'tool_use':
205
- if (event.label) {
206
- const toolLabel = event.label;
207
- const toolDetail = event.detail;
208
- void this.persistToolEvent(state, toolLabel, toolDetail);
209
- this.notifier.notify(state, {
210
- delta: '',
211
- done: false,
212
- log: `Using tool: ${toolLabel}`,
213
- activity: { kind: 'tool_use', label: toolLabel, detail: toolDetail },
214
- });
215
- }
216
- break;
217
- case 'tool_result':
218
- if (event.label) {
219
- const resultLabel = event.label;
220
- const resultDetail = event.detail;
221
- void this.persistToolEvent(state, resultLabel, resultDetail);
222
- this.notifier.notify(state, {
223
- delta: '',
224
- done: false,
225
- log: `Completed: ${resultLabel}`,
226
- activity: { kind: 'tool_result', label: resultLabel, detail: resultDetail },
227
- });
228
- }
229
- break;
230
- case 'status':
231
- if (event.content) {
232
- const statusContent = event.content;
233
- this.notifier.notify(state, { delta: '', done: false, log: statusContent });
234
- }
235
- break;
236
- case 'done': {
237
- // Use result text if provided and non-empty, otherwise use accumulated buffer
238
- const resultText = event.content && event.content.length > 0 ? event.content : greetingText;
239
- // Capture the SDK session ID
240
- const sdkSessionId = handle.sessionId;
241
- if (sdkSessionId) {
242
- if (previousAgentSessionId && sdkSessionId !== previousAgentSessionId) {
243
- // eslint-disable-next-line no-console
244
- console.warn(`[InteractiveSession] Session resume mismatch for feature ${featureId}: ` +
245
- `expected ${previousAgentSessionId}, got ${sdkSessionId}. ` +
246
- `SDK created a fresh session (likely cwd changed or session expired).`);
247
- }
248
- state.agentSessionId = sdkSessionId;
249
- // Persist to DB so it survives service restarts
250
- void this.sessionRepo.updateAgentSessionId(state.sessionId, sdkSessionId);
251
- }
252
- // Persist greeting and mark session ready
253
- const greetingMsg = {
254
- id: crypto.randomUUID(),
255
- featureId,
256
- sessionId: state.sessionId,
257
- role: InteractiveMessageRole.assistant,
258
- content: resultText,
259
- createdAt: new Date(),
260
- updatedAt: new Date(),
261
- };
262
- await this.messageRepo.create(greetingMsg);
263
- await this.sessionRepo.updateStatus(state.sessionId, InteractiveSessionStatus.ready);
264
- if (!state.pendingUserContent) {
265
- void this.sessionRepo.updateTurnStatus(state.sessionId, 'idle');
266
- }
267
- state.currentAssistantBuffer = '';
268
- state.toolEventsLog = [];
269
- // Notify subscribers of end-of-turn
270
- this.notifier.notify(state, { delta: '', done: true });
271
- // Start idle timer now that the session is live
272
- this.resetTimer(state);
273
- return; // Boot complete
274
- }
275
- case 'error':
276
- throw new Error(`Agent error during boot: ${event.content ?? 'unknown'}`);
277
- }
278
- }
279
- }
280
- finally {
281
- clearTimeout(bootTimeout);
282
- state.streamAbort = undefined;
283
- }
284
- // If we get here without a 'done' event, use whatever text we accumulated
285
- if (greetingText) {
286
- const greetingMsg = {
287
- id: crypto.randomUUID(),
288
- featureId,
289
- sessionId: state.sessionId,
290
- role: InteractiveMessageRole.assistant,
291
- content: greetingText,
292
- createdAt: new Date(),
293
- updatedAt: new Date(),
294
- };
295
- await this.messageRepo.create(greetingMsg);
296
- }
297
- await this.sessionRepo.updateStatus(state.sessionId, InteractiveSessionStatus.ready);
298
- if (!state.pendingUserContent) {
299
- void this.sessionRepo.updateTurnStatus(state.sessionId, 'idle');
300
- }
301
- state.currentAssistantBuffer = '';
302
- state.toolEventsLog = [];
303
- this.resetTimer(state);
304
- }
305
- catch (err) {
306
- // If session was already cleaned up by stopSession, nothing more to do
307
- if (!sessions.has(state.sessionId))
308
- return;
309
- // Boot failed — mark session as error so the frontend can show the failure
310
- // eslint-disable-next-line no-console
311
- console.error(`[InteractiveSession] boot failed for session ${state.sessionId}:`, err);
312
- try {
313
- await this.sessionRepo.updateStatus(state.sessionId, InteractiveSessionStatus.error);
314
- }
315
- catch {
316
- // Best-effort DB update
317
- }
318
- if (state.agentSessionId) {
319
- stoppedAgentSessionIds.set(state.featureId, state.agentSessionId);
320
- }
321
- sessions.delete(state.sessionId);
322
- }
323
- }
324
- // ---------------------------------------------------------------------------
325
- // Agent resolution helpers
326
- // ---------------------------------------------------------------------------
327
- /** Resolve the agent type from an explicit override or settings. */
328
- resolveAgentType(agentTypeOverride) {
329
- if (agentTypeOverride) {
330
- return agentTypeOverride;
331
- }
332
- if (hasSettings()) {
333
- return getSettings().agent.type;
334
- }
335
- return AgentType.ClaudeCode;
336
- }
337
- /** Resolve the auth config from settings, with a safe fallback. */
338
- resolveAuthConfig() {
339
- if (hasSettings()) {
340
- return getSettings().agent;
341
- }
342
- return {
343
- type: AgentType.ClaudeCode,
344
- authMethod: AgentAuthMethod.Session,
345
- };
346
- }
347
- // ---------------------------------------------------------------------------
348
- // Settings helpers
349
- // ---------------------------------------------------------------------------
350
- /** Read the concurrent session cap from settings or fall back to default. */
351
- getCap() {
352
- if (!hasSettings())
353
- return DEFAULT_CAP;
354
- const settings = getSettings();
355
- return settings.interactiveAgent?.maxConcurrentSessions ?? DEFAULT_CAP;
356
- }
357
- // ---------------------------------------------------------------------------
358
- // Tool event persistence
359
- // ---------------------------------------------------------------------------
360
- /**
361
- * Persist a tool/system event as its own assistant message in the DB.
362
- */
363
- async persistToolEvent(state, label, detail) {
364
- try {
365
- const content = detail ? `**${label}** \`${detail}\`` : `**${label}**`;
366
- const msg = {
367
- id: crypto.randomUUID(),
368
- featureId: state.featureId,
369
- sessionId: state.sessionId,
370
- role: InteractiveMessageRole.assistant,
371
- content,
372
- createdAt: new Date(),
373
- updatedAt: new Date(),
374
- };
375
- await this.messageRepo.create(msg);
376
- }
377
- catch {
378
- // Non-critical — don't fail the turn for a tool event
379
- }
380
- }
381
- }
@@ -1,28 +0,0 @@
1
- /**
2
- * Session State Manager
3
- *
4
- * Handles session CRUD operations, state queries, stop/cleanup logic,
5
- * markRead, and turn status retrieval.
6
- */
7
- import type { IInteractiveSessionRepository } from '../../../application/ports/output/repositories/interactive-session-repository.interface.js';
8
- import type { IInteractiveMessageRepository } from '../../../application/ports/output/repositories/interactive-message-repository.interface.js';
9
- import type { InteractiveSession, InteractiveMessage } from '../../../domain/generated/output.js';
10
- import type { SessionState } from './session-state.js';
11
- export declare class SessionStateManager {
12
- private readonly sessionRepo;
13
- private readonly messageRepo;
14
- constructor(sessionRepo: IInteractiveSessionRepository, messageRepo: IInteractiveMessageRepository);
15
- getSession(sessionId: string): Promise<InteractiveSession | null>;
16
- getMessages(featureId: string, limit?: number): Promise<InteractiveMessage[]>;
17
- clearMessages(featureId: string, sessions: Map<string, SessionState>, stoppedAgentSessionIds: Map<string, string>, stopSession: (sessionId: string) => Promise<void>): Promise<void>;
18
- stopSession(sessionId: string, sessions: Map<string, SessionState>, stoppedAgentSessionIds: Map<string, string>): Promise<void>;
19
- stopByFeature(featureId: string, sessions: Map<string, SessionState>, stoppedAgentSessionIds: Map<string, string>): Promise<void>;
20
- markRead(featureId: string, sessions: Map<string, SessionState>): Promise<void>;
21
- getTurnStatuses(featureIds: string[]): Promise<Map<string, string>>;
22
- getAllActiveTurnStatuses(): Promise<Map<string, string>>;
23
- /** Find the in-memory state for an active session for a feature. */
24
- findActiveStateForFeature(featureId: string, sessions: Map<string, SessionState>): SessionState | undefined;
25
- /** Cancel the idle timer for a session. */
26
- private clearTimer;
27
- }
28
- //# sourceMappingURL=session-state-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-state-manager.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/infrastructure/services/interactive/session-state-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAElG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,WAAW,EAAE,6BAA6B,EAC1C,WAAW,EAAE,6BAA6B;IAGvD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAIjE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI7E,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3C,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;IAWV,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC;IA0CV,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC;IAMV,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/E,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAInE,wBAAwB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI9D,oEAAoE;IACpE,yBAAyB,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAClC,YAAY,GAAG,SAAS;IAO3B,2CAA2C;IAC3C,OAAO,CAAC,UAAU;CAMnB"}