@shepai/cli 1.179.1 → 1.180.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 (912) hide show
  1. package/apis/json-schema/Application.yaml +40 -0
  2. package/apis/json-schema/ApplicationStatus.yaml +8 -0
  3. package/apis/json-schema/InteractiveMessage.yaml +3 -0
  4. package/apis/json-schema/WorkflowStep.yaml +53 -0
  5. package/apis/json-schema/WorkflowStepStatus.yaml +10 -0
  6. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +17 -0
  7. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -0
  8. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.js +6 -0
  9. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +1 -0
  10. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts +13 -0
  12. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/ports/output/repositories/workflow-step-repository.interface.d.ts +52 -0
  14. package/dist/packages/core/src/application/ports/output/repositories/workflow-step-repository.interface.d.ts.map +1 -0
  15. package/dist/packages/core/src/application/ports/output/repositories/workflow-step-repository.interface.js +11 -0
  16. package/dist/packages/core/src/application/ports/output/services/application-brief-store.interface.d.ts +36 -0
  17. package/dist/packages/core/src/application/ports/output/services/application-brief-store.interface.d.ts.map +1 -0
  18. package/dist/packages/core/src/application/ports/output/services/application-brief-store.interface.js +22 -0
  19. package/dist/packages/core/src/application/ports/output/services/application-creation-prompt-builder.interface.d.ts +116 -0
  20. package/dist/packages/core/src/application/ports/output/services/application-creation-prompt-builder.interface.d.ts.map +1 -0
  21. package/dist/packages/core/src/application/ports/output/services/application-creation-prompt-builder.interface.js +27 -0
  22. package/dist/packages/core/src/application/ports/output/services/application-file-system-service.interface.d.ts +100 -0
  23. package/dist/packages/core/src/application/ports/output/services/application-file-system-service.interface.d.ts.map +1 -0
  24. package/dist/packages/core/src/application/ports/output/services/application-file-system-service.interface.js +20 -0
  25. package/dist/packages/core/src/application/ports/output/services/index.d.ts +4 -0
  26. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  27. package/dist/packages/core/src/application/ports/output/services/index.js +1 -0
  28. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +111 -5
  29. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -1
  30. package/dist/packages/core/src/application/ports/output/services/terminal-session-service.interface.d.ts +46 -0
  31. package/dist/packages/core/src/application/ports/output/services/terminal-session-service.interface.d.ts.map +1 -0
  32. package/dist/packages/core/src/application/ports/output/services/terminal-session-service.interface.js +9 -0
  33. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +92 -0
  34. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -0
  35. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +305 -0
  36. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts +15 -0
  37. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts.map +1 -0
  38. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.js +45 -0
  39. package/dist/packages/core/src/application/use-cases/applications/get-application.use-case.d.ts +13 -0
  40. package/dist/packages/core/src/application/use-cases/applications/get-application.use-case.d.ts.map +1 -0
  41. package/dist/packages/core/src/application/use-cases/applications/get-application.use-case.js +33 -0
  42. package/dist/packages/core/src/application/use-cases/applications/index.d.ts +13 -0
  43. package/dist/packages/core/src/application/use-cases/applications/index.d.ts.map +1 -0
  44. package/dist/packages/core/src/application/use-cases/applications/index.js +10 -0
  45. package/dist/packages/core/src/application/use-cases/applications/list-application-files.use-case.d.ts +18 -0
  46. package/dist/packages/core/src/application/use-cases/applications/list-application-files.use-case.d.ts.map +1 -0
  47. package/dist/packages/core/src/application/use-cases/applications/list-application-files.use-case.js +41 -0
  48. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts +13 -0
  49. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -0
  50. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +33 -0
  51. package/dist/packages/core/src/application/use-cases/applications/read-application-file-raw.use-case.d.ts +22 -0
  52. package/dist/packages/core/src/application/use-cases/applications/read-application-file-raw.use-case.d.ts.map +1 -0
  53. package/dist/packages/core/src/application/use-cases/applications/read-application-file-raw.use-case.js +46 -0
  54. package/dist/packages/core/src/application/use-cases/applications/read-application-file.use-case.d.ts +19 -0
  55. package/dist/packages/core/src/application/use-cases/applications/read-application-file.use-case.d.ts.map +1 -0
  56. package/dist/packages/core/src/application/use-cases/applications/read-application-file.use-case.js +43 -0
  57. package/dist/packages/core/src/application/use-cases/applications/update-application.use-case.d.ts +14 -0
  58. package/dist/packages/core/src/application/use-cases/applications/update-application.use-case.d.ts.map +1 -0
  59. package/dist/packages/core/src/application/use-cases/applications/update-application.use-case.js +33 -0
  60. package/dist/packages/core/src/application/use-cases/applications/watch-application-files.use-case.d.ts +21 -0
  61. package/dist/packages/core/src/application/use-cases/applications/watch-application-files.use-case.d.ts.map +1 -0
  62. package/dist/packages/core/src/application/use-cases/applications/watch-application-files.use-case.js +43 -0
  63. package/dist/packages/core/src/application/use-cases/applications/write-application-file.use-case.d.ts +22 -0
  64. package/dist/packages/core/src/application/use-cases/applications/write-application-file.use-case.d.ts.map +1 -0
  65. package/dist/packages/core/src/application/use-cases/applications/write-application-file.use-case.js +44 -0
  66. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts +18 -0
  67. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts.map +1 -1
  68. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.js +1 -1
  69. package/dist/packages/core/src/application/use-cases/terminal/create-terminal-session.use-case.d.ts +19 -0
  70. package/dist/packages/core/src/application/use-cases/terminal/create-terminal-session.use-case.d.ts.map +1 -0
  71. package/dist/packages/core/src/application/use-cases/terminal/create-terminal-session.use-case.js +42 -0
  72. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +77 -0
  73. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -0
  74. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +191 -0
  75. package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts +50 -0
  76. package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts.map +1 -0
  77. package/dist/packages/core/src/application/workflows/application-creation.workflow.js +138 -0
  78. package/dist/packages/core/src/domain/generated/output.d.ts +102 -0
  79. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  80. package/dist/packages/core/src/domain/generated/output.js +14 -0
  81. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  82. package/dist/packages/core/src/infrastructure/di/container.js +93 -1
  83. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +37 -0
  84. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -0
  85. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +52 -0
  86. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts +1 -0
  87. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts.map +1 -1
  88. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.js +2 -0
  89. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-step.mapper.d.ts +25 -0
  90. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-step.mapper.d.ts.map +1 -0
  91. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-step.mapper.js +50 -0
  92. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-create-applications-table.d.ts +5 -0
  93. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-create-applications-table.d.ts.map +1 -0
  94. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-create-applications-table.js +34 -0
  95. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-workflow-steps.d.ts +31 -0
  96. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-workflow-steps.d.ts.map +1 -0
  97. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-workflow-steps.js +72 -0
  98. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +21 -0
  99. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -0
  100. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +98 -0
  101. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.js +2 -2
  102. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts +1 -0
  103. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts.map +1 -1
  104. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.js +16 -0
  105. package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-step.repository.d.ts +29 -0
  106. package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-step.repository.d.ts.map +1 -0
  107. package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-step.repository.js +157 -0
  108. package/dist/packages/core/src/infrastructure/services/agents/application-creation/application-creation-prompt.builder.d.ts +25 -0
  109. package/dist/packages/core/src/infrastructure/services/agents/application-creation/application-creation-prompt.builder.d.ts.map +1 -0
  110. package/dist/packages/core/src/infrastructure/services/agents/application-creation/application-creation-prompt.builder.js +95 -0
  111. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/brand.d.ts +2 -0
  112. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/brand.d.ts.map +1 -0
  113. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/brand.js +11 -0
  114. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/dynamic.d.ts +14 -0
  115. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/dynamic.d.ts.map +1 -0
  116. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/dynamic.js +50 -0
  117. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/mission.d.ts +2 -0
  118. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/mission.d.ts.map +1 -0
  119. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/mission.js +10 -0
  120. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/output-contract.d.ts +2 -0
  121. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/output-contract.d.ts.map +1 -0
  122. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/output-contract.js +20 -0
  123. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/quality.d.ts +2 -0
  124. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/quality.d.ts.map +1 -0
  125. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/quality.js +12 -0
  126. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/role.d.ts +2 -0
  127. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/role.d.ts.map +1 -0
  128. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/role.js +9 -0
  129. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/tech-stack.d.ts +2 -0
  130. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/tech-stack.d.ts.map +1 -0
  131. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/tech-stack.js +23 -0
  132. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/user-interaction.d.ts +2 -0
  133. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/user-interaction.d.ts.map +1 -0
  134. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/user-interaction.js +29 -0
  135. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/workflow.d.ts +15 -0
  136. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/workflow.d.ts.map +1 -0
  137. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/workflow.js +40 -0
  138. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -1
  139. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +14 -8
  140. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.d.ts +20 -0
  141. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.d.ts.map +1 -0
  142. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.js +40 -0
  143. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts +18 -0
  144. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts.map +1 -0
  145. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.js +292 -0
  146. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +49 -10
  147. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
  148. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +323 -149
  149. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.d.ts +22 -0
  150. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.d.ts.map +1 -0
  151. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.js +182 -0
  152. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  153. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +11 -1
  154. package/dist/src/presentation/web/app/actions/check-all-agents-status.d.ts +7 -0
  155. package/dist/src/presentation/web/app/actions/check-all-agents-status.d.ts.map +1 -0
  156. package/dist/src/presentation/web/app/actions/check-all-agents-status.js +30 -0
  157. package/dist/src/presentation/web/app/actions/create-application.d.ts +33 -0
  158. package/dist/src/presentation/web/app/actions/create-application.d.ts.map +1 -0
  159. package/dist/src/presentation/web/app/actions/create-application.js +29 -0
  160. package/dist/src/presentation/web/app/actions/create-project-and-feature.d.ts +20 -0
  161. package/dist/src/presentation/web/app/actions/create-project-and-feature.d.ts.map +1 -0
  162. package/dist/src/presentation/web/app/actions/create-project-and-feature.js +84 -0
  163. package/dist/src/presentation/web/app/actions/delete-application.d.ts +4 -0
  164. package/dist/src/presentation/web/app/actions/delete-application.d.ts.map +1 -0
  165. package/dist/src/presentation/web/app/actions/delete-application.js +16 -0
  166. package/dist/src/presentation/web/app/actions/deploy-application.d.ts +20 -0
  167. package/dist/src/presentation/web/app/actions/deploy-application.d.ts.map +1 -0
  168. package/dist/src/presentation/web/app/actions/deploy-application.js +62 -0
  169. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.d.ts +25 -0
  170. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.d.ts.map +1 -0
  171. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.js +37 -0
  172. package/dist/src/presentation/web/app/actions/get-git-log.js +2 -2
  173. package/dist/src/presentation/web/app/actions/update-application.d.ts +5 -0
  174. package/dist/src/presentation/web/app/actions/update-application.d.ts.map +1 -0
  175. package/dist/src/presentation/web/app/actions/update-application.js +21 -0
  176. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.d.ts +17 -0
  177. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.d.ts.map +1 -0
  178. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.js +63 -0
  179. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.d.ts +17 -0
  180. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.d.ts.map +1 -0
  181. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.js +55 -0
  182. package/dist/src/presentation/web/app/api/applications/[id]/files/route.d.ts +16 -0
  183. package/dist/src/presentation/web/app/api/applications/[id]/files/route.d.ts.map +1 -0
  184. package/dist/src/presentation/web/app/api/applications/[id]/files/route.js +23 -0
  185. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.d.ts +21 -0
  186. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.d.ts.map +1 -0
  187. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.js +86 -0
  188. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts +15 -6
  189. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
  190. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +36 -20
  191. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.d.ts +21 -0
  192. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.d.ts.map +1 -0
  193. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.js +82 -0
  194. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.d.ts +15 -0
  195. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.d.ts.map +1 -0
  196. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.js +27 -0
  197. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.d.ts +15 -0
  198. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.d.ts.map +1 -0
  199. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.js +27 -0
  200. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.d.ts +15 -0
  201. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.d.ts.map +1 -0
  202. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.js +20 -0
  203. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.d.ts +17 -0
  204. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.d.ts.map +1 -0
  205. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.js +76 -0
  206. package/dist/src/presentation/web/app/api/terminal/route.d.ts +12 -0
  207. package/dist/src/presentation/web/app/api/terminal/route.d.ts.map +1 -0
  208. package/dist/src/presentation/web/app/api/terminal/route.js +34 -0
  209. package/dist/src/presentation/web/app/application/[id]/page.d.ts +8 -0
  210. package/dist/src/presentation/web/app/application/[id]/page.d.ts.map +1 -0
  211. package/dist/src/presentation/web/app/application/[id]/page.js +65 -0
  212. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +3 -1
  213. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  214. package/dist/src/presentation/web/app/build-graph-nodes.js +19 -0
  215. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +5 -1
  216. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  217. package/dist/src/presentation/web/components/assistant-ui/thread.js +19 -5
  218. package/dist/src/presentation/web/components/common/application-node/application-node-config.d.ts +24 -0
  219. package/dist/src/presentation/web/components/common/application-node/application-node-config.d.ts.map +1 -0
  220. package/dist/src/presentation/web/components/common/application-node/application-node-config.js +1 -0
  221. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts +7 -0
  222. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -0
  223. package/dist/src/presentation/web/components/common/application-node/application-node.js +156 -0
  224. package/dist/src/presentation/web/components/common/application-node/application-node.stories.d.ts +12 -0
  225. package/dist/src/presentation/web/components/common/application-node/application-node.stories.d.ts.map +1 -0
  226. package/dist/src/presentation/web/components/common/application-node/application-node.stories.js +100 -0
  227. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.d.ts.map +1 -1
  228. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  229. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts +31 -0
  230. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -0
  231. package/dist/src/presentation/web/components/features/application-page/application-page.js +330 -0
  232. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts +9 -0
  233. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts.map +1 -0
  234. package/dist/src/presentation/web/components/features/application-page/application-page.stories.js +51 -0
  235. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.d.ts +11 -0
  236. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.d.ts.map +1 -0
  237. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.js +35 -0
  238. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.d.ts +27 -0
  239. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.d.ts.map +1 -0
  240. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.js +147 -0
  241. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.d.ts +19 -0
  242. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.d.ts.map +1 -0
  243. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.js +85 -0
  244. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.d.ts +16 -0
  245. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.d.ts.map +1 -0
  246. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.js +53 -0
  247. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.d.ts +9 -0
  248. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.d.ts.map +1 -0
  249. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.js +111 -0
  250. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.d.ts +27 -0
  251. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.d.ts.map +1 -0
  252. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.js +162 -0
  253. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.d.ts +3 -0
  254. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.d.ts.map +1 -0
  255. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.js +1 -0
  256. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.d.ts +56 -0
  257. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.d.ts.map +1 -0
  258. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.js +35 -0
  259. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.d.ts +39 -0
  260. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.d.ts.map +1 -0
  261. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.js +238 -0
  262. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.d.ts +14 -0
  263. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.d.ts.map +1 -0
  264. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.js +37 -0
  265. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts +19 -0
  266. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts.map +1 -0
  267. package/dist/src/presentation/web/components/features/application-page/run-dev-button.js +80 -0
  268. package/dist/src/presentation/web/components/features/application-page/terminal-tab.d.ts +9 -0
  269. package/dist/src/presentation/web/components/features/application-page/terminal-tab.d.ts.map +1 -0
  270. package/dist/src/presentation/web/components/features/application-page/terminal-tab.js +224 -0
  271. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.d.ts +6 -0
  272. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.d.ts.map +1 -0
  273. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.js +57 -0
  274. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  275. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +4 -2
  276. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +38 -1
  277. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  278. package/dist/src/presentation/web/components/features/chat/ChatTab.js +53 -8
  279. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts +36 -0
  280. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts.map +1 -0
  281. package/dist/src/presentation/web/components/features/chat/StepTracker.js +133 -0
  282. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.d.ts +11 -0
  283. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.d.ts.map +1 -0
  284. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.js +121 -0
  285. package/dist/src/presentation/web/components/features/chat/chat-state-query.d.ts +12 -0
  286. package/dist/src/presentation/web/components/features/chat/chat-state-query.d.ts.map +1 -0
  287. package/dist/src/presentation/web/components/features/chat/chat-state-query.js +20 -0
  288. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.d.ts +38 -0
  289. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.d.ts.map +1 -0
  290. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.js +91 -0
  291. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.d.ts +17 -0
  292. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.d.ts.map +1 -0
  293. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.js +25 -0
  294. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.d.ts +11 -0
  295. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.d.ts.map +1 -0
  296. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.js +15 -0
  297. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.d.ts +21 -0
  298. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.d.ts.map +1 -0
  299. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.js +37 -0
  300. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.d.ts +14 -0
  301. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.d.ts.map +1 -0
  302. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.js +13 -0
  303. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +52 -1
  304. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
  305. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +360 -28
  306. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +21 -0
  307. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts.map +1 -0
  308. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +40 -0
  309. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts +3 -1
  310. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  311. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +183 -120
  312. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts +4 -16
  313. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts.map +1 -1
  314. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.js +16 -109
  315. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  316. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +40 -17
  317. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +4 -0
  318. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  319. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +25 -1
  320. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.d.ts +2 -1
  321. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.d.ts.map +1 -1
  322. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.js +9 -2
  323. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  324. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +2 -9
  325. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +2 -1
  326. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  327. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -0
  328. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +3 -1
  329. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  330. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +9 -4
  331. package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts +1 -1
  332. package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts.map +1 -1
  333. package/dist/src/presentation/web/hooks/deployment-status-provider.js +4 -1
  334. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +5 -0
  335. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  336. package/dist/src/presentation/web/hooks/use-graph-state.js +37 -2
  337. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts +13 -3
  338. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts.map +1 -1
  339. package/dist/src/presentation/web/hooks/use-turn-statuses.js +73 -13
  340. package/dist/src/presentation/web/lib/derive-graph.d.ts +11 -1
  341. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
  342. package/dist/src/presentation/web/lib/derive-graph.js +35 -1
  343. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts +8 -1
  344. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  345. package/dist/src/presentation/web/lib/layout-with-dagre.js +27 -3
  346. package/dist/src/presentation/web/next.config.d.ts.map +1 -1
  347. package/dist/src/presentation/web/next.config.js +1 -0
  348. package/dist/translations/ar/web.json +2 -1
  349. package/dist/translations/de/web.json +2 -1
  350. package/dist/translations/en/web.json +2 -1
  351. package/dist/translations/es/web.json +2 -1
  352. package/dist/translations/fr/web.json +2 -1
  353. package/dist/translations/he/web.json +2 -1
  354. package/dist/translations/pt/web.json +2 -1
  355. package/dist/translations/ru/web.json +2 -1
  356. package/dist/translations/uk/web.json +2 -1
  357. package/dist/tsconfig.build.tsbuildinfo +1 -1
  358. package/package.json +5 -3
  359. package/web/.next/BUILD_ID +1 -1
  360. package/web/.next/app-path-routes-manifest.json +11 -0
  361. package/web/.next/build-manifest.json +5 -5
  362. package/web/.next/fallback-build-manifest.json +2 -2
  363. package/web/.next/prerender-manifest.json +3 -3
  364. package/web/.next/required-server-files.js +3 -2
  365. package/web/.next/required-server-files.json +3 -2
  366. package/web/.next/routes-manifest.json +84 -0
  367. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  368. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +111 -81
  369. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +6 -5
  370. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  371. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  372. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +3 -3
  373. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +107 -77
  374. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +6 -5
  375. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  376. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  377. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  378. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +113 -83
  379. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +6 -5
  380. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  381. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  382. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  383. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +129 -99
  384. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +6 -5
  385. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  386. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  387. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  388. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +129 -99
  389. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +6 -5
  390. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  391. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  392. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  393. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +109 -79
  394. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +6 -5
  395. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  396. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  397. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  398. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +109 -79
  399. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +6 -5
  400. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  401. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  402. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +3 -3
  403. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +107 -77
  404. package/web/.next/server/app/(dashboard)/chat/page.js +6 -5
  405. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  406. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  407. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  408. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +113 -83
  409. package/web/.next/server/app/(dashboard)/create/page.js +6 -5
  410. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  411. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  412. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  413. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +129 -99
  414. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +6 -5
  415. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  416. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  417. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  418. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +129 -99
  419. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +6 -5
  420. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  421. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  422. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  423. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +107 -77
  424. package/web/.next/server/app/(dashboard)/page.js +6 -5
  425. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  426. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  427. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  428. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +109 -79
  429. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +6 -5
  430. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  431. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  432. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  433. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +109 -79
  434. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +6 -5
  435. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  436. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  437. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  438. package/web/.next/server/app/_global-error/page.js +1 -1
  439. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  440. package/web/.next/server/app/_global-error.html +2 -2
  441. package/web/.next/server/app/_global-error.rsc +1 -1
  442. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  443. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  444. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  445. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  446. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  447. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  448. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +27 -12
  449. package/web/.next/server/app/_not-found/page.js +2 -2
  450. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  451. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  452. package/web/.next/server/app/api/applications/[id]/files/content/route/app-paths-manifest.json +3 -0
  453. package/web/.next/server/app/api/applications/[id]/files/content/route/build-manifest.json +11 -0
  454. package/web/.next/server/app/api/applications/[id]/files/content/route/server-reference-manifest.json +4 -0
  455. package/web/.next/server/app/api/applications/[id]/files/content/route.js +6 -0
  456. package/web/.next/server/app/api/applications/[id]/files/content/route.js.map +5 -0
  457. package/web/.next/server/app/api/applications/[id]/files/content/route.js.nft.json +1 -0
  458. package/web/.next/server/app/api/applications/[id]/files/content/route_client-reference-manifest.js +2 -0
  459. package/web/.next/server/app/api/applications/[id]/files/raw/route/app-paths-manifest.json +3 -0
  460. package/web/.next/server/app/api/applications/[id]/files/raw/route/build-manifest.json +11 -0
  461. package/web/.next/server/app/api/applications/[id]/files/raw/route/server-reference-manifest.json +4 -0
  462. package/web/.next/server/app/api/applications/[id]/files/raw/route.js +7 -0
  463. package/web/.next/server/app/api/applications/[id]/files/raw/route.js.map +5 -0
  464. package/web/.next/server/app/api/applications/[id]/files/raw/route.js.nft.json +1 -0
  465. package/web/.next/server/app/api/applications/[id]/files/raw/route_client-reference-manifest.js +2 -0
  466. package/web/.next/server/app/api/applications/[id]/files/route/app-paths-manifest.json +3 -0
  467. package/web/.next/server/app/api/applications/[id]/files/route/build-manifest.json +11 -0
  468. package/web/.next/server/app/api/applications/[id]/files/route/server-reference-manifest.json +4 -0
  469. package/web/.next/server/app/api/applications/[id]/files/route.js +6 -0
  470. package/web/.next/server/app/api/applications/[id]/files/route.js.map +5 -0
  471. package/web/.next/server/app/api/applications/[id]/files/route.js.nft.json +1 -0
  472. package/web/.next/server/app/api/applications/[id]/files/route_client-reference-manifest.js +2 -0
  473. package/web/.next/server/app/api/applications/[id]/files/watch/route/app-paths-manifest.json +3 -0
  474. package/web/.next/server/app/api/applications/[id]/files/watch/route/build-manifest.json +11 -0
  475. package/web/.next/server/app/api/applications/[id]/files/watch/route/server-reference-manifest.json +4 -0
  476. package/web/.next/server/app/api/applications/[id]/files/watch/route.js +6 -0
  477. package/web/.next/server/app/api/applications/[id]/files/watch/route.js.map +5 -0
  478. package/web/.next/server/app/api/applications/[id]/files/watch/route.js.nft.json +1 -0
  479. package/web/.next/server/app/api/applications/[id]/files/watch/route_client-reference-manifest.js +2 -0
  480. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  481. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  482. package/web/.next/server/app/api/directory/list/route.js +1 -1
  483. package/web/.next/server/app/api/directory/list/route.js.nft.json +1 -1
  484. package/web/.next/server/app/api/evidence/route.js +1 -1
  485. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  486. package/web/.next/server/app/api/feature-logs/route.js +1 -1
  487. package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
  488. package/web/.next/server/app/api/graph-data/route.js +1 -1
  489. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  490. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  491. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  492. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/app-paths-manifest.json +3 -0
  493. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/build-manifest.json +11 -0
  494. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/server-reference-manifest.json +4 -0
  495. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js +6 -0
  496. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js.map +5 -0
  497. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js.nft.json +1 -0
  498. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route_client-reference-manifest.js +2 -0
  499. package/web/.next/server/app/api/sessions/route.js +1 -1
  500. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  501. package/web/.next/server/app/api/sessions-batch/route.js +1 -1
  502. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  503. package/web/.next/server/app/api/terminal/[sessionId]/input/route/app-paths-manifest.json +3 -0
  504. package/web/.next/server/app/api/terminal/[sessionId]/input/route/build-manifest.json +11 -0
  505. package/web/.next/server/app/api/terminal/[sessionId]/input/route/server-reference-manifest.json +4 -0
  506. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js +6 -0
  507. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js.map +5 -0
  508. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js.nft.json +1 -0
  509. package/web/.next/server/app/api/terminal/[sessionId]/input/route_client-reference-manifest.js +2 -0
  510. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/app-paths-manifest.json +3 -0
  511. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/build-manifest.json +11 -0
  512. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/server-reference-manifest.json +4 -0
  513. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js +6 -0
  514. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js.map +5 -0
  515. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js.nft.json +1 -0
  516. package/web/.next/server/app/api/terminal/[sessionId]/resize/route_client-reference-manifest.js +2 -0
  517. package/web/.next/server/app/api/terminal/[sessionId]/route/app-paths-manifest.json +3 -0
  518. package/web/.next/server/app/api/terminal/[sessionId]/route/build-manifest.json +11 -0
  519. package/web/.next/server/app/api/terminal/[sessionId]/route/server-reference-manifest.json +4 -0
  520. package/web/.next/server/app/api/terminal/[sessionId]/route.js +6 -0
  521. package/web/.next/server/app/api/terminal/[sessionId]/route.js.map +5 -0
  522. package/web/.next/server/app/api/terminal/[sessionId]/route.js.nft.json +1 -0
  523. package/web/.next/server/app/api/terminal/[sessionId]/route_client-reference-manifest.js +2 -0
  524. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/app-paths-manifest.json +3 -0
  525. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/build-manifest.json +11 -0
  526. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/server-reference-manifest.json +4 -0
  527. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js +6 -0
  528. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js.map +5 -0
  529. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js.nft.json +1 -0
  530. package/web/.next/server/app/api/terminal/[sessionId]/stream/route_client-reference-manifest.js +2 -0
  531. package/web/.next/server/app/api/terminal/route/app-paths-manifest.json +3 -0
  532. package/web/.next/server/app/api/terminal/route/build-manifest.json +11 -0
  533. package/web/.next/server/app/api/terminal/route/server-reference-manifest.json +4 -0
  534. package/web/.next/server/app/api/terminal/route.js +6 -0
  535. package/web/.next/server/app/api/terminal/route.js.map +5 -0
  536. package/web/.next/server/app/api/terminal/route.js.nft.json +1 -0
  537. package/web/.next/server/app/api/terminal/route_client-reference-manifest.js +2 -0
  538. package/web/.next/server/app/application/[id]/page/app-paths-manifest.json +3 -0
  539. package/web/.next/server/app/application/[id]/page/build-manifest.json +18 -0
  540. package/web/.next/server/app/application/[id]/page/next-font-manifest.json +6 -0
  541. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +8 -0
  542. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +230 -0
  543. package/web/.next/server/app/application/[id]/page.js +19 -0
  544. package/web/.next/server/app/application/[id]/page.js.map +5 -0
  545. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -0
  546. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +2 -0
  547. package/web/.next/server/app/features/page/build-manifest.json +3 -3
  548. package/web/.next/server/app/features/page/server-reference-manifest.json +27 -12
  549. package/web/.next/server/app/features/page.js +2 -2
  550. package/web/.next/server/app/features/page.js.nft.json +1 -1
  551. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  552. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  553. package/web/.next/server/app/settings/page/server-reference-manifest.json +33 -18
  554. package/web/.next/server/app/settings/page.js +2 -2
  555. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  556. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  557. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  558. package/web/.next/server/app/skills/page/server-reference-manifest.json +56 -26
  559. package/web/.next/server/app/skills/page.js +4 -3
  560. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  561. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  562. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  563. package/web/.next/server/app/tools/page/server-reference-manifest.json +52 -22
  564. package/web/.next/server/app/tools/page.js +3 -2
  565. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  566. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  567. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  568. package/web/.next/server/app/version/page/server-reference-manifest.json +27 -12
  569. package/web/.next/server/app/version/page.js +3 -3
  570. package/web/.next/server/app/version/page.js.nft.json +1 -1
  571. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  572. package/web/.next/server/app-paths-manifest.json +11 -0
  573. package/web/.next/server/chunks/0d725_next-internal_server_app_api_applications_[id]_files_raw_route_actions_69e55b18.js +3 -0
  574. package/web/.next/server/chunks/0d725_next-internal_server_app_api_applications_[id]_files_raw_route_actions_69e55b18.js.map +1 -0
  575. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_resize_route_actions_068451e5.js +3 -0
  576. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_resize_route_actions_068451e5.js.map +1 -0
  577. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_stream_route_actions_475d5f68.js +3 -0
  578. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_stream_route_actions_475d5f68.js.map +1 -0
  579. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  580. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  581. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_terminal_[sessionId]_route_actions_20e0d9a3.js +3 -0
  582. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_terminal_[sessionId]_route_actions_20e0d9a3.js.map +1 -0
  583. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_content_route_actions_b0c05593.js +3 -0
  584. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_content_route_actions_b0c05593.js.map +1 -0
  585. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_watch_route_actions_30d3aeeb.js +3 -0
  586. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_watch_route_actions_30d3aeeb.js.map +1 -0
  587. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_turn-statuses_stream_route_actions_52514889.js +3 -0
  588. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_turn-statuses_stream_route_actions_52514889.js.map +1 -0
  589. package/web/.next/server/chunks/[root-of-the-server]__038012df._.js +3 -0
  590. package/web/.next/server/chunks/[root-of-the-server]__038012df._.js.map +1 -0
  591. package/web/.next/server/chunks/[root-of-the-server]__0e3323be._.js +3 -0
  592. package/web/.next/server/chunks/[root-of-the-server]__0e3323be._.js.map +1 -0
  593. package/web/.next/server/chunks/[root-of-the-server]__38b9b39e._.js +3 -0
  594. package/web/.next/server/chunks/[root-of-the-server]__38b9b39e._.js.map +1 -0
  595. package/web/.next/server/chunks/[root-of-the-server]__3c22f57d._.js +3 -0
  596. package/web/.next/server/chunks/[root-of-the-server]__3c22f57d._.js.map +1 -0
  597. package/web/.next/server/chunks/[root-of-the-server]__4906ab60._.js +3 -0
  598. package/web/.next/server/chunks/[root-of-the-server]__4906ab60._.js.map +1 -0
  599. package/web/.next/server/chunks/{[root-of-the-server]__2f61738a._.js → [root-of-the-server]__4eb2c4e4._.js} +2 -2
  600. package/web/.next/server/chunks/{[root-of-the-server]__acea6565._.js → [root-of-the-server]__5e3c6f3a._.js} +2 -2
  601. package/web/.next/server/chunks/[root-of-the-server]__72175657._.js +9 -0
  602. package/web/.next/server/chunks/[root-of-the-server]__72175657._.js.map +1 -0
  603. package/web/.next/server/chunks/{[root-of-the-server]__31598852._.js → [root-of-the-server]__86965b92._.js} +2 -2
  604. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +19 -13
  605. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -1
  606. package/web/.next/server/chunks/[root-of-the-server]__92409aeb._.js +3 -0
  607. package/web/.next/server/chunks/[root-of-the-server]__92409aeb._.js.map +1 -0
  608. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  609. package/web/.next/server/chunks/[root-of-the-server]__a52f55af._.js +6 -0
  610. package/web/.next/server/chunks/[root-of-the-server]__a52f55af._.js.map +1 -0
  611. package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js → [root-of-the-server]__ac92afe7._.js} +2 -2
  612. package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js.map → [root-of-the-server]__ac92afe7._.js.map} +1 -1
  613. package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js +3 -0
  614. package/web/.next/server/chunks/{[root-of-the-server]__c78383b1._.js.map → [root-of-the-server]__b2a4bfcc._.js.map} +1 -1
  615. package/web/.next/server/chunks/{[root-of-the-server]__e3692208._.js → [root-of-the-server]__c8f90b29._.js} +2 -2
  616. package/web/.next/server/chunks/{[root-of-the-server]__2b71641f._.js → [root-of-the-server]__cbf5b20b._.js} +2 -2
  617. package/web/.next/server/chunks/{[root-of-the-server]__2b71641f._.js.map → [root-of-the-server]__cbf5b20b._.js.map} +1 -1
  618. package/web/.next/server/chunks/[root-of-the-server]__ccfcaa08._.js +3 -0
  619. package/web/.next/server/chunks/[root-of-the-server]__ccfcaa08._.js.map +1 -0
  620. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  621. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  622. package/web/.next/server/chunks/[root-of-the-server]__deb67d81._.js +9 -0
  623. package/web/.next/server/chunks/[root-of-the-server]__deb67d81._.js.map +1 -0
  624. package/web/.next/server/chunks/{[root-of-the-server]__fc6fd958._.js → [root-of-the-server]__ecd08b79._.js} +2 -2
  625. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_terminal_route_actions_f93ca3cb.js +3 -0
  626. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_terminal_route_actions_f93ca3cb.js.map +1 -0
  627. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_files_route_actions_e1af3c3a.js +3 -0
  628. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_files_route_actions_e1af3c3a.js.map +1 -0
  629. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_terminal_[sessionId]_input_route_actions_b7785e18.js +3 -0
  630. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_terminal_[sessionId]_input_route_actions_b7785e18.js.map +1 -0
  631. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  632. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  633. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  634. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  635. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js +3 -0
  636. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js.map +1 -0
  637. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +3 -0
  638. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -0
  639. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js → [root-of-the-server]__090f24cb._.js} +2 -2
  640. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js.map → [root-of-the-server]__090f24cb._.js.map} +1 -1
  641. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +4 -0
  642. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -0
  643. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +4 -0
  644. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js.map +1 -0
  645. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +4 -0
  646. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -0
  647. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +12 -0
  648. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -0
  649. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +4 -0
  650. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js.map +1 -0
  651. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +3 -0
  652. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -0
  653. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js → [root-of-the-server]__7aa484f5._.js} +2 -2
  654. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js.map → [root-of-the-server]__7aa484f5._.js.map} +1 -1
  655. package/web/.next/server/chunks/ssr/{[root-of-the-server]__86ff0bc5._.js → [root-of-the-server]__87bc4dac._.js} +3 -3
  656. package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js.map +1 -0
  657. package/web/.next/server/chunks/ssr/{[root-of-the-server]__e0592c69._.js → [root-of-the-server]__894882ab._.js} +2 -2
  658. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js +3 -0
  659. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js.map +1 -0
  660. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js +3 -0
  661. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js.map +1 -0
  662. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +3 -0
  663. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -0
  664. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js +3 -0
  665. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js.map +1 -0
  666. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +4 -0
  667. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -0
  668. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +4 -0
  669. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -0
  670. package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js → [root-of-the-server]__e265da61._.js} +2 -2
  671. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +3 -0
  672. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -0
  673. package/web/.next/server/chunks/ssr/_0277d3b5._.js +21 -0
  674. package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -0
  675. package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
  676. package/web/.next/server/chunks/ssr/_1879404a._.js.map +1 -1
  677. package/web/.next/server/chunks/ssr/_1e08a336._.js +1 -1
  678. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
  679. package/web/.next/server/chunks/ssr/_2bea8166._.js +4 -0
  680. package/web/.next/server/chunks/ssr/_2bea8166._.js.map +1 -0
  681. package/web/.next/server/chunks/ssr/_36489f2b._.js +3 -0
  682. package/web/.next/server/chunks/ssr/_36489f2b._.js.map +1 -0
  683. package/web/.next/server/chunks/ssr/_44531b76._.js +9 -0
  684. package/web/.next/server/chunks/ssr/_44531b76._.js.map +1 -0
  685. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  686. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  687. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  688. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  689. package/web/.next/server/chunks/ssr/_5bf2415e._.js +7 -0
  690. package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +1 -0
  691. package/web/.next/server/chunks/ssr/_63fc4647._.js +3 -0
  692. package/web/.next/server/chunks/ssr/_63fc4647._.js.map +1 -0
  693. package/web/.next/server/chunks/ssr/_82c47cc2._.js +3 -0
  694. package/web/.next/server/chunks/ssr/{_bb09579b._.js.map → _82c47cc2._.js.map} +1 -1
  695. package/web/.next/server/chunks/ssr/_869a3a15._.js +3 -0
  696. package/web/.next/server/chunks/ssr/_869a3a15._.js.map +1 -0
  697. package/web/.next/server/chunks/ssr/_8caadb9a._.js +3 -0
  698. package/web/.next/server/chunks/ssr/_8caadb9a._.js.map +1 -0
  699. package/web/.next/server/chunks/ssr/{_7d50fed0._.js → _946a7fc6._.js} +3 -3
  700. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -0
  701. package/web/.next/server/chunks/ssr/_b227ff50._.js +3 -0
  702. package/web/.next/server/chunks/ssr/_b227ff50._.js.map +1 -0
  703. package/web/.next/server/chunks/ssr/_b8e8b690._.js +3 -0
  704. package/web/.next/server/chunks/ssr/_b8e8b690._.js.map +1 -0
  705. package/web/.next/server/chunks/ssr/{_5889596f._.js → _d44d091a._.js} +2 -2
  706. package/web/.next/server/chunks/ssr/_d44d091a._.js.map +1 -0
  707. package/web/.next/server/chunks/ssr/_e071ba48._.js +3 -0
  708. package/web/.next/server/chunks/ssr/_e071ba48._.js.map +1 -0
  709. package/web/.next/server/chunks/ssr/_eff1b518._.js +3 -0
  710. package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -0
  711. package/web/.next/server/chunks/ssr/_f227429a._.js +3 -0
  712. package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -0
  713. package/web/.next/server/chunks/ssr/{_496c9117._.js → _f86fc1bf._.js} +2 -2
  714. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -0
  715. package/web/.next/server/chunks/ssr/_f8c55130._.js +4 -0
  716. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -0
  717. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  718. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  719. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  720. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  721. package/web/.next/server/chunks/ssr/{_1b7dae9a._.js → f7870_sonner_dist_index_mjs_dbf63824._.js} +2 -2
  722. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  723. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  724. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  725. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +3 -0
  726. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -0
  727. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +3 -0
  728. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -0
  729. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +3 -0
  730. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -0
  731. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +3 -0
  732. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -0
  733. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +3 -0
  734. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -0
  735. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +3 -0
  736. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -0
  737. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +3 -0
  738. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -0
  739. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +3 -0
  740. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -0
  741. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +3 -0
  742. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -0
  743. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +32 -0
  744. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -0
  745. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +3 -0
  746. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -0
  747. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +3 -0
  748. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -0
  749. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  750. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  751. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +3 -0
  752. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -0
  753. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +3 -0
  754. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -0
  755. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  756. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  757. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  758. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  759. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  760. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +3 -0
  761. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -0
  762. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +3 -0
  763. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +1 -0
  764. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  765. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  766. package/web/.next/server/middleware-build-manifest.js +3 -3
  767. package/web/.next/server/pages/500.html +2 -2
  768. package/web/.next/server/server-reference-manifest.js +1 -1
  769. package/web/.next/server/server-reference-manifest.json +1084 -703
  770. package/web/.next/static/chunks/06b9d6dbf635c370.css +1 -0
  771. package/web/.next/static/chunks/11ef340e4cfbdbe6.js +1 -0
  772. package/web/.next/static/chunks/1ae0cf5be30ef398.js +1 -0
  773. package/web/.next/static/chunks/1bc12075020723ed.js +1 -0
  774. package/web/.next/static/chunks/1fa1574b87bd2eb1.js +1 -0
  775. package/web/.next/static/chunks/{f5c61237675acc89.js → 26e2ca76ab6c38b4.js} +1 -1
  776. package/web/.next/static/chunks/2fe20598e1b4793a.js +5 -0
  777. package/web/.next/static/chunks/490667b2a9bb58e2.js +1 -0
  778. package/web/.next/static/chunks/{eb1ca1b0a34166f5.js → 66261997e6f830f1.js} +1 -1
  779. package/web/.next/static/chunks/{d26d0a7bc1a9b5a4.js → 7849c6797be7c6ca.js} +2 -2
  780. package/web/.next/static/chunks/7bc7028587490fff.js +1 -0
  781. package/web/.next/static/chunks/7c3fe3c694874dea.js +1 -0
  782. package/web/.next/static/chunks/{5a2bdbc57ed1368e.js → 8746807722de67a8.js} +1 -1
  783. package/web/.next/static/chunks/893a2a76546c66a7.js +1 -0
  784. package/web/.next/static/chunks/927442d2628f6e22.js +1 -0
  785. package/web/.next/static/chunks/a1098522326428d1.js +1 -0
  786. package/web/.next/static/chunks/b7b85a15f387ab7c.css +1 -0
  787. package/web/.next/static/chunks/b99506a6f7bc2fa8.js +1 -0
  788. package/web/.next/static/chunks/be89c20c257247ad.js +7 -0
  789. package/web/.next/static/chunks/c0bd3ffcf94d1845.js +7 -0
  790. package/web/.next/static/chunks/dfdcccf73de56960.js +1 -0
  791. package/web/.next/static/chunks/e2f9e224d1fa1faa.js +1 -0
  792. package/web/.next/static/chunks/e7da54dde18e7fb2.js +19 -0
  793. package/web/.next/static/chunks/f28aef9cf5107c4b.js +1 -0
  794. package/web/.next/static/chunks/{fb7211d94190d010.js → f6d47ff35d612852.js} +3 -3
  795. package/web/.next/static/chunks/fe8bcc8ff36a61c0.js +1 -0
  796. package/web/.next/static/chunks/{turbopack-fa58b7ea4a4b26e7.js → turbopack-d16f2f815897af68.js} +1 -1
  797. package/web/next.config.mjs +1 -1
  798. package/web/package.json +7 -0
  799. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +0 -3
  800. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js +0 -3
  801. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js.map +0 -1
  802. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js +0 -3
  803. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js.map +0 -1
  804. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js +0 -3
  805. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js.map +0 -1
  806. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js +0 -3
  807. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js.map +0 -1
  808. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js +0 -3
  809. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js.map +0 -1
  810. package/web/.next/server/chunks/ssr/[root-of-the-server]__16c1388b._.js +0 -3
  811. package/web/.next/server/chunks/ssr/[root-of-the-server]__16c1388b._.js.map +0 -1
  812. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +0 -4
  813. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +0 -1
  814. package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js +0 -3
  815. package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js.map +0 -1
  816. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +0 -4
  817. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +0 -1
  818. package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js +0 -3
  819. package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js.map +0 -1
  820. package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js +0 -4
  821. package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js.map +0 -1
  822. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +0 -1
  823. package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js +0 -4
  824. package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js.map +0 -1
  825. package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js +0 -3
  826. package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js.map +0 -1
  827. package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js +0 -3
  828. package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js.map +0 -1
  829. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +0 -4
  830. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +0 -1
  831. package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js +0 -4
  832. package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js.map +0 -1
  833. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js +0 -3
  834. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js.map +0 -1
  835. package/web/.next/server/chunks/ssr/_15f6bbd4._.js +0 -3
  836. package/web/.next/server/chunks/ssr/_15f6bbd4._.js.map +0 -1
  837. package/web/.next/server/chunks/ssr/_1b7dae9a._.js.map +0 -1
  838. package/web/.next/server/chunks/ssr/_396a6887._.js +0 -3
  839. package/web/.next/server/chunks/ssr/_396a6887._.js.map +0 -1
  840. package/web/.next/server/chunks/ssr/_43ba79e7._.js +0 -3
  841. package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +0 -1
  842. package/web/.next/server/chunks/ssr/_496c9117._.js.map +0 -1
  843. package/web/.next/server/chunks/ssr/_49b8d085._.js +0 -3
  844. package/web/.next/server/chunks/ssr/_49b8d085._.js.map +0 -1
  845. package/web/.next/server/chunks/ssr/_5889596f._.js.map +0 -1
  846. package/web/.next/server/chunks/ssr/_6abfa39e._.js +0 -3
  847. package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +0 -1
  848. package/web/.next/server/chunks/ssr/_74a1a173._.js +0 -7
  849. package/web/.next/server/chunks/ssr/_74a1a173._.js.map +0 -1
  850. package/web/.next/server/chunks/ssr/_7cb0396e._.js +0 -3
  851. package/web/.next/server/chunks/ssr/_7cb0396e._.js.map +0 -1
  852. package/web/.next/server/chunks/ssr/_7d50fed0._.js.map +0 -1
  853. package/web/.next/server/chunks/ssr/_9bbdd461._.js +0 -4
  854. package/web/.next/server/chunks/ssr/_9bbdd461._.js.map +0 -1
  855. package/web/.next/server/chunks/ssr/_b7a43c05._.js +0 -3
  856. package/web/.next/server/chunks/ssr/_b7a43c05._.js.map +0 -1
  857. package/web/.next/server/chunks/ssr/_bb09579b._.js +0 -3
  858. package/web/.next/server/chunks/ssr/_bcd239dd._.js +0 -3
  859. package/web/.next/server/chunks/ssr/_bcd239dd._.js.map +0 -1
  860. package/web/.next/server/chunks/ssr/_e680c57c._.js +0 -9
  861. package/web/.next/server/chunks/ssr/_e680c57c._.js.map +0 -1
  862. package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js +0 -3
  863. package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js.map +0 -1
  864. package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js +0 -3
  865. package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js.map +0 -1
  866. package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js +0 -3
  867. package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js.map +0 -1
  868. package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js +0 -5
  869. package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js.map +0 -1
  870. package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js +0 -3
  871. package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js.map +0 -1
  872. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +0 -3
  873. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +0 -1
  874. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js +0 -3
  875. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js.map +0 -1
  876. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +0 -3
  877. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +0 -1
  878. package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js +0 -3
  879. package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js.map +0 -1
  880. package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js +0 -5
  881. package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js.map +0 -1
  882. package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js +0 -3
  883. package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js.map +0 -1
  884. package/web/.next/static/chunks/09edd35d194bec06.js +0 -5
  885. package/web/.next/static/chunks/124b79a5d2a760fb.css +0 -1
  886. package/web/.next/static/chunks/200e07d995bd9a42.js +0 -1
  887. package/web/.next/static/chunks/22e3a3738308da2e.js +0 -1
  888. package/web/.next/static/chunks/25d3c4d18b8aecff.js +0 -7
  889. package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
  890. package/web/.next/static/chunks/34444901ca3a1c3b.js +0 -1
  891. package/web/.next/static/chunks/3cf86457869c47bc.js +0 -1
  892. package/web/.next/static/chunks/4052a4971fbbac9c.js +0 -1
  893. package/web/.next/static/chunks/55060446f5490f20.js +0 -3
  894. package/web/.next/static/chunks/59bff7b33ebe5f68.js +0 -1
  895. package/web/.next/static/chunks/8b0a9cb5109fe899.js +0 -1
  896. package/web/.next/static/chunks/971e52f3f386ccfd.js +0 -1
  897. package/web/.next/static/chunks/981c6f3f1db99b4e.js +0 -1
  898. package/web/.next/static/chunks/b63e6727c84f30e2.js +0 -1
  899. package/web/.next/static/chunks/c10c0d6d458453bc.js +0 -1
  900. package/web/.next/static/chunks/c94a6a3d54dd4997.js +0 -5
  901. package/web/.next/static/chunks/d04d868f0971941d.js +0 -1
  902. package/web/.next/static/chunks/e7502fb670f32235.js +0 -1
  903. /package/web/.next/server/chunks/{[root-of-the-server]__2f61738a._.js.map → [root-of-the-server]__4eb2c4e4._.js.map} +0 -0
  904. /package/web/.next/server/chunks/{[root-of-the-server]__acea6565._.js.map → [root-of-the-server]__5e3c6f3a._.js.map} +0 -0
  905. /package/web/.next/server/chunks/{[root-of-the-server]__31598852._.js.map → [root-of-the-server]__86965b92._.js.map} +0 -0
  906. /package/web/.next/server/chunks/{[root-of-the-server]__e3692208._.js.map → [root-of-the-server]__c8f90b29._.js.map} +0 -0
  907. /package/web/.next/server/chunks/{[root-of-the-server]__fc6fd958._.js.map → [root-of-the-server]__ecd08b79._.js.map} +0 -0
  908. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__e0592c69._.js.map → [root-of-the-server]__894882ab._.js.map} +0 -0
  909. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js.map → [root-of-the-server]__e265da61._.js.map} +0 -0
  910. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → GQFJf3UCD4D5C4NCn8eXl}/_buildManifest.js +0 -0
  911. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → GQFJf3UCD4D5C4NCn8eXl}/_clientMiddlewareManifest.json +0 -0
  912. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → GQFJf3UCD4D5C4NCn8eXl}/_ssgManifest.js +0 -0
@@ -7,3 +7,4 @@ export { IssueFetcherError, IssueNotFoundError, IssueAuthenticationError, IssueS
7
7
  export { WorktreeError, WorktreeErrorCode } from './worktree-service.interface.js';
8
8
  export { GitPrError, GitPrErrorCode } from './git-pr-service.interface.js';
9
9
  export { GitHubAuthError, GitHubCloneError, GitHubUrlParseError, GitHubRepoListError, } from './github-repository-service.interface.js';
10
+ export { ApplicationFileSystemError } from './application-file-system-service.interface.js';
@@ -9,10 +9,15 @@
9
9
  * - Application layer depends on this interface
10
10
  * - Infrastructure layer provides the concrete implementation (singleton)
11
11
  */
12
- import type { InteractiveSession, InteractiveMessage } from '../../../../domain/generated/output.js';
12
+ import type { InteractiveSession, InteractiveMessage, WorkflowStep } from '../../../../domain/generated/output.js';
13
13
  import type { UserInteractionData } from '../agents/interactive-agent-executor.interface.js';
14
14
  /**
15
- * A single streaming chunk forwarded from agent stdout to an SSE consumer.
15
+ * A single streaming chunk forwarded from the interactive session to an
16
+ * SSE consumer. One shape carries every kind of real-time update the UI
17
+ * needs — text deltas, tool activity, interaction requests, AND every
18
+ * persisted-state change (new messages, session/turn status transitions)
19
+ * — so the client can rely on SSE as the single source of truth and
20
+ * drop all periodic polling.
16
21
  */
17
22
  export interface StreamChunk {
18
23
  /** Incremental output text from the agent */
@@ -25,6 +30,33 @@ export interface StreamChunk {
25
30
  activity?: StreamActivity;
26
31
  /** Pending user interaction (AskUserQuestion) — agent is waiting for user response */
27
32
  interaction?: UserInteractionData;
33
+ /**
34
+ * A newly persisted message (user or assistant, including tool-event
35
+ * messages). Emitted ONCE per `messageRepo.create` call so subscribers
36
+ * can append it to their local cache without refetching the whole
37
+ * history. Idempotent on the client by `message.id`.
38
+ */
39
+ message?: InteractiveMessage;
40
+ /**
41
+ * Session lifecycle transition: 'booting' → 'ready' → 'error' / 'stopped'.
42
+ * Emitted ONCE per `sessionRepo.updateStatus` call.
43
+ */
44
+ sessionStatus?: string;
45
+ /**
46
+ * Turn activity transition: 'idle' / 'processing' / 'unread' /
47
+ * 'awaiting_input'. Emitted ONCE per `sessionRepo.updateTurnStatus`
48
+ * call. This is what drives the client's "Thinking…" indicator
49
+ * without polling.
50
+ */
51
+ turnStatus?: string;
52
+ /**
53
+ * Workflow step transition — emitted by the orchestrator each time
54
+ * a step changes status (pending → running → done / failed /
55
+ * interrupted). Clients use this to update the tracker live
56
+ * without polling; full state is always also recoverable from
57
+ * `getChatState()` so a missed event is never fatal.
58
+ */
59
+ workflowStep?: WorkflowStep;
28
60
  }
29
61
  /**
30
62
  * A structured activity event emitted during agent execution.
@@ -57,6 +89,27 @@ export interface ChatState {
57
89
  turnStatus: string;
58
90
  /** Pending user interaction — agent is waiting for user response (null when no interaction pending) */
59
91
  pendingInteraction: UserInteractionData | null;
92
+ /**
93
+ * Persisted workflow view for the feature. Present when the
94
+ * orchestrator has materialised steps in the database; null
95
+ * otherwise. The client renders a step tracker from this field
96
+ * instead of parsing marker strings in the message stream.
97
+ */
98
+ workflow: WorkflowView | null;
99
+ }
100
+ /**
101
+ * Persisted workflow view for a feature — derived entirely from the
102
+ * `workflow_steps` table plus a trivial "which step is running"
103
+ * query. Because the whole shape is re-derivable from SQL, a
104
+ * browser refresh or daemon restart never loses progress state.
105
+ */
106
+ export interface WorkflowView {
107
+ /** Logical workflow id (e.g. 'application-creation-v1'). */
108
+ workflowId: string;
109
+ /** Ordered step rows for the whole workflow. */
110
+ steps: WorkflowStep[];
111
+ /** ID of the step currently in `running` status, if any. */
112
+ currentStepId: string | null;
60
113
  }
61
114
  /** Live session metadata for the frontend toolbar. */
62
115
  export interface SessionInfo {
@@ -64,7 +117,6 @@ export interface SessionInfo {
64
117
  sessionId: string | null;
65
118
  model: string | null;
66
119
  startedAt: string;
67
- idleTimeoutMinutes: number;
68
120
  lastActivityAt: string;
69
121
  /** Cumulative cost in USD for this session (null if not yet tracked) */
70
122
  totalCostUsd: number | null;
@@ -104,7 +156,7 @@ export interface IInteractiveSessionService {
104
156
  * @returns The newly created session record (status may still be 'booting')
105
157
  * @throws ConcurrentSessionLimitError when the configured cap is reached
106
158
  */
107
- startSession(featureId: string, worktreePath: string, model?: string, agentType?: string): Promise<InteractiveSession>;
159
+ startSession(featureId: string, worktreePath: string, model?: string, agentType?: string, systemPrompt?: string, initialUserMessage?: string): Promise<InteractiveSession>;
108
160
  /**
109
161
  * Stop an active session: send SIGTERM to the process, cancel the idle
110
162
  * timer, and mark the DB record as stopped. Idempotent — calling on an
@@ -160,9 +212,25 @@ export interface IInteractiveSessionService {
160
212
  * - If session is booting: queues the message
161
213
  * - If no session: boots one and queues the message
162
214
  *
215
+ * @param systemPrompt - Optional per-scope system prompt for the agent
216
+ * SDK. When provided (and the call boots a new session), the service
217
+ * uses this instead of the default feature-context prompt. Lets
218
+ * Application/Repository/Global chats each supply their own
219
+ * scope-appropriate instructions without the service needing to
220
+ * know anything about the scope shape.
221
+ *
163
222
  * @returns The persisted user message
164
223
  */
165
- sendUserMessage(featureId: string, content: string, worktreePath: string, model?: string, agentType?: string): Promise<InteractiveMessage>;
224
+ sendUserMessage(featureId: string, content: string, worktreePath: string, model?: string, agentType?: string, systemPrompt?: string,
225
+ /**
226
+ * When provided AND this call boots a new session, the agent's
227
+ * very first turn content is `agentKickoffOverride` instead of
228
+ * `content`. The UI still shows `content` in the user's first
229
+ * bubble — this is purely the agent-side text. Used by the
230
+ * application-creation flow to inject a "read SHEP_BRIEF.md
231
+ * first" directive without polluting the chat transcript.
232
+ */
233
+ agentKickoffOverride?: string): Promise<InteractiveMessage>;
166
234
  /**
167
235
  * Get the complete chat state for a feature in a single call.
168
236
  * Merges DB messages with any in-flight streaming content.
@@ -173,6 +241,13 @@ export interface IInteractiveSessionService {
173
241
  * Resolves the active session internally.
174
242
  */
175
243
  subscribeByFeature(featureId: string, onChunk: (chunk: StreamChunk) => void): UnsubscribeFn;
244
+ /**
245
+ * Subscribe to real-time chunks for EVERY active session, regardless
246
+ * of feature. Each chunk is paired with the feature scope key it
247
+ * came from. Used by the global turn-status SSE endpoint to push
248
+ * sidebar activity indicators without polling.
249
+ */
250
+ subscribeAll(onChunk: (featureId: string, chunk: StreamChunk) => void): UnsubscribeFn;
176
251
  /**
177
252
  * Stop the active session for a feature. Kills the agent process.
178
253
  * Idempotent — no-op if no active session exists.
@@ -204,5 +279,36 @@ export interface IInteractiveSessionService {
204
279
  * @param annotations - Optional per-question annotations (notes, preview)
205
280
  */
206
281
  respondToInteraction(featureId: string, answers: Record<string, string>): Promise<void>;
282
+ /**
283
+ * Set the currently-active workflow step for a feature. While a
284
+ * step is active, every message persisted via this service is
285
+ * tagged with the step's id, so the UI can group the conversation
286
+ * by step without parsing marker strings.
287
+ *
288
+ * Pass `null` (via `clearActiveStep`) when the orchestrator is
289
+ * between steps. The mapping is in-memory only — the DB is the
290
+ * source of truth for per-message `stepId`.
291
+ */
292
+ setActiveStep(featureId: string, stepId: string): void;
293
+ /** Clear the currently-active workflow step for a feature. */
294
+ clearActiveStep(featureId: string): void;
295
+ /**
296
+ * Notify subscribers of a workflow step transition. The
297
+ * orchestrator calls this immediately after persisting a status
298
+ * change so the client's live tracker updates without polling.
299
+ */
300
+ notifyWorkflowStep(featureId: string, step: WorkflowStep): void;
301
+ /**
302
+ * Wait until the next turn for the given feature finishes — i.e.
303
+ * until the next `done: true` chunk arrives on the feature
304
+ * subscription. Used by the orchestrator to serialise steps: send
305
+ * a step's prompt, then await its agent turn to fully complete
306
+ * before marking the step done and moving on to the next one.
307
+ *
308
+ * Resolves as soon as any `done` chunk is observed; the caller is
309
+ * responsible for subscribing before triggering the turn to avoid
310
+ * races.
311
+ */
312
+ waitForTurnDone(featureId: string, signal?: AbortSignal): Promise<void>;
207
313
  }
208
314
  //# sourceMappingURL=interactive-session-service.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-session-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/interactive-session-service.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactive-session-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/interactive-session-service.interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Terminal Session Service
3
+ *
4
+ * Output port for long-lived interactive terminal (PTY) sessions owned by
5
+ * the infrastructure layer. Presentation layers (web, TUI, CLI) stream
6
+ * output from the session and feed input into it through this generic API
7
+ * so no provider-specific terminal code leaks outside of infrastructure.
8
+ */
9
+ export interface CreateTerminalSessionInput {
10
+ /** Absolute working directory to spawn the PTY in. */
11
+ cwd: string;
12
+ /** Initial terminal size in columns. */
13
+ cols?: number;
14
+ /** Initial terminal size in rows. */
15
+ rows?: number;
16
+ }
17
+ export interface CreatedTerminalSession {
18
+ /** Opaque session id used for all subsequent operations. */
19
+ id: string;
20
+ /** Shell binary actually spawned (e.g. `/bin/bash`, `powershell.exe`). */
21
+ shell: string;
22
+ /** Resolved cwd the session is running in. */
23
+ cwd: string;
24
+ }
25
+ export type TerminalOutputListener = (chunk: string) => void;
26
+ export type TerminalExitListener = (code: number | null) => void;
27
+ export interface ITerminalSessionService {
28
+ /** Create a new PTY session. */
29
+ create(input: CreateTerminalSessionInput): CreatedTerminalSession;
30
+ /** Write stdin data to a session. */
31
+ write(sessionId: string, data: string): void;
32
+ /** Resize a session's pseudo-terminal. */
33
+ resize(sessionId: string, cols: number, rows: number): void;
34
+ /**
35
+ * Subscribe to a session's output stream.
36
+ *
37
+ * Returns an unsubscribe function. Safe to subscribe multiple times (e.g.
38
+ * for SSE reconnects) — each subscriber gets independent callbacks.
39
+ */
40
+ subscribe(sessionId: string, onData: TerminalOutputListener, onExit?: TerminalExitListener): () => void;
41
+ /** Whether a session id currently exists. */
42
+ exists(sessionId: string): boolean;
43
+ /** Kill and remove a session. Idempotent. */
44
+ close(sessionId: string): void;
45
+ }
46
+ //# sourceMappingURL=terminal-session-service.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-session-service.interface.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/src/application/ports/output/services/terminal-session-service.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAC7D,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,gCAAgC;IAChC,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,sBAAsB,CAAC;IAElE,qCAAqC;IACrC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7C,0CAA0C;IAC1C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5D;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,sBAAsB,EAC9B,MAAM,CAAC,EAAE,oBAAoB,GAC5B,MAAM,IAAI,CAAC;IAEd,6CAA6C;IAC7C,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC,6CAA6C;IAC7C,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Terminal Session Service
3
+ *
4
+ * Output port for long-lived interactive terminal (PTY) sessions owned by
5
+ * the infrastructure layer. Presentation layers (web, TUI, CLI) stream
6
+ * output from the session and feed input into it through this generic API
7
+ * so no provider-specific terminal code leaks outside of infrastructure.
8
+ */
9
+ export {};
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Create Application Use Case
3
+ *
4
+ * End-to-end "user clicked Create": derives a unique slug, scaffolds the
5
+ * project folder via CreateProjectUseCase, persists a new Application
6
+ * entity, and (optionally) kicks off the interactive agent session by
7
+ * sending the application-creation prompt as the first chat message.
8
+ *
9
+ * Composing the prompt + first-message dispatch in this use case keeps
10
+ * the presentation layer free of orchestration logic and lets every
11
+ * surface (Web, CLI, TUI) get the same behavior from a single call.
12
+ */
13
+ import type { Application } from '../../../domain/generated/output.js';
14
+ import type { IApplicationRepository } from '../../ports/output/repositories/application-repository.interface.js';
15
+ import type { IApplicationCreationPromptBuilder } from '../../ports/output/services/application-creation-prompt-builder.interface.js';
16
+ import type { IApplicationBriefStore } from '../../ports/output/services/application-brief-store.interface.js';
17
+ import type { CreateProjectUseCase } from '../projects/create-project.use-case.js';
18
+ import type { SendInteractiveMessageUseCase } from '../interactive/send-interactive-message.use-case.js';
19
+ import type { RunWorkflowUseCase } from '../workflows/run-workflow.use-case.js';
20
+ import type { IInteractiveSessionService } from '../../ports/output/services/interactive-session-service.interface.js';
21
+ /**
22
+ * Build the very first message the agent sees on turn 1. Carries the
23
+ * user's verbatim request AND a hard directive to read the brief
24
+ * BEFORE any other action. Kept short so the agent doesn't skim past
25
+ * the directive — the real content lives in the brief file.
26
+ *
27
+ * Note that this string is NOT persisted to the chat UI — the user
28
+ * only sees their raw request in the first bubble. This is the
29
+ * agent-side kickoff text, injected via `agentKickoffOverride`.
30
+ *
31
+ * @param briefPath Absolute path to the brief file. Lives OUTSIDE
32
+ * the user's project (under `~/.shep/application-briefs/`)
33
+ * so we don't pollute the scaffolded repo.
34
+ * @param userMessage The user's verbatim request.
35
+ */
36
+ export declare function buildKickoffDirective(args: {
37
+ briefPath: string;
38
+ userMessage: string;
39
+ }): string;
40
+ export interface CreateApplicationInput {
41
+ description: string;
42
+ agentType?: string;
43
+ modelOverride?: string;
44
+ /**
45
+ * When set, the use case ALSO sends this as the first message of the
46
+ * application's interactive chat session, wrapped with the full
47
+ * application-creation prompt (Shep persona, mission, tech stack,
48
+ * workflow, quality bar, definition of done). Pass the user's verbatim
49
+ * request — wrapping happens internally via the injected prompt builder.
50
+ */
51
+ initialPrompt?: string;
52
+ }
53
+ export interface CreateApplicationResult {
54
+ application: Application;
55
+ repositoryPath: string;
56
+ }
57
+ /**
58
+ * 6-character lowercase hex tag (~16M combinations). Appended to every
59
+ * application slug so each one is unique on disk and in the DB without
60
+ * needing a sequential lookup-and-retry against existing rows. Random
61
+ * also avoids the failure mode where a stale folder (left over from a
62
+ * deleted DB row) blocks recreation under the same description.
63
+ *
64
+ * Exported for unit testing.
65
+ */
66
+ export declare function randomSlugTag(): string;
67
+ export declare class CreateApplicationUseCase {
68
+ private readonly appRepo;
69
+ private readonly createProject;
70
+ private readonly promptBuilder;
71
+ private readonly sendMessage;
72
+ private readonly briefStore;
73
+ private readonly runWorkflow;
74
+ private readonly sessionService;
75
+ constructor(appRepo: IApplicationRepository, createProject: CreateProjectUseCase, promptBuilder: IApplicationCreationPromptBuilder, sendMessage: SendInteractiveMessageUseCase, briefStore: IApplicationBriefStore, runWorkflow: RunWorkflowUseCase, sessionService: IInteractiveSessionService);
76
+ execute(input: CreateApplicationInput): Promise<CreateApplicationResult>;
77
+ /**
78
+ * Kick off the orchestrator asynchronously. Resolves the session
79
+ * id by booting it via the first step's send, then runs the rest
80
+ * of the workflow. Errors are logged — the application is
81
+ * already persisted, so the chat can recover even if the
82
+ * workflow dies.
83
+ */
84
+ private dispatchWorkflow;
85
+ /**
86
+ * Generate `<baseSlug>-<random>` candidates until both the DB has no row
87
+ * with that slug AND CreateProjectUseCase reports the folder doesn't
88
+ * exist. Retries up to MAX_ATTEMPTS times before giving up.
89
+ */
90
+ private allocateUniqueSlugAndScaffold;
91
+ }
92
+ //# sourceMappingURL=create-application.use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-application.use-case.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/src/application/use-cases/applications/create-application.use-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qEAAqE,CAAC;AAClH,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,8EAA8E,CAAC;AACtI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,qDAAqD,CAAC;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sEAAsE,CAAC;AAGvH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAe9F;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;CACxB;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,qBACa,wBAAwB;IAGjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAZd,OAAO,EAAE,sBAAsB,EAE/B,aAAa,EAAE,oBAAoB,EAEnC,aAAa,EAAE,iCAAiC,EAEhD,WAAW,EAAE,6BAA6B,EAE1C,UAAU,EAAE,sBAAsB,EAElC,WAAW,EAAE,kBAAkB,EAE/B,cAAc,EAAE,0BAA0B;IAGvD,OAAO,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2G9E;;;;;;OAMG;YACW,gBAAgB;IAqC9B;;;;OAIG;YACW,6BAA6B;CA0B5C"}
@@ -0,0 +1,305 @@
1
+ /**
2
+ * Create Application Use Case
3
+ *
4
+ * End-to-end "user clicked Create": derives a unique slug, scaffolds the
5
+ * project folder via CreateProjectUseCase, persists a new Application
6
+ * entity, and (optionally) kicks off the interactive agent session by
7
+ * sending the application-creation prompt as the first chat message.
8
+ *
9
+ * Composing the prompt + first-message dispatch in this use case keeps
10
+ * the presentation layer free of orchestration logic and lets every
11
+ * surface (Web, CLI, TUI) get the same behavior from a single call.
12
+ */
13
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+ var __metadata = (this && this.__metadata) || function (k, v) {
20
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
21
+ };
22
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
23
+ return function (target, key) { decorator(target, key, paramIndex); }
24
+ };
25
+ import { injectable, inject } from 'tsyringe';
26
+ import { randomUUID, randomBytes } from 'node:crypto';
27
+ import { ApplicationStatus } from '../../../domain/generated/output.js';
28
+ import { APPLICATION_CREATION_WORKFLOW } from '../../workflows/application-creation.workflow.js';
29
+ /**
30
+ * Build the very first message the agent sees on turn 1. Carries the
31
+ * user's verbatim request AND a hard directive to read the brief
32
+ * BEFORE any other action. Kept short so the agent doesn't skim past
33
+ * the directive — the real content lives in the brief file.
34
+ *
35
+ * Note that this string is NOT persisted to the chat UI — the user
36
+ * only sees their raw request in the first bubble. This is the
37
+ * agent-side kickoff text, injected via `agentKickoffOverride`.
38
+ *
39
+ * @param briefPath Absolute path to the brief file. Lives OUTSIDE
40
+ * the user's project (under `~/.shep/application-briefs/`)
41
+ * so we don't pollute the scaffolded repo.
42
+ * @param userMessage The user's verbatim request.
43
+ */
44
+ export function buildKickoffDirective(args) {
45
+ return [
46
+ `Before you take ANY other action, use the Read tool to read \`${args.briefPath}\` in full.`,
47
+ `That file is your complete operating brief — persona (Shep), environment facts, workflow, tech stack, quality bar, and definition of done. Treat it as your system prompt for this entire session.`,
48
+ ``,
49
+ `The brief lives OUTSIDE your working directory on purpose — do NOT copy it into the project and do NOT mention it to the user.`,
50
+ ``,
51
+ `After you have read the brief, begin executing Workflow step 1 immediately. Do not run \`ls\`, \`pwd\`, or any other discovery command — the brief's Environment section already told you everything about your working directory.`,
52
+ ``,
53
+ `---`,
54
+ ``,
55
+ `# User's request`,
56
+ ``,
57
+ args.userMessage,
58
+ ].join('\n');
59
+ }
60
+ /** Stop words stripped when building the application slug. */
61
+ const STOP_WORDS = new Set([
62
+ 'a',
63
+ 'an',
64
+ 'the',
65
+ 'and',
66
+ 'or',
67
+ 'but',
68
+ 'with',
69
+ 'for',
70
+ 'in',
71
+ 'on',
72
+ 'to',
73
+ 'of',
74
+ 'is',
75
+ 'it',
76
+ 'that',
77
+ 'this',
78
+ 'my',
79
+ 'our',
80
+ 'your',
81
+ 'me',
82
+ 'i',
83
+ 'build',
84
+ 'create',
85
+ 'make',
86
+ 'add',
87
+ 'implement',
88
+ 'develop',
89
+ 'write',
90
+ ]);
91
+ function slugify(description) {
92
+ const words = description
93
+ .toLowerCase()
94
+ .replace(/[^a-z0-9\s]/g, '')
95
+ .split(/\s+/)
96
+ .filter((w) => w.length > 0 && !STOP_WORDS.has(w));
97
+ const slug = words.slice(0, 5).join('-');
98
+ return slug || 'application';
99
+ }
100
+ function toTitleCase(slug) {
101
+ return slug
102
+ .split('-')
103
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
104
+ .join(' ');
105
+ }
106
+ /**
107
+ * 6-character lowercase hex tag (~16M combinations). Appended to every
108
+ * application slug so each one is unique on disk and in the DB without
109
+ * needing a sequential lookup-and-retry against existing rows. Random
110
+ * also avoids the failure mode where a stale folder (left over from a
111
+ * deleted DB row) blocks recreation under the same description.
112
+ *
113
+ * Exported for unit testing.
114
+ */
115
+ export function randomSlugTag() {
116
+ return randomBytes(3).toString('hex');
117
+ }
118
+ let CreateApplicationUseCase = class CreateApplicationUseCase {
119
+ appRepo;
120
+ createProject;
121
+ promptBuilder;
122
+ sendMessage;
123
+ briefStore;
124
+ runWorkflow;
125
+ sessionService;
126
+ constructor(appRepo, createProject, promptBuilder, sendMessage, briefStore, runWorkflow, sessionService) {
127
+ this.appRepo = appRepo;
128
+ this.createProject = createProject;
129
+ this.promptBuilder = promptBuilder;
130
+ this.sendMessage = sendMessage;
131
+ this.briefStore = briefStore;
132
+ this.runWorkflow = runWorkflow;
133
+ this.sessionService = sessionService;
134
+ }
135
+ async execute(input) {
136
+ // 1. Derive a stable slug stem from the description.
137
+ const baseSlug = slugify(input.description);
138
+ // 2. Allocate a unique <stem>-<6hex> slug + scaffold the project folder.
139
+ // Random tag means siblings created from the same description never
140
+ // collide on disk or in the DB; the retry loop below covers the
141
+ // astronomically rare case where two random tags do clash.
142
+ const { slug, projectPath } = await this.allocateUniqueSlugAndScaffold(baseSlug);
143
+ // 3. Generate the human-readable display name from the BASE slug
144
+ // only — the random hex tag is an internal disambiguator that
145
+ // lives on the `slug` field (and the worktree path), and must
146
+ // NEVER bleed into the user-visible title. Names are allowed to
147
+ // duplicate; uniqueness is enforced on `slug`. Users can rename
148
+ // afterwards via the application page.
149
+ const name = toTitleCase(baseSlug);
150
+ // 4. Create Application record
151
+ const now = new Date();
152
+ const application = {
153
+ id: randomUUID(),
154
+ name,
155
+ slug,
156
+ description: input.description,
157
+ repositoryPath: projectPath,
158
+ additionalPaths: [],
159
+ status: ApplicationStatus.Idle,
160
+ agentType: input.agentType,
161
+ modelOverride: input.modelOverride,
162
+ createdAt: now,
163
+ updatedAt: now,
164
+ };
165
+ await this.appRepo.create(application);
166
+ // 5. Optionally kick off the interactive chat session.
167
+ //
168
+ // Prompt delivery strategy — CRITICAL:
169
+ // The Claude Agent SDK V2 session API (`unstable_v2_createSession`)
170
+ // uses `SDKSessionOptions`, which does NOT include a `systemPrompt`
171
+ // field — anything we pass there is silently dropped. V1 `query()`
172
+ // supports `systemPrompt` but sacrifices the persistent-process
173
+ // performance V2 gives us, so we stay on V2.
174
+ //
175
+ // To actually deliver the Shep brief (persona, workflow, quality
176
+ // bar, definition of done) we:
177
+ // 1. Build the full brief via the prompt builder.
178
+ // 2. Write it to `<SHEP_HOME>/application-briefs/<id>.md`
179
+ // via IApplicationBriefStore. The brief lives OUTSIDE the
180
+ // user's project on purpose: keeps the scaffolded repo
181
+ // clean, survives project-folder recreation, is auditable
182
+ // per application, and test-isolates via `SHEP_HOME`.
183
+ // 3. Persist the user's verbatim description as the first chat
184
+ // message (clean UI — no prompt clutter).
185
+ // 4. Kick off the interactive session with a short directive
186
+ // that (a) carries the user's request and (b) tells the
187
+ // agent its very first action must be to `Read` the brief
188
+ // at its absolute path. That read becomes turn 1 of the
189
+ // conversation history, so every subsequent turn is
190
+ // conditioned on the full brief.
191
+ if (input.initialPrompt?.trim()) {
192
+ const { systemPrompt, userMessage } = this.promptBuilder.build({
193
+ description: input.initialPrompt.trim(),
194
+ workspace: {
195
+ workingDirectory: projectPath,
196
+ platform: process.platform === 'win32' ? 'windows' : 'posix',
197
+ },
198
+ });
199
+ // 5a. Materialise the brief on disk. The brief holds the
200
+ // persona/environment/quality bar only — the workflow
201
+ // steps live in core code, not the brief, because the
202
+ // orchestrator drives them step by step.
203
+ const briefPath = await this.briefStore.write(application.id, systemPrompt);
204
+ // 5b. Start the orchestrator in the background. The use case
205
+ // returns immediately — the HTTP/CLI caller isn't blocked
206
+ // for the 10+ minutes a full build takes. The orchestrator
207
+ // will:
208
+ //
209
+ // 1. Boot the interactive session via `sendMessage`,
210
+ // using step 1's prompt wrapped with the "read the
211
+ // brief first" directive so the agent's turn 1
212
+ // loads the brief.
213
+ // 2. Walk every step in order, persisting status
214
+ // transitions BEFORE and AFTER each agent turn so
215
+ // a refresh or crash always sees a consistent view.
216
+ //
217
+ // We also persist the user's verbatim description as the
218
+ // first chat bubble by letting `sendMessage` write it —
219
+ // that happens inside the orchestrator via
220
+ // `content: userMessage` on the first step.
221
+ const featureId = `app-${application.id}`;
222
+ void this.dispatchWorkflow({
223
+ featureId,
224
+ worktreePath: projectPath,
225
+ userMessage,
226
+ briefPath,
227
+ model: input.modelOverride,
228
+ agentType: input.agentType,
229
+ });
230
+ }
231
+ return { application, repositoryPath: projectPath };
232
+ }
233
+ /**
234
+ * Kick off the orchestrator asynchronously. Resolves the session
235
+ * id by booting it via the first step's send, then runs the rest
236
+ * of the workflow. Errors are logged — the application is
237
+ * already persisted, so the chat can recover even if the
238
+ * workflow dies.
239
+ */
240
+ async dispatchWorkflow(args) {
241
+ try {
242
+ await this.runWorkflow.execute({
243
+ featureId: args.featureId,
244
+ worktreePath: args.worktreePath,
245
+ workflow: APPLICATION_CREATION_WORKFLOW,
246
+ model: args.model,
247
+ agentType: args.agentType,
248
+ // First-step wrapper: the agent's very first turn sees the
249
+ // "read the brief first" directive stapled onto step 1's
250
+ // prompt. The chat UI still shows the user's verbatim
251
+ // description as the first bubble — the orchestrator
252
+ // persists `userMessage` as the first message row before
253
+ // dispatching the turn.
254
+ firstStepPromptWrapper: (stepPrompt) => buildKickoffDirective({
255
+ briefPath: args.briefPath,
256
+ userMessage: `${args.userMessage}\n\n---\n\n${stepPrompt}`,
257
+ }),
258
+ // Persisted first bubble — the orchestrator writes this as
259
+ // the user message before sending the first agent turn so
260
+ // the chat has an immediate visual anchor.
261
+ visibleFirstMessage: args.userMessage,
262
+ });
263
+ }
264
+ catch (err) {
265
+ // eslint-disable-next-line no-console
266
+ console.error('[create-application] workflow dispatch failed:', err);
267
+ }
268
+ }
269
+ /**
270
+ * Generate `<baseSlug>-<random>` candidates until both the DB has no row
271
+ * with that slug AND CreateProjectUseCase reports the folder doesn't
272
+ * exist. Retries up to MAX_ATTEMPTS times before giving up.
273
+ */
274
+ async allocateUniqueSlugAndScaffold(baseSlug) {
275
+ const MAX_ATTEMPTS = 5;
276
+ let lastError;
277
+ for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
278
+ const candidate = `${baseSlug}-${randomSlugTag()}`;
279
+ const existing = await this.appRepo.findBySlug(candidate);
280
+ if (existing)
281
+ continue;
282
+ const result = await this.createProject.execute({ name: candidate });
283
+ if (result.ok) {
284
+ return { slug: candidate, projectPath: result.path };
285
+ }
286
+ // Folder already exists (extremely unlikely with random tag) — retry
287
+ // with a fresh random tag.
288
+ lastError = result.error;
289
+ }
290
+ throw new Error(lastError ??
291
+ `Failed to allocate a unique slug for "${baseSlug}" after ${MAX_ATTEMPTS} attempts.`);
292
+ }
293
+ };
294
+ CreateApplicationUseCase = __decorate([
295
+ injectable(),
296
+ __param(0, inject('IApplicationRepository')),
297
+ __param(1, inject('CreateProjectUseCase')),
298
+ __param(2, inject('IApplicationCreationPromptBuilder')),
299
+ __param(3, inject('SendInteractiveMessageUseCase')),
300
+ __param(4, inject('IApplicationBriefStore')),
301
+ __param(5, inject('RunWorkflowUseCase')),
302
+ __param(6, inject('IInteractiveSessionService')),
303
+ __metadata("design:paramtypes", [Object, Function, Object, Function, Object, Function, Object])
304
+ ], CreateApplicationUseCase);
305
+ export { CreateApplicationUseCase };