@shepai/cli 1.179.1 → 1.180.0-pr548.764147

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 (924) 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/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  141. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +4 -1
  142. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
  143. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +11 -6
  144. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts +2 -2
  145. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.d.ts.map +1 -1
  146. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/pr-branding.js +2 -2
  147. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.d.ts +20 -0
  148. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.d.ts.map +1 -0
  149. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.js +40 -0
  150. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts +18 -0
  151. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts.map +1 -0
  152. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.js +292 -0
  153. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.d.ts.map +1 -1
  154. package/dist/packages/core/src/infrastructure/services/git/git-pr.service.js +3 -2
  155. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts +16 -5
  156. package/dist/packages/core/src/infrastructure/services/git/pr-branding.d.ts.map +1 -1
  157. package/dist/packages/core/src/infrastructure/services/git/pr-branding.js +38 -7
  158. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +49 -10
  159. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
  160. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +323 -149
  161. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.d.ts +22 -0
  162. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.d.ts.map +1 -0
  163. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.js +182 -0
  164. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  165. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +11 -1
  166. package/dist/src/presentation/web/app/actions/check-all-agents-status.d.ts +7 -0
  167. package/dist/src/presentation/web/app/actions/check-all-agents-status.d.ts.map +1 -0
  168. package/dist/src/presentation/web/app/actions/check-all-agents-status.js +30 -0
  169. package/dist/src/presentation/web/app/actions/create-application.d.ts +33 -0
  170. package/dist/src/presentation/web/app/actions/create-application.d.ts.map +1 -0
  171. package/dist/src/presentation/web/app/actions/create-application.js +29 -0
  172. package/dist/src/presentation/web/app/actions/create-project-and-feature.d.ts +20 -0
  173. package/dist/src/presentation/web/app/actions/create-project-and-feature.d.ts.map +1 -0
  174. package/dist/src/presentation/web/app/actions/create-project-and-feature.js +84 -0
  175. package/dist/src/presentation/web/app/actions/delete-application.d.ts +4 -0
  176. package/dist/src/presentation/web/app/actions/delete-application.d.ts.map +1 -0
  177. package/dist/src/presentation/web/app/actions/delete-application.js +16 -0
  178. package/dist/src/presentation/web/app/actions/deploy-application.d.ts +20 -0
  179. package/dist/src/presentation/web/app/actions/deploy-application.d.ts.map +1 -0
  180. package/dist/src/presentation/web/app/actions/deploy-application.js +62 -0
  181. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.d.ts +25 -0
  182. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.d.ts.map +1 -0
  183. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.js +37 -0
  184. package/dist/src/presentation/web/app/actions/get-git-log.js +2 -2
  185. package/dist/src/presentation/web/app/actions/update-application.d.ts +5 -0
  186. package/dist/src/presentation/web/app/actions/update-application.d.ts.map +1 -0
  187. package/dist/src/presentation/web/app/actions/update-application.js +21 -0
  188. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.d.ts +17 -0
  189. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.d.ts.map +1 -0
  190. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.js +63 -0
  191. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.d.ts +17 -0
  192. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.d.ts.map +1 -0
  193. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.js +55 -0
  194. package/dist/src/presentation/web/app/api/applications/[id]/files/route.d.ts +16 -0
  195. package/dist/src/presentation/web/app/api/applications/[id]/files/route.d.ts.map +1 -0
  196. package/dist/src/presentation/web/app/api/applications/[id]/files/route.js +23 -0
  197. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.d.ts +21 -0
  198. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.d.ts.map +1 -0
  199. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.js +86 -0
  200. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts +15 -6
  201. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
  202. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +36 -20
  203. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.d.ts +21 -0
  204. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.d.ts.map +1 -0
  205. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.js +82 -0
  206. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.d.ts +15 -0
  207. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.d.ts.map +1 -0
  208. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.js +27 -0
  209. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.d.ts +15 -0
  210. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.d.ts.map +1 -0
  211. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.js +27 -0
  212. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.d.ts +15 -0
  213. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.d.ts.map +1 -0
  214. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.js +20 -0
  215. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.d.ts +17 -0
  216. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.d.ts.map +1 -0
  217. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.js +76 -0
  218. package/dist/src/presentation/web/app/api/terminal/route.d.ts +12 -0
  219. package/dist/src/presentation/web/app/api/terminal/route.d.ts.map +1 -0
  220. package/dist/src/presentation/web/app/api/terminal/route.js +34 -0
  221. package/dist/src/presentation/web/app/application/[id]/page.d.ts +8 -0
  222. package/dist/src/presentation/web/app/application/[id]/page.d.ts.map +1 -0
  223. package/dist/src/presentation/web/app/application/[id]/page.js +65 -0
  224. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +3 -1
  225. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  226. package/dist/src/presentation/web/app/build-graph-nodes.js +19 -0
  227. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +5 -1
  228. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  229. package/dist/src/presentation/web/components/assistant-ui/thread.js +19 -5
  230. package/dist/src/presentation/web/components/common/application-node/application-node-config.d.ts +24 -0
  231. package/dist/src/presentation/web/components/common/application-node/application-node-config.d.ts.map +1 -0
  232. package/dist/src/presentation/web/components/common/application-node/application-node-config.js +1 -0
  233. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts +7 -0
  234. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -0
  235. package/dist/src/presentation/web/components/common/application-node/application-node.js +156 -0
  236. package/dist/src/presentation/web/components/common/application-node/application-node.stories.d.ts +12 -0
  237. package/dist/src/presentation/web/components/common/application-node/application-node.stories.d.ts.map +1 -0
  238. package/dist/src/presentation/web/components/common/application-node/application-node.stories.js +100 -0
  239. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.d.ts.map +1 -1
  240. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  241. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts +31 -0
  242. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -0
  243. package/dist/src/presentation/web/components/features/application-page/application-page.js +330 -0
  244. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts +9 -0
  245. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts.map +1 -0
  246. package/dist/src/presentation/web/components/features/application-page/application-page.stories.js +51 -0
  247. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.d.ts +11 -0
  248. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.d.ts.map +1 -0
  249. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.js +35 -0
  250. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.d.ts +27 -0
  251. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.d.ts.map +1 -0
  252. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.js +147 -0
  253. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.d.ts +19 -0
  254. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.d.ts.map +1 -0
  255. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.js +85 -0
  256. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.d.ts +16 -0
  257. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.d.ts.map +1 -0
  258. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.js +53 -0
  259. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.d.ts +9 -0
  260. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.d.ts.map +1 -0
  261. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.js +111 -0
  262. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.d.ts +27 -0
  263. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.d.ts.map +1 -0
  264. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.js +162 -0
  265. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.d.ts +3 -0
  266. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.d.ts.map +1 -0
  267. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.js +1 -0
  268. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.d.ts +56 -0
  269. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.d.ts.map +1 -0
  270. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.js +35 -0
  271. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.d.ts +39 -0
  272. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.d.ts.map +1 -0
  273. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.js +238 -0
  274. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.d.ts +14 -0
  275. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.d.ts.map +1 -0
  276. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.js +37 -0
  277. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts +19 -0
  278. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts.map +1 -0
  279. package/dist/src/presentation/web/components/features/application-page/run-dev-button.js +80 -0
  280. package/dist/src/presentation/web/components/features/application-page/terminal-tab.d.ts +9 -0
  281. package/dist/src/presentation/web/components/features/application-page/terminal-tab.d.ts.map +1 -0
  282. package/dist/src/presentation/web/components/features/application-page/terminal-tab.js +224 -0
  283. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.d.ts +6 -0
  284. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.d.ts.map +1 -0
  285. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.js +57 -0
  286. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  287. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +4 -2
  288. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +38 -1
  289. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  290. package/dist/src/presentation/web/components/features/chat/ChatTab.js +53 -8
  291. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts +36 -0
  292. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts.map +1 -0
  293. package/dist/src/presentation/web/components/features/chat/StepTracker.js +133 -0
  294. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.d.ts +11 -0
  295. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.d.ts.map +1 -0
  296. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.js +121 -0
  297. package/dist/src/presentation/web/components/features/chat/chat-state-query.d.ts +12 -0
  298. package/dist/src/presentation/web/components/features/chat/chat-state-query.d.ts.map +1 -0
  299. package/dist/src/presentation/web/components/features/chat/chat-state-query.js +20 -0
  300. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.d.ts +38 -0
  301. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.d.ts.map +1 -0
  302. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.js +91 -0
  303. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.d.ts +17 -0
  304. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.d.ts.map +1 -0
  305. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.js +25 -0
  306. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.d.ts +11 -0
  307. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.d.ts.map +1 -0
  308. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.js +15 -0
  309. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.d.ts +21 -0
  310. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.d.ts.map +1 -0
  311. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.js +37 -0
  312. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.d.ts +14 -0
  313. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.d.ts.map +1 -0
  314. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.js +13 -0
  315. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +52 -1
  316. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
  317. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +360 -28
  318. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +21 -0
  319. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts.map +1 -0
  320. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +40 -0
  321. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts +3 -1
  322. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  323. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +183 -120
  324. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts +4 -16
  325. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts.map +1 -1
  326. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.js +16 -109
  327. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  328. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +40 -17
  329. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +4 -0
  330. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  331. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +25 -1
  332. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.d.ts +2 -1
  333. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.d.ts.map +1 -1
  334. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.js +9 -2
  335. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  336. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +2 -9
  337. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +2 -1
  338. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  339. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -0
  340. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +3 -1
  341. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  342. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +9 -4
  343. package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts +1 -1
  344. package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts.map +1 -1
  345. package/dist/src/presentation/web/hooks/deployment-status-provider.js +4 -1
  346. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +5 -0
  347. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  348. package/dist/src/presentation/web/hooks/use-graph-state.js +37 -2
  349. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts +13 -3
  350. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts.map +1 -1
  351. package/dist/src/presentation/web/hooks/use-turn-statuses.js +73 -13
  352. package/dist/src/presentation/web/lib/derive-graph.d.ts +11 -1
  353. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
  354. package/dist/src/presentation/web/lib/derive-graph.js +35 -1
  355. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts +8 -1
  356. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  357. package/dist/src/presentation/web/lib/layout-with-dagre.js +27 -3
  358. package/dist/src/presentation/web/next.config.d.ts.map +1 -1
  359. package/dist/src/presentation/web/next.config.js +1 -0
  360. package/dist/translations/ar/web.json +2 -1
  361. package/dist/translations/de/web.json +2 -1
  362. package/dist/translations/en/web.json +2 -1
  363. package/dist/translations/es/web.json +2 -1
  364. package/dist/translations/fr/web.json +2 -1
  365. package/dist/translations/he/web.json +2 -1
  366. package/dist/translations/pt/web.json +2 -1
  367. package/dist/translations/ru/web.json +2 -1
  368. package/dist/translations/uk/web.json +2 -1
  369. package/dist/tsconfig.build.tsbuildinfo +1 -1
  370. package/package.json +5 -3
  371. package/web/.next/BUILD_ID +1 -1
  372. package/web/.next/app-path-routes-manifest.json +11 -0
  373. package/web/.next/build-manifest.json +5 -5
  374. package/web/.next/fallback-build-manifest.json +2 -2
  375. package/web/.next/prerender-manifest.json +3 -3
  376. package/web/.next/required-server-files.js +4 -3
  377. package/web/.next/required-server-files.json +4 -3
  378. package/web/.next/routes-manifest.json +84 -0
  379. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  380. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +111 -81
  381. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +6 -5
  382. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  383. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  384. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +3 -3
  385. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +107 -77
  386. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +6 -5
  387. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  388. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  389. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  390. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +113 -83
  391. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +6 -5
  392. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  393. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  394. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  395. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +129 -99
  396. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +6 -5
  397. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  398. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  399. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  400. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +129 -99
  401. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +6 -5
  402. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  403. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  404. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  405. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +109 -79
  406. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +6 -5
  407. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  408. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  409. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  410. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +109 -79
  411. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +6 -5
  412. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  413. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  414. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +3 -3
  415. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +107 -77
  416. package/web/.next/server/app/(dashboard)/chat/page.js +6 -5
  417. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  418. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  419. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  420. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +113 -83
  421. package/web/.next/server/app/(dashboard)/create/page.js +6 -5
  422. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  423. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  424. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  425. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +129 -99
  426. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +6 -5
  427. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  428. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  429. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  430. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +129 -99
  431. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +6 -5
  432. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  433. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  434. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  435. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +107 -77
  436. package/web/.next/server/app/(dashboard)/page.js +6 -5
  437. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  438. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  439. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  440. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +109 -79
  441. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +6 -5
  442. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  443. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  444. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  445. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +109 -79
  446. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +6 -5
  447. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  448. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  449. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  450. package/web/.next/server/app/_global-error/page.js +1 -1
  451. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  452. package/web/.next/server/app/_global-error.html +2 -2
  453. package/web/.next/server/app/_global-error.rsc +1 -1
  454. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  455. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  456. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  457. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  458. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  459. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  460. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +27 -12
  461. package/web/.next/server/app/_not-found/page.js +2 -2
  462. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  463. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  464. package/web/.next/server/app/api/applications/[id]/files/content/route/app-paths-manifest.json +3 -0
  465. package/web/.next/server/app/api/applications/[id]/files/content/route/build-manifest.json +11 -0
  466. package/web/.next/server/app/api/applications/[id]/files/content/route/server-reference-manifest.json +4 -0
  467. package/web/.next/server/app/api/applications/[id]/files/content/route.js +6 -0
  468. package/web/.next/server/app/api/applications/[id]/files/content/route.js.map +5 -0
  469. package/web/.next/server/app/api/applications/[id]/files/content/route.js.nft.json +1 -0
  470. package/web/.next/server/app/api/applications/[id]/files/content/route_client-reference-manifest.js +2 -0
  471. package/web/.next/server/app/api/applications/[id]/files/raw/route/app-paths-manifest.json +3 -0
  472. package/web/.next/server/app/api/applications/[id]/files/raw/route/build-manifest.json +11 -0
  473. package/web/.next/server/app/api/applications/[id]/files/raw/route/server-reference-manifest.json +4 -0
  474. package/web/.next/server/app/api/applications/[id]/files/raw/route.js +7 -0
  475. package/web/.next/server/app/api/applications/[id]/files/raw/route.js.map +5 -0
  476. package/web/.next/server/app/api/applications/[id]/files/raw/route.js.nft.json +1 -0
  477. package/web/.next/server/app/api/applications/[id]/files/raw/route_client-reference-manifest.js +2 -0
  478. package/web/.next/server/app/api/applications/[id]/files/route/app-paths-manifest.json +3 -0
  479. package/web/.next/server/app/api/applications/[id]/files/route/build-manifest.json +11 -0
  480. package/web/.next/server/app/api/applications/[id]/files/route/server-reference-manifest.json +4 -0
  481. package/web/.next/server/app/api/applications/[id]/files/route.js +6 -0
  482. package/web/.next/server/app/api/applications/[id]/files/route.js.map +5 -0
  483. package/web/.next/server/app/api/applications/[id]/files/route.js.nft.json +1 -0
  484. package/web/.next/server/app/api/applications/[id]/files/route_client-reference-manifest.js +2 -0
  485. package/web/.next/server/app/api/applications/[id]/files/watch/route/app-paths-manifest.json +3 -0
  486. package/web/.next/server/app/api/applications/[id]/files/watch/route/build-manifest.json +11 -0
  487. package/web/.next/server/app/api/applications/[id]/files/watch/route/server-reference-manifest.json +4 -0
  488. package/web/.next/server/app/api/applications/[id]/files/watch/route.js +6 -0
  489. package/web/.next/server/app/api/applications/[id]/files/watch/route.js.map +5 -0
  490. package/web/.next/server/app/api/applications/[id]/files/watch/route.js.nft.json +1 -0
  491. package/web/.next/server/app/api/applications/[id]/files/watch/route_client-reference-manifest.js +2 -0
  492. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  493. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  494. package/web/.next/server/app/api/directory/list/route.js +1 -1
  495. package/web/.next/server/app/api/directory/list/route.js.nft.json +1 -1
  496. package/web/.next/server/app/api/evidence/route.js +1 -1
  497. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  498. package/web/.next/server/app/api/feature-logs/route.js +1 -1
  499. package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
  500. package/web/.next/server/app/api/graph-data/route.js +1 -1
  501. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  502. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  503. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  504. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/app-paths-manifest.json +3 -0
  505. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/build-manifest.json +11 -0
  506. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/server-reference-manifest.json +4 -0
  507. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js +6 -0
  508. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js.map +5 -0
  509. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js.nft.json +1 -0
  510. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route_client-reference-manifest.js +2 -0
  511. package/web/.next/server/app/api/sessions/route.js +1 -1
  512. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  513. package/web/.next/server/app/api/sessions-batch/route.js +1 -1
  514. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  515. package/web/.next/server/app/api/terminal/[sessionId]/input/route/app-paths-manifest.json +3 -0
  516. package/web/.next/server/app/api/terminal/[sessionId]/input/route/build-manifest.json +11 -0
  517. package/web/.next/server/app/api/terminal/[sessionId]/input/route/server-reference-manifest.json +4 -0
  518. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js +6 -0
  519. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js.map +5 -0
  520. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js.nft.json +1 -0
  521. package/web/.next/server/app/api/terminal/[sessionId]/input/route_client-reference-manifest.js +2 -0
  522. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/app-paths-manifest.json +3 -0
  523. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/build-manifest.json +11 -0
  524. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/server-reference-manifest.json +4 -0
  525. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js +6 -0
  526. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js.map +5 -0
  527. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js.nft.json +1 -0
  528. package/web/.next/server/app/api/terminal/[sessionId]/resize/route_client-reference-manifest.js +2 -0
  529. package/web/.next/server/app/api/terminal/[sessionId]/route/app-paths-manifest.json +3 -0
  530. package/web/.next/server/app/api/terminal/[sessionId]/route/build-manifest.json +11 -0
  531. package/web/.next/server/app/api/terminal/[sessionId]/route/server-reference-manifest.json +4 -0
  532. package/web/.next/server/app/api/terminal/[sessionId]/route.js +6 -0
  533. package/web/.next/server/app/api/terminal/[sessionId]/route.js.map +5 -0
  534. package/web/.next/server/app/api/terminal/[sessionId]/route.js.nft.json +1 -0
  535. package/web/.next/server/app/api/terminal/[sessionId]/route_client-reference-manifest.js +2 -0
  536. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/app-paths-manifest.json +3 -0
  537. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/build-manifest.json +11 -0
  538. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/server-reference-manifest.json +4 -0
  539. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js +6 -0
  540. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js.map +5 -0
  541. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js.nft.json +1 -0
  542. package/web/.next/server/app/api/terminal/[sessionId]/stream/route_client-reference-manifest.js +2 -0
  543. package/web/.next/server/app/api/terminal/route/app-paths-manifest.json +3 -0
  544. package/web/.next/server/app/api/terminal/route/build-manifest.json +11 -0
  545. package/web/.next/server/app/api/terminal/route/server-reference-manifest.json +4 -0
  546. package/web/.next/server/app/api/terminal/route.js +6 -0
  547. package/web/.next/server/app/api/terminal/route.js.map +5 -0
  548. package/web/.next/server/app/api/terminal/route.js.nft.json +1 -0
  549. package/web/.next/server/app/api/terminal/route_client-reference-manifest.js +2 -0
  550. package/web/.next/server/app/application/[id]/page/app-paths-manifest.json +3 -0
  551. package/web/.next/server/app/application/[id]/page/build-manifest.json +18 -0
  552. package/web/.next/server/app/application/[id]/page/next-font-manifest.json +6 -0
  553. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +8 -0
  554. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +230 -0
  555. package/web/.next/server/app/application/[id]/page.js +19 -0
  556. package/web/.next/server/app/application/[id]/page.js.map +5 -0
  557. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -0
  558. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +2 -0
  559. package/web/.next/server/app/features/page/build-manifest.json +3 -3
  560. package/web/.next/server/app/features/page/server-reference-manifest.json +27 -12
  561. package/web/.next/server/app/features/page.js +2 -2
  562. package/web/.next/server/app/features/page.js.nft.json +1 -1
  563. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  564. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  565. package/web/.next/server/app/settings/page/server-reference-manifest.json +33 -18
  566. package/web/.next/server/app/settings/page.js +2 -2
  567. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  568. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  569. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  570. package/web/.next/server/app/skills/page/server-reference-manifest.json +56 -26
  571. package/web/.next/server/app/skills/page.js +4 -3
  572. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  573. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  574. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  575. package/web/.next/server/app/tools/page/server-reference-manifest.json +52 -22
  576. package/web/.next/server/app/tools/page.js +3 -2
  577. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  578. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  579. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  580. package/web/.next/server/app/version/page/server-reference-manifest.json +27 -12
  581. package/web/.next/server/app/version/page.js +3 -3
  582. package/web/.next/server/app/version/page.js.nft.json +1 -1
  583. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  584. package/web/.next/server/app-paths-manifest.json +11 -0
  585. package/web/.next/server/chunks/0d725_next-internal_server_app_api_applications_[id]_files_raw_route_actions_69e55b18.js +3 -0
  586. package/web/.next/server/chunks/0d725_next-internal_server_app_api_applications_[id]_files_raw_route_actions_69e55b18.js.map +1 -0
  587. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_resize_route_actions_068451e5.js +3 -0
  588. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_resize_route_actions_068451e5.js.map +1 -0
  589. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_stream_route_actions_475d5f68.js +3 -0
  590. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_stream_route_actions_475d5f68.js.map +1 -0
  591. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  592. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  593. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_terminal_[sessionId]_route_actions_20e0d9a3.js +3 -0
  594. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_terminal_[sessionId]_route_actions_20e0d9a3.js.map +1 -0
  595. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_content_route_actions_b0c05593.js +3 -0
  596. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_content_route_actions_b0c05593.js.map +1 -0
  597. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_watch_route_actions_30d3aeeb.js +3 -0
  598. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_watch_route_actions_30d3aeeb.js.map +1 -0
  599. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_turn-statuses_stream_route_actions_52514889.js +3 -0
  600. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_turn-statuses_stream_route_actions_52514889.js.map +1 -0
  601. package/web/.next/server/chunks/[root-of-the-server]__038012df._.js +3 -0
  602. package/web/.next/server/chunks/[root-of-the-server]__038012df._.js.map +1 -0
  603. package/web/.next/server/chunks/[root-of-the-server]__0e3323be._.js +3 -0
  604. package/web/.next/server/chunks/[root-of-the-server]__0e3323be._.js.map +1 -0
  605. package/web/.next/server/chunks/[root-of-the-server]__38b9b39e._.js +3 -0
  606. package/web/.next/server/chunks/[root-of-the-server]__38b9b39e._.js.map +1 -0
  607. package/web/.next/server/chunks/[root-of-the-server]__3c22f57d._.js +3 -0
  608. package/web/.next/server/chunks/[root-of-the-server]__3c22f57d._.js.map +1 -0
  609. package/web/.next/server/chunks/[root-of-the-server]__4906ab60._.js +3 -0
  610. package/web/.next/server/chunks/[root-of-the-server]__4906ab60._.js.map +1 -0
  611. package/web/.next/server/chunks/{[root-of-the-server]__2f61738a._.js → [root-of-the-server]__4eb2c4e4._.js} +2 -2
  612. package/web/.next/server/chunks/{[root-of-the-server]__acea6565._.js → [root-of-the-server]__5e3c6f3a._.js} +2 -2
  613. package/web/.next/server/chunks/[root-of-the-server]__72175657._.js +9 -0
  614. package/web/.next/server/chunks/[root-of-the-server]__72175657._.js.map +1 -0
  615. package/web/.next/server/chunks/{[root-of-the-server]__31598852._.js → [root-of-the-server]__86965b92._.js} +2 -2
  616. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +19 -13
  617. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -1
  618. package/web/.next/server/chunks/[root-of-the-server]__92409aeb._.js +3 -0
  619. package/web/.next/server/chunks/[root-of-the-server]__92409aeb._.js.map +1 -0
  620. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  621. package/web/.next/server/chunks/[root-of-the-server]__a52f55af._.js +6 -0
  622. package/web/.next/server/chunks/[root-of-the-server]__a52f55af._.js.map +1 -0
  623. package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js → [root-of-the-server]__ac92afe7._.js} +2 -2
  624. package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js.map → [root-of-the-server]__ac92afe7._.js.map} +1 -1
  625. package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js +3 -0
  626. package/web/.next/server/chunks/{[root-of-the-server]__c78383b1._.js.map → [root-of-the-server]__b2a4bfcc._.js.map} +1 -1
  627. package/web/.next/server/chunks/{[root-of-the-server]__e3692208._.js → [root-of-the-server]__c8f90b29._.js} +2 -2
  628. package/web/.next/server/chunks/{[root-of-the-server]__2b71641f._.js → [root-of-the-server]__cbf5b20b._.js} +2 -2
  629. package/web/.next/server/chunks/{[root-of-the-server]__2b71641f._.js.map → [root-of-the-server]__cbf5b20b._.js.map} +1 -1
  630. package/web/.next/server/chunks/[root-of-the-server]__ccfcaa08._.js +3 -0
  631. package/web/.next/server/chunks/[root-of-the-server]__ccfcaa08._.js.map +1 -0
  632. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  633. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  634. package/web/.next/server/chunks/[root-of-the-server]__deb67d81._.js +9 -0
  635. package/web/.next/server/chunks/[root-of-the-server]__deb67d81._.js.map +1 -0
  636. package/web/.next/server/chunks/{[root-of-the-server]__fc6fd958._.js → [root-of-the-server]__ecd08b79._.js} +2 -2
  637. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_terminal_route_actions_f93ca3cb.js +3 -0
  638. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_terminal_route_actions_f93ca3cb.js.map +1 -0
  639. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_files_route_actions_e1af3c3a.js +3 -0
  640. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_files_route_actions_e1af3c3a.js.map +1 -0
  641. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_terminal_[sessionId]_input_route_actions_b7785e18.js +3 -0
  642. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_terminal_[sessionId]_input_route_actions_b7785e18.js.map +1 -0
  643. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  644. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  645. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  646. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  647. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js +3 -0
  648. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js.map +1 -0
  649. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +3 -0
  650. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -0
  651. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js → [root-of-the-server]__090f24cb._.js} +2 -2
  652. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js.map → [root-of-the-server]__090f24cb._.js.map} +1 -1
  653. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +4 -0
  654. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -0
  655. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +4 -0
  656. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js.map +1 -0
  657. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +4 -0
  658. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -0
  659. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +12 -0
  660. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -0
  661. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +4 -0
  662. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js.map +1 -0
  663. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +3 -0
  664. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -0
  665. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js → [root-of-the-server]__7aa484f5._.js} +2 -2
  666. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js.map → [root-of-the-server]__7aa484f5._.js.map} +1 -1
  667. package/web/.next/server/chunks/ssr/{[root-of-the-server]__86ff0bc5._.js → [root-of-the-server]__87bc4dac._.js} +3 -3
  668. package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js.map +1 -0
  669. package/web/.next/server/chunks/ssr/{[root-of-the-server]__e0592c69._.js → [root-of-the-server]__894882ab._.js} +2 -2
  670. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js +3 -0
  671. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js.map +1 -0
  672. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js +3 -0
  673. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js.map +1 -0
  674. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +3 -0
  675. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -0
  676. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js +3 -0
  677. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js.map +1 -0
  678. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +4 -0
  679. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -0
  680. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +4 -0
  681. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -0
  682. package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js → [root-of-the-server]__e265da61._.js} +2 -2
  683. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +3 -0
  684. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -0
  685. package/web/.next/server/chunks/ssr/_0277d3b5._.js +21 -0
  686. package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -0
  687. package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
  688. package/web/.next/server/chunks/ssr/_1879404a._.js.map +1 -1
  689. package/web/.next/server/chunks/ssr/_1e08a336._.js +1 -1
  690. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
  691. package/web/.next/server/chunks/ssr/_2bea8166._.js +4 -0
  692. package/web/.next/server/chunks/ssr/_2bea8166._.js.map +1 -0
  693. package/web/.next/server/chunks/ssr/_44531b76._.js +9 -0
  694. package/web/.next/server/chunks/ssr/_44531b76._.js.map +1 -0
  695. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  696. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  697. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  698. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  699. package/web/.next/server/chunks/ssr/_5bf2415e._.js +7 -0
  700. package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +1 -0
  701. package/web/.next/server/chunks/ssr/_82c47cc2._.js +3 -0
  702. package/web/.next/server/chunks/ssr/{_bb09579b._.js.map → _82c47cc2._.js.map} +1 -1
  703. package/web/.next/server/chunks/ssr/_869a3a15._.js +3 -0
  704. package/web/.next/server/chunks/ssr/_869a3a15._.js.map +1 -0
  705. package/web/.next/server/chunks/ssr/{_7d50fed0._.js → _946a7fc6._.js} +3 -3
  706. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -0
  707. package/web/.next/server/chunks/ssr/_948d3cc6._.js +3 -0
  708. package/web/.next/server/chunks/ssr/_948d3cc6._.js.map +1 -0
  709. package/web/.next/server/chunks/ssr/{_5889596f._.js → _96718a00._.js} +2 -2
  710. package/web/.next/server/chunks/ssr/_96718a00._.js.map +1 -0
  711. package/web/.next/server/chunks/ssr/_9df33116._.js +3 -0
  712. package/web/.next/server/chunks/ssr/_9df33116._.js.map +1 -0
  713. package/web/.next/server/chunks/ssr/_b227ff50._.js +3 -0
  714. package/web/.next/server/chunks/ssr/_b227ff50._.js.map +1 -0
  715. package/web/.next/server/chunks/ssr/_e071ba48._.js +3 -0
  716. package/web/.next/server/chunks/ssr/_e071ba48._.js.map +1 -0
  717. package/web/.next/server/chunks/ssr/_ee88b448._.js +3 -0
  718. package/web/.next/server/chunks/ssr/_ee88b448._.js.map +1 -0
  719. package/web/.next/server/chunks/ssr/_eff1b518._.js +3 -0
  720. package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -0
  721. package/web/.next/server/chunks/ssr/_f227429a._.js +3 -0
  722. package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -0
  723. package/web/.next/server/chunks/ssr/{_496c9117._.js → _f86fc1bf._.js} +2 -2
  724. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -0
  725. package/web/.next/server/chunks/ssr/_f8c55130._.js +4 -0
  726. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -0
  727. package/web/.next/server/chunks/ssr/_ff6f3257._.js +3 -0
  728. package/web/.next/server/chunks/ssr/_ff6f3257._.js.map +1 -0
  729. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  730. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  731. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  732. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  733. package/web/.next/server/chunks/ssr/{_1b7dae9a._.js → f7870_sonner_dist_index_mjs_dbf63824._.js} +2 -2
  734. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  735. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  736. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  737. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +3 -0
  738. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -0
  739. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +3 -0
  740. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -0
  741. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +3 -0
  742. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -0
  743. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +3 -0
  744. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -0
  745. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +3 -0
  746. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -0
  747. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +3 -0
  748. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -0
  749. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +3 -0
  750. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -0
  751. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +3 -0
  752. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -0
  753. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +3 -0
  754. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -0
  755. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +32 -0
  756. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -0
  757. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +3 -0
  758. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -0
  759. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +3 -0
  760. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -0
  761. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  762. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  763. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +3 -0
  764. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -0
  765. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +3 -0
  766. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -0
  767. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  768. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  769. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  770. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  771. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +3 -0
  772. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -0
  773. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +3 -0
  774. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +1 -0
  775. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  776. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  777. package/web/.next/server/middleware-build-manifest.js +3 -3
  778. package/web/.next/server/pages/500.html +2 -2
  779. package/web/.next/server/server-reference-manifest.js +1 -1
  780. package/web/.next/server/server-reference-manifest.json +1084 -703
  781. package/web/.next/static/chunks/{d26d0a7bc1a9b5a4.js → 010215070d22b4e6.js} +2 -2
  782. package/web/.next/static/chunks/06b9d6dbf635c370.css +1 -0
  783. package/web/.next/static/chunks/0a67d6e50e27452e.js +1 -0
  784. package/web/.next/static/chunks/11ef340e4cfbdbe6.js +1 -0
  785. package/web/.next/static/chunks/1ae0cf5be30ef398.js +1 -0
  786. package/web/.next/static/chunks/2a64d4b1a285fac5.js +1 -0
  787. package/web/.next/static/chunks/2ddda685a9100fd8.js +19 -0
  788. package/web/.next/static/chunks/2fe20598e1b4793a.js +5 -0
  789. package/web/.next/static/chunks/3ee4449e73eb4917.js +1 -0
  790. package/web/.next/static/chunks/{eb1ca1b0a34166f5.js → 66261997e6f830f1.js} +1 -1
  791. package/web/.next/static/chunks/6ecbcce796343f44.js +1 -0
  792. package/web/.next/static/chunks/7c3fe3c694874dea.js +1 -0
  793. package/web/.next/static/chunks/8f783e12274578c2.js +1 -0
  794. package/web/.next/static/chunks/927442d2628f6e22.js +1 -0
  795. package/web/.next/static/chunks/9370d114ce5b69fb.js +7 -0
  796. package/web/.next/static/chunks/b17c2d874c373d4e.js +1 -0
  797. package/web/.next/static/chunks/b2a010b2ba8710f4.js +1 -0
  798. package/web/.next/static/chunks/b7b85a15f387ab7c.css +1 -0
  799. package/web/.next/static/chunks/b99506a6f7bc2fa8.js +1 -0
  800. package/web/.next/static/chunks/{5a2bdbc57ed1368e.js → c1559152cf2ab9c6.js} +1 -1
  801. package/web/.next/static/chunks/d2182843a406b5a7.js +5 -0
  802. package/web/.next/static/chunks/edf812d5efffa096.js +7 -0
  803. package/web/.next/static/chunks/{f5c61237675acc89.js → ee9a716c6424ff25.js} +1 -1
  804. package/web/.next/static/chunks/f7a55ba1f789c55f.js +1 -0
  805. package/web/.next/static/chunks/fcf27468f8026dbd.js +1 -0
  806. package/web/.next/static/chunks/fe8bcc8ff36a61c0.js +1 -0
  807. package/web/.next/static/chunks/{turbopack-fa58b7ea4a4b26e7.js → turbopack-d16f2f815897af68.js} +1 -1
  808. package/web/next.config.mjs +1 -1
  809. package/web/package.json +7 -0
  810. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +0 -3
  811. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js +0 -3
  812. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js.map +0 -1
  813. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js +0 -3
  814. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js.map +0 -1
  815. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js +0 -3
  816. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js.map +0 -1
  817. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js +0 -3
  818. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js.map +0 -1
  819. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js +0 -3
  820. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js.map +0 -1
  821. package/web/.next/server/chunks/ssr/[root-of-the-server]__16c1388b._.js +0 -3
  822. package/web/.next/server/chunks/ssr/[root-of-the-server]__16c1388b._.js.map +0 -1
  823. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +0 -4
  824. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +0 -1
  825. package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js +0 -3
  826. package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js.map +0 -1
  827. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +0 -4
  828. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +0 -1
  829. package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js +0 -3
  830. package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js.map +0 -1
  831. package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js +0 -4
  832. package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js.map +0 -1
  833. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +0 -1
  834. package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js +0 -4
  835. package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js.map +0 -1
  836. package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js +0 -3
  837. package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js.map +0 -1
  838. package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js +0 -3
  839. package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js.map +0 -1
  840. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +0 -4
  841. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +0 -1
  842. package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js +0 -4
  843. package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js.map +0 -1
  844. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js +0 -3
  845. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js.map +0 -1
  846. package/web/.next/server/chunks/ssr/_15f6bbd4._.js +0 -3
  847. package/web/.next/server/chunks/ssr/_15f6bbd4._.js.map +0 -1
  848. package/web/.next/server/chunks/ssr/_1b7dae9a._.js.map +0 -1
  849. package/web/.next/server/chunks/ssr/_396a6887._.js +0 -3
  850. package/web/.next/server/chunks/ssr/_396a6887._.js.map +0 -1
  851. package/web/.next/server/chunks/ssr/_43ba79e7._.js +0 -3
  852. package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +0 -1
  853. package/web/.next/server/chunks/ssr/_496c9117._.js.map +0 -1
  854. package/web/.next/server/chunks/ssr/_49b8d085._.js +0 -3
  855. package/web/.next/server/chunks/ssr/_49b8d085._.js.map +0 -1
  856. package/web/.next/server/chunks/ssr/_5889596f._.js.map +0 -1
  857. package/web/.next/server/chunks/ssr/_6abfa39e._.js +0 -3
  858. package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +0 -1
  859. package/web/.next/server/chunks/ssr/_74a1a173._.js +0 -7
  860. package/web/.next/server/chunks/ssr/_74a1a173._.js.map +0 -1
  861. package/web/.next/server/chunks/ssr/_7cb0396e._.js +0 -3
  862. package/web/.next/server/chunks/ssr/_7cb0396e._.js.map +0 -1
  863. package/web/.next/server/chunks/ssr/_7d50fed0._.js.map +0 -1
  864. package/web/.next/server/chunks/ssr/_9bbdd461._.js +0 -4
  865. package/web/.next/server/chunks/ssr/_9bbdd461._.js.map +0 -1
  866. package/web/.next/server/chunks/ssr/_b7a43c05._.js +0 -3
  867. package/web/.next/server/chunks/ssr/_b7a43c05._.js.map +0 -1
  868. package/web/.next/server/chunks/ssr/_bb09579b._.js +0 -3
  869. package/web/.next/server/chunks/ssr/_bcd239dd._.js +0 -3
  870. package/web/.next/server/chunks/ssr/_bcd239dd._.js.map +0 -1
  871. package/web/.next/server/chunks/ssr/_e680c57c._.js +0 -9
  872. package/web/.next/server/chunks/ssr/_e680c57c._.js.map +0 -1
  873. package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js +0 -3
  874. package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js.map +0 -1
  875. package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js +0 -3
  876. package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js.map +0 -1
  877. package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js +0 -3
  878. package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js.map +0 -1
  879. package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js +0 -5
  880. package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js.map +0 -1
  881. package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js +0 -3
  882. package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js.map +0 -1
  883. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +0 -3
  884. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +0 -1
  885. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js +0 -3
  886. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js.map +0 -1
  887. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +0 -3
  888. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +0 -1
  889. package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js +0 -3
  890. package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js.map +0 -1
  891. package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js +0 -5
  892. package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js.map +0 -1
  893. package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js +0 -3
  894. package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js.map +0 -1
  895. package/web/.next/static/chunks/09edd35d194bec06.js +0 -5
  896. package/web/.next/static/chunks/124b79a5d2a760fb.css +0 -1
  897. package/web/.next/static/chunks/200e07d995bd9a42.js +0 -1
  898. package/web/.next/static/chunks/22e3a3738308da2e.js +0 -1
  899. package/web/.next/static/chunks/25d3c4d18b8aecff.js +0 -7
  900. package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
  901. package/web/.next/static/chunks/34444901ca3a1c3b.js +0 -1
  902. package/web/.next/static/chunks/3cf86457869c47bc.js +0 -1
  903. package/web/.next/static/chunks/4052a4971fbbac9c.js +0 -1
  904. package/web/.next/static/chunks/55060446f5490f20.js +0 -3
  905. package/web/.next/static/chunks/59bff7b33ebe5f68.js +0 -1
  906. package/web/.next/static/chunks/8b0a9cb5109fe899.js +0 -1
  907. package/web/.next/static/chunks/971e52f3f386ccfd.js +0 -1
  908. package/web/.next/static/chunks/981c6f3f1db99b4e.js +0 -1
  909. package/web/.next/static/chunks/b63e6727c84f30e2.js +0 -1
  910. package/web/.next/static/chunks/c10c0d6d458453bc.js +0 -1
  911. package/web/.next/static/chunks/c94a6a3d54dd4997.js +0 -5
  912. package/web/.next/static/chunks/d04d868f0971941d.js +0 -1
  913. package/web/.next/static/chunks/e7502fb670f32235.js +0 -1
  914. package/web/.next/static/chunks/fb7211d94190d010.js +0 -5
  915. /package/web/.next/server/chunks/{[root-of-the-server]__2f61738a._.js.map → [root-of-the-server]__4eb2c4e4._.js.map} +0 -0
  916. /package/web/.next/server/chunks/{[root-of-the-server]__acea6565._.js.map → [root-of-the-server]__5e3c6f3a._.js.map} +0 -0
  917. /package/web/.next/server/chunks/{[root-of-the-server]__31598852._.js.map → [root-of-the-server]__86965b92._.js.map} +0 -0
  918. /package/web/.next/server/chunks/{[root-of-the-server]__e3692208._.js.map → [root-of-the-server]__c8f90b29._.js.map} +0 -0
  919. /package/web/.next/server/chunks/{[root-of-the-server]__fc6fd958._.js.map → [root-of-the-server]__ecd08b79._.js.map} +0 -0
  920. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__e0592c69._.js.map → [root-of-the-server]__894882ab._.js.map} +0 -0
  921. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js.map → [root-of-the-server]__e265da61._.js.map} +0 -0
  922. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → ex3OTWRXHxfwD9RkifALI}/_buildManifest.js +0 -0
  923. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → ex3OTWRXHxfwD9RkifALI}/_clientMiddlewareManifest.json +0 -0
  924. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → ex3OTWRXHxfwD9RkifALI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/presentation/web/lib/server-container.ts","../../../../../../packages/core/src/infrastructure/services/filesystem/shep-directory.service.ts","../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/dist/esm/build/templates/app-route.js","../../../../../../src/presentation/web/app/api/interactive/chat/%5BfeatureId%5D/messages/route.ts"],"sourcesContent":["/**\n * Server Container Accessor\n *\n * Provides a `resolve()` helper for server components and API routes to\n * obtain DI-managed instances. The tsyringe container is placed on globalThis\n * by the CLI bootstrap (`shep ui`) or the dev-server (`pnpm dev:web`).\n */\n\nimport type { DependencyContainer, InjectionToken } from 'tsyringe';\n\nconst CONTAINER_KEY = '__shepContainer';\n\n/**\n * Resolve a dependency from the DI container.\n *\n * Usage in server components / API routes:\n * ```ts\n * import { resolve } from '@/lib/server-container';\n * import { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\n *\n * const features = await resolve(ListFeaturesUseCase).execute();\n * ```\n */\nexport function resolve<T>(token: InjectionToken<T>): T {\n const container = (globalThis as Record<string, unknown>)[CONTAINER_KEY] as\n | DependencyContainer\n | undefined;\n\n if (!container) {\n throw new Error(\n 'DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.'\n );\n }\n\n return container.resolve(token);\n}\n","/**\n * Shep Directory Service\n *\n * Manages the ~/.shep/ directory for global settings and data storage.\n * Ensures directory exists with correct permissions before database operations.\n *\n * Supports SHEP_HOME env var for test isolation (overrides default ~/.shep/).\n */\n\nimport { mkdir } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\n\n/**\n * Resolves the Shep home directory.\n * Respects SHEP_HOME env var for test isolation, falls back to ~/.shep/\n */\nfunction resolveShepHomeDir(): string {\n return process.env.SHEP_HOME ?? join(homedir(), '.shep');\n}\n\n/**\n * Gets the path to the Shep home directory.\n * Uses SHEP_HOME env var if set, otherwise ~/.shep/\n *\n * @returns Path to shep home directory\n */\nexport function getShepHomeDir(): string {\n return resolveShepHomeDir();\n}\n\n/**\n * Gets the path to the SQLite database file.\n *\n * @returns Path to the database file\n */\nexport function getShepDbPath(): string {\n return join(resolveShepHomeDir(), 'data');\n}\n\n/**\n * Gets the path to the daemon state file.\n * Uses SHEP_HOME env var if set (for test isolation), otherwise ~/.shep/daemon.json\n *\n * @returns Path to daemon.json\n */\nexport function getDaemonStatePath(): string {\n return join(resolveShepHomeDir(), 'daemon.json');\n}\n\n/**\n * Gets the path to the daemon log file.\n * Uses SHEP_HOME env var if set (for test isolation), otherwise ~/.shep/daemon.log\n *\n * @returns Path to daemon.log\n */\nexport function getDaemonLogPath(): string {\n return join(resolveShepHomeDir(), 'daemon.log');\n}\n\n/**\n * Ensures the shep home directory exists with correct permissions.\n * Creates the directory if it doesn't exist.\n * Safe to call multiple times (idempotent).\n *\n * Permissions: 700 (rwx------) - only owner can read/write/execute\n *\n * @throws Error if directory cannot be created (permissions, disk space, etc.)\n */\nexport async function ensureShepDirectory(): Promise<void> {\n const shepDir = resolveShepHomeDir();\n\n if (existsSync(shepDir)) {\n return;\n }\n\n try {\n await mkdir(shepDir, {\n recursive: true,\n mode: 0o700,\n });\n } catch (error) {\n throw new Error(\n `Failed to create Shep directory at ${shepDir}: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/interactive/chat/[featureId]/messages/route\",\n pathname: \"/api/interactive/chat/[featureId]/messages\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/interactive/chat/[featureId]/messages/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","/**\n * Feature-scoped chat messages API.\n *\n * POST - Send a user message. Backend handles session lifecycle.\n * GET - Get chat state: messages + session status + streaming text.\n * DELETE - Clear chat message history for the feature.\n *\n * The frontend never manages sessions — it just sends messages for a feature.\n *\n * `featureId` is a polymorphic scope key: a feature UUID, \"repo-<id>\", or \"global\".\n */\n\nimport type { NextRequest } from 'next/server';\nimport { NextResponse } from 'next/server';\nimport { resolve } from '@/lib/server-container';\nimport type { SendInteractiveMessageUseCase } from '@shepai/core/application/use-cases/interactive/send-interactive-message.use-case';\nimport type { GetInteractiveChatStateUseCase } from '@shepai/core/application/use-cases/interactive/get-interactive-chat-state.use-case';\nimport type { IInteractiveSessionService } from '@shepai/core/application/ports/output/services/interactive-session-service.interface';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\n\nexport const dynamic = 'force-dynamic';\n\nconst MAX_CONTENT_BYTES = 32 * 1024;\n\ninterface RouteParams {\n params: Promise<{ featureId: string }>;\n}\n\nexport async function POST(request: NextRequest, { params }: RouteParams): Promise<NextResponse> {\n try {\n const { featureId } = await params;\n const body = (await request.json()) as {\n content?: string;\n worktreePath?: string;\n model?: string;\n agentType?: string;\n };\n const { content, worktreePath, model, agentType } = body;\n\n if (!content || typeof content !== 'string' || content.trim().length === 0) {\n return NextResponse.json({ error: 'content must be a non-empty string' }, { status: 400 });\n }\n\n if (Buffer.byteLength(content, 'utf8') > MAX_CONTENT_BYTES) {\n return NextResponse.json({ error: 'content exceeds maximum size of 32 KB' }, { status: 400 });\n }\n\n // worktreePath is optional — defaults to SHEP_HOME for global/repo sessions\n let resolvedWorktreePath = worktreePath;\n if (!resolvedWorktreePath || typeof resolvedWorktreePath !== 'string') {\n resolvedWorktreePath = getShepHomeDir();\n }\n\n const useCase = resolve<SendInteractiveMessageUseCase>('SendInteractiveMessageUseCase');\n const message = await useCase.execute({\n featureId,\n content,\n worktreePath: resolvedWorktreePath,\n model: typeof model === 'string' ? model : undefined,\n agentType: typeof agentType === 'string' ? agentType : undefined,\n });\n\n return NextResponse.json({ message }, { status: 201 });\n } catch (error) {\n if (error instanceof Error && error.message.includes('concurrent session limit')) {\n return NextResponse.json({ error: error.message }, { status: 429 });\n }\n // eslint-disable-next-line no-console\n console.error('[POST /api/interactive/chat/:featureId/messages]', error);\n return NextResponse.json(\n { error: error instanceof Error ? error.message : 'Internal server error' },\n { status: 500 }\n );\n }\n}\n\nexport async function DELETE(\n _request: NextRequest,\n { params }: RouteParams\n): Promise<NextResponse> {\n try {\n const { featureId } = await params;\n // clearMessages is not yet exposed as a use case — use service directly\n const service = resolve<IInteractiveSessionService>('IInteractiveSessionService');\n await service.clearMessages(featureId);\n\n return NextResponse.json({ ok: true });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[DELETE /api/interactive/chat/:featureId/messages]', error);\n return NextResponse.json(\n { error: error instanceof Error ? error.message : 'Internal server error' },\n { status: 500 }\n );\n }\n}\n\nexport async function GET(_request: NextRequest, { params }: RouteParams): Promise<NextResponse> {\n try {\n const { featureId } = await params;\n const useCase = resolve<GetInteractiveChatStateUseCase>('GetInteractiveChatStateUseCase');\n const chatState = await useCase.execute({ featureId });\n\n return NextResponse.json(chatState);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[GET /api/interactive/chat/:featureId/messages]', error);\n return NextResponse.json(\n { error: error instanceof Error ? error.message : 'Internal server error' },\n { status: 500 }\n );\n }\n}\n"],"names":[],"mappings":"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","ignoreList":[2]}
1
+ {"version":3,"sources":["../../../../../../src/presentation/web/lib/server-container.ts","../../../../../../packages/core/src/infrastructure/services/filesystem/shep-directory.service.ts","../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/dist/esm/build/templates/app-route.js","../../../../../../src/presentation/web/app/api/interactive/chat/%5BfeatureId%5D/messages/route.ts"],"sourcesContent":["/**\n * Server Container Accessor\n *\n * Provides a `resolve()` helper for server components and API routes to\n * obtain DI-managed instances. The tsyringe container is placed on globalThis\n * by the CLI bootstrap (`shep ui`) or the dev-server (`pnpm dev:web`).\n */\n\nimport type { DependencyContainer, InjectionToken } from 'tsyringe';\n\nconst CONTAINER_KEY = '__shepContainer';\n\n/**\n * Resolve a dependency from the DI container.\n *\n * Usage in server components / API routes:\n * ```ts\n * import { resolve } from '@/lib/server-container';\n * import { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\n *\n * const features = await resolve(ListFeaturesUseCase).execute();\n * ```\n */\nexport function resolve<T>(token: InjectionToken<T>): T {\n const container = (globalThis as Record<string, unknown>)[CONTAINER_KEY] as\n | DependencyContainer\n | undefined;\n\n if (!container) {\n throw new Error(\n 'DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.'\n );\n }\n\n return container.resolve(token);\n}\n","/**\n * Shep Directory Service\n *\n * Manages the ~/.shep/ directory for global settings and data storage.\n * Ensures directory exists with correct permissions before database operations.\n *\n * Supports SHEP_HOME env var for test isolation (overrides default ~/.shep/).\n */\n\nimport { mkdir } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\n\n/**\n * Resolves the Shep home directory.\n * Respects SHEP_HOME env var for test isolation, falls back to ~/.shep/\n */\nfunction resolveShepHomeDir(): string {\n return process.env.SHEP_HOME ?? join(homedir(), '.shep');\n}\n\n/**\n * Gets the path to the Shep home directory.\n * Uses SHEP_HOME env var if set, otherwise ~/.shep/\n *\n * @returns Path to shep home directory\n */\nexport function getShepHomeDir(): string {\n return resolveShepHomeDir();\n}\n\n/**\n * Gets the path to the SQLite database file.\n *\n * @returns Path to the database file\n */\nexport function getShepDbPath(): string {\n return join(resolveShepHomeDir(), 'data');\n}\n\n/**\n * Gets the path to the daemon state file.\n * Uses SHEP_HOME env var if set (for test isolation), otherwise ~/.shep/daemon.json\n *\n * @returns Path to daemon.json\n */\nexport function getDaemonStatePath(): string {\n return join(resolveShepHomeDir(), 'daemon.json');\n}\n\n/**\n * Gets the path to the daemon log file.\n * Uses SHEP_HOME env var if set (for test isolation), otherwise ~/.shep/daemon.log\n *\n * @returns Path to daemon.log\n */\nexport function getDaemonLogPath(): string {\n return join(resolveShepHomeDir(), 'daemon.log');\n}\n\n/**\n * Ensures the shep home directory exists with correct permissions.\n * Creates the directory if it doesn't exist.\n * Safe to call multiple times (idempotent).\n *\n * Permissions: 700 (rwx------) - only owner can read/write/execute\n *\n * @throws Error if directory cannot be created (permissions, disk space, etc.)\n */\nexport async function ensureShepDirectory(): Promise<void> {\n const shepDir = resolveShepHomeDir();\n\n if (existsSync(shepDir)) {\n return;\n }\n\n try {\n await mkdir(shepDir, {\n recursive: true,\n mode: 0o700,\n });\n } catch (error) {\n throw new Error(\n `Failed to create Shep directory at ${shepDir}: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/interactive/chat/[featureId]/messages/route\",\n pathname: \"/api/interactive/chat/[featureId]/messages\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/presentation/web/app/api/interactive/chat/[featureId]/messages/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/interactive/chat/[featureId]/messages/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","/**\n * Feature-scoped chat messages API.\n *\n * POST - Send a user message. Backend handles session lifecycle.\n * GET - Get chat state: messages + session status + streaming text.\n * DELETE - Clear chat message history for the feature.\n *\n * The frontend never manages sessions — it just sends messages for a feature.\n *\n * `featureId` is a polymorphic scope key: a feature UUID, \"repo-<id>\", or \"global\".\n */\n\nimport type { NextRequest } from 'next/server';\nimport { NextResponse } from 'next/server';\nimport { resolve } from '@/lib/server-container';\nimport type { SendInteractiveMessageUseCase } from '@shepai/core/application/use-cases/interactive/send-interactive-message.use-case';\nimport type { GetInteractiveChatStateUseCase } from '@shepai/core/application/use-cases/interactive/get-interactive-chat-state.use-case';\nimport type { IInteractiveSessionService } from '@shepai/core/application/ports/output/services/interactive-session-service.interface';\nimport { getShepHomeDir } from '@shepai/core/infrastructure/services/filesystem/shep-directory.service';\n\nexport const dynamic = 'force-dynamic';\n\nconst MAX_CONTENT_BYTES = 32 * 1024;\n\ninterface RouteParams {\n params: Promise<{ featureId: string }>;\n}\n\nexport async function POST(request: NextRequest, { params }: RouteParams): Promise<NextResponse> {\n try {\n const { featureId } = await params;\n const body = (await request.json()) as {\n content?: string;\n worktreePath?: string;\n model?: string;\n agentType?: string;\n };\n const { content, worktreePath, model, agentType } = body;\n\n if (!content || typeof content !== 'string' || content.trim().length === 0) {\n return NextResponse.json({ error: 'content must be a non-empty string' }, { status: 400 });\n }\n\n if (Buffer.byteLength(content, 'utf8') > MAX_CONTENT_BYTES) {\n return NextResponse.json({ error: 'content exceeds maximum size of 32 KB' }, { status: 400 });\n }\n\n // worktreePath is optional — defaults to SHEP_HOME for global/repo sessions\n let resolvedWorktreePath = worktreePath;\n if (!resolvedWorktreePath || typeof resolvedWorktreePath !== 'string') {\n resolvedWorktreePath = getShepHomeDir();\n }\n\n const useCase = resolve<SendInteractiveMessageUseCase>('SendInteractiveMessageUseCase');\n const message = await useCase.execute({\n featureId,\n content,\n worktreePath: resolvedWorktreePath,\n model: typeof model === 'string' ? model : undefined,\n agentType: typeof agentType === 'string' ? agentType : undefined,\n });\n\n return NextResponse.json({ message }, { status: 201 });\n } catch (error) {\n if (error instanceof Error && error.message.includes('concurrent session limit')) {\n return NextResponse.json({ error: error.message }, { status: 429 });\n }\n // eslint-disable-next-line no-console\n console.error('[POST /api/interactive/chat/:featureId/messages]', error);\n return NextResponse.json(\n { error: error instanceof Error ? error.message : 'Internal server error' },\n { status: 500 }\n );\n }\n}\n\nexport async function DELETE(\n _request: NextRequest,\n { params }: RouteParams\n): Promise<NextResponse> {\n try {\n const { featureId } = await params;\n // clearMessages is not yet exposed as a use case — use service directly\n const service = resolve<IInteractiveSessionService>('IInteractiveSessionService');\n await service.clearMessages(featureId);\n\n return NextResponse.json({ ok: true });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[DELETE /api/interactive/chat/:featureId/messages]', error);\n return NextResponse.json(\n { error: error instanceof Error ? error.message : 'Internal server error' },\n { status: 500 }\n );\n }\n}\n\nexport async function GET(_request: NextRequest, { params }: RouteParams): Promise<NextResponse> {\n try {\n const { featureId } = await params;\n const useCase = resolve<GetInteractiveChatStateUseCase>('GetInteractiveChatStateUseCase');\n const chatState = await useCase.execute({ featureId });\n\n return NextResponse.json(chatState);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[GET /api/interactive/chat/:featureId/messages]', error);\n return NextResponse.json(\n { error: error instanceof Error ? error.message : 'Internal server error' },\n { status: 500 }\n );\n }\n}\n"],"names":[],"mappings":"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","ignoreList":[2]}
@@ -0,0 +1,3 @@
1
+ module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40060,e=>{"use strict";function t(e){let t=globalThis.__shepContainer;if(!t)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return t.resolve(e)}e.s(["resolve",()=>t])},13079,e=>{"use strict";var t=e.i(22925),r=e.i(62995),a=e.i(14112),n=e.i(31716),i=e.i(16340),o=e.i(40522),s=e.i(21994),l=e.i(5802),d=e.i(17171),p=e.i(177),u=e.i(43685),c=e.i(84832),h=e.i(92435),x=e.i(41260),R=e.i(80556),v=e.i(93695);e.i(97230);var f=e.i(35162),g=e.i(40060);async function E(e,{params:t}){try{let{id:e}=await t,r=(0,g.resolve)("ListApplicationFilesUseCase"),a=await r.execute({applicationId:e});return Response.json({tree:a})}catch(r){console.error("[GET /api/applications/:id/files]",r);let e=r instanceof Error?r.message:String(r),t=/not found/i.test(e)?404:500;return Response.json({error:e},{status:t})}}e.s(["GET",()=>E,"dynamic",0,"force-dynamic"],10192);var m=e.i(10192);let w=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/applications/[id]/files/route",pathname:"/api/applications/[id]/files",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/presentation/web/app/api/applications/[id]/files/route.ts",nextConfigOutput:"",userland:m}),{workAsyncStorage:C,workUnitAsyncStorage:y,serverHooks:b}=w;function A(){return(0,a.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:y})}async function T(e,t,a){w.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/applications/[id]/files/route";g=g.replace(/\/index$/,"")||"/";let E=await w.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:m,params:C,nextConfig:y,parsedUrl:b,isDraftMode:A,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:_,resolvedPathname:O,clientReferenceManifest:S,serverActionsManifest:k}=E,q=(0,s.normalizeAppPath)(g),I=!!(T.dynamicRoutes[q]||T.routes[O]),j=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,b,!1):t.end("This page could not be found"),null);if(I&&!A){let e=!!T.routes[O],t=T.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await j();throw new v.NoFallbackError}}let H=null;!I||w.isDev||A||(H="/index"===(H=O)?"/":H);let U=!0===w.isDev||!I,D=I&&!U;k&&S&&(0,o.setManifestsSingleton)({page:g,clientReferenceManifest:S,serverActionsManifest:k});let M=e.method||"GET",F=(0,i.getTracer)(),$=F.getActiveScopeSpan(),K={params:C,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>w.onRequestError(e,t,a,n,N)},sharedContext:{buildId:m}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(L,(0,d.signalFromNodeResponse)(t));try{let o=async e=>w.handle(G,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${g}`)}),s=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var i,l;let d=async({previousCacheEntry:r})=>{try{if(!s&&P&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let d=K.renderOpts.collectedTags;if(!I)return await (0,c.sendResponse)(L,B,i,K.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);d&&(t[R.NEXT_CACHE_TAGS_HEADER]=d),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,N),t}},p=await w.handleResponse({req:e,nextConfig:y,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:_,responseGenerator:d,waitUntil:a.waitUntil,isMinimalMode:s});if(!I)return null;if((null==p||null==(i=p.value)?void 0:i.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});s||t.setHeader("x-nextjs-cache",P?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let v=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return s&&I||v.delete(R.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||v.get("Cache-Control")||v.set("Cache-Control",(0,x.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(L,B,new Response(p.value.body,{headers:v,status:p.value.status||200})),null};$?await l($):await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof v.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,N),I)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>T,"patchFetch",()=>A,"routeModule",()=>w,"serverHooks",()=>b,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>y],13079)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__ccfcaa08._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../src/presentation/web/lib/server-container.ts","../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/dist/esm/build/templates/app-route.js","../../../../../../src/presentation/web/app/api/applications/%5Bid%5D/files/route.ts"],"sourcesContent":["/**\n * Server Container Accessor\n *\n * Provides a `resolve()` helper for server components and API routes to\n * obtain DI-managed instances. The tsyringe container is placed on globalThis\n * by the CLI bootstrap (`shep ui`) or the dev-server (`pnpm dev:web`).\n */\n\nimport type { DependencyContainer, InjectionToken } from 'tsyringe';\n\nconst CONTAINER_KEY = '__shepContainer';\n\n/**\n * Resolve a dependency from the DI container.\n *\n * Usage in server components / API routes:\n * ```ts\n * import { resolve } from '@/lib/server-container';\n * import { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\n *\n * const features = await resolve(ListFeaturesUseCase).execute();\n * ```\n */\nexport function resolve<T>(token: InjectionToken<T>): T {\n const container = (globalThis as Record<string, unknown>)[CONTAINER_KEY] as\n | DependencyContainer\n | undefined;\n\n if (!container) {\n throw new Error(\n 'DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.'\n );\n }\n\n return container.resolve(token);\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { setManifestsSingleton } from \"next/dist/esm/server/app-render/manifests-singleton\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/applications/[id]/files/route\",\n pathname: \"/api/applications/[id]/files\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/src/presentation/web/app/api/applications/[id]/files/route.ts\",\n nextConfigOutput,\n userland\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/api/applications/[id]/files/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, parsedUrl, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname, clientReferenceManifest, serverActionsManifest } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse;\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!isMinimalMode) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false;\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate\n })\n }, silenceLog, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","/**\n * GET /api/applications/[id]/files\n *\n * Returns the full directory tree for an application's repository path.\n * Used by the IDE tab's file explorer.\n */\n\nimport type { NextRequest } from 'next/server';\nimport { resolve } from '@/lib/server-container';\nimport type { ListApplicationFilesUseCase } from '@shepai/core/application/use-cases/applications/list-application-files.use-case';\n\nexport const dynamic = 'force-dynamic';\n\ninterface RouteParams {\n params: Promise<{ id: string }>;\n}\n\nexport async function GET(_request: NextRequest, { params }: RouteParams): Promise<Response> {\n try {\n const { id } = await params;\n const useCase = resolve<ListApplicationFilesUseCase>('ListApplicationFilesUseCase');\n const tree = await useCase.execute({ applicationId: id });\n return Response.json({ tree });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('[GET /api/applications/:id/files]', error);\n const message = error instanceof Error ? error.message : String(error);\n const status = /not found/i.test(message) ? 404 : 500;\n return Response.json({ error: message }, { status });\n }\n}\n"],"names":[],"mappings":"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","ignoreList":[1]}
@@ -1,3 +1,3 @@
1
- module.exports=[18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40060,e=>{"use strict";function r(e){let r=globalThis.__shepContainer;if(!r)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return r.resolve(e)}e.s(["resolve",()=>r])},96907,45316,e=>{"use strict";(r={}).PRD="PRD",r.API="API",r.Design="Design",r.Other="Other",(t={}).Markdown="md",t.Text="txt",t.Yaml="yaml",t.Other="Other",(i={}).Todo="Todo",i.Elaborating="Elaborating",i.Done="Done",(n={}).Assistant="assistant",n.User="user",(s={}).Functional="Functional",s.NonFunctional="NonFunctional",(a={}).NotStarted="NotStarted",a.Running="Running",a.Finished="Finished";var r,t,i,n,s,a,o,d,l,c,u,p,g,m,v,R,x,y,h,C,P,k,w,S,f,A,D,b,_,T,q=((o={}).English="en",o.Ukrainian="uk",o.Russian="ru",o.Portuguese="pt",o.Spanish="es",o.Arabic="ar",o.Hebrew="he",o.French="fr",o.German="de",o);(d={}).VsCode="vscode",d.Cursor="cursor",d.Windsurf="windsurf",d.Zed="zed",d.Antigravity="antigravity",(l={}).System="system",l.Warp="warp",l.ITerm2="iterm2",l.Alacritty="alacritty",l.Kitty="kitty",(c={}).Local="local",c.Remote="remote",(u={}).ClaudeCode="claude-code",u.CodexCli="codex-cli",u.CopilotCli="copilot-cli",u.GeminiCli="gemini-cli",u.Aider="aider",u.Continue="continue",u.Cursor="cursor",u.Dev="dev",(p={}).Session="session",p.Token="token";var I=((g={}).Todo="Todo",g.WIP="Work in Progress",g.Done="Done",g.Review="Review",g);(m={}).Requirements="Requirements",m.ClarificationRequired="ClarificationRequired",m.Ready="Ready";var F=((v={}).Started="Started",v.Analyze="Analyze",v.Requirements="Requirements",v.Research="Research",v.Planning="Planning",v.Implementation="Implementation",v.Review="Review",v.Maintain="Maintain",v.Blocked="Blocked",v.Pending="Pending",v.Deleting="Deleting",v.AwaitingUpstream="AwaitingUpstream",v.Archived="Archived",v);(R={}).Open="Open",R.Merged="Merged",R.Closed="Closed",(x={}).Pending="Pending",x.Success="Success",x.Failure="Failure",(y={}).VsCode="vscode",y.Cursor="cursor",y.Windsurf="windsurf",y.Zed="zed",y.Antigravity="antigravity",y.CursorCli="cursor-cli",y.ClaudeCode="claude-code";var E=((h={}).AgentStarted="agent_started",h.PhaseCompleted="phase_completed",h.WaitingApproval="waiting_approval",h.AgentCompleted="agent_completed",h.AgentFailed="agent_failed",h.PrMerged="pr_merged",h.PrClosed="pr_closed",h.PrChecksPassed="pr_checks_passed",h.PrChecksFailed="pr_checks_failed",h.PrBlocked="pr_blocked",h.MergeReviewReady="merge_review_ready",h),M=((C={}).Info="info",C.Warning="warning",C.Success="success",C.Error="error",C);(P={}).Screenshot="Screenshot",P.Video="Video",P.TestOutput="TestOutput",P.TerminalRecording="TerminalRecording",(k={}).Idle="Idle",k.Running="Running",k.Paused="Paused",k.Stopped="Stopped",(w={}).GatheringRequirements="GatheringRequirements",w.ClarificationsRequired="ClarificationsRequired",w.DoingResearch="DoingResearch",w.AwaitingReview="AwaitingReview",w.ExecutingWorkPlan="ExecutingWorkPlan",w.Ready="Ready",(S={}).TCP="TCP",S.UDP="UDP",(f={}).DockerCompose="DockerCompose",f.Docker="Docker",f.Kubernetes="Kubernetes",f.Script="Script",f.Manual="Manual",(A={}).Booting="Booting",A.Ready="Ready",A.Stopped="Stopped";var O=((D={}).pending="pending",D.running="running",D.completed="completed",D.failed="failed",D.interrupted="interrupted",D.cancelled="cancelled",D.waitingApproval="waiting_approval",D),W=((b={}).booting="booting",b.ready="ready",b.stopped="stopped",b.error="error",b);function j(e){try{return process.kill(e,0),!0}catch{return!1}}(_={}).user="user",_.assistant="assistant",(T={}).sessionResume="session-resume",T.streaming="streaming",T.toolScoping="tool-scoping",T.structuredOutput="structured-output",T.systemPrompt="system-prompt",T.sessionListing="session-listing",e.s(["AgentRunStatus",()=>O,"InteractiveSessionStatus",()=>W,"Language",()=>q,"NotificationEventType",()=>E,"NotificationSeverity",()=>M,"SdlcLifecycle",()=>F,"TaskState",()=>I],96907),e.s(["isProcessAlive",()=>j],45316)}];
1
+ module.exports=[18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},40060,e=>{"use strict";function r(e){let r=globalThis.__shepContainer;if(!r)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return r.resolve(e)}e.s(["resolve",()=>r])},96907,45316,e=>{"use strict";(r={}).PRD="PRD",r.API="API",r.Design="Design",r.Other="Other",(t={}).Markdown="md",t.Text="txt",t.Yaml="yaml",t.Other="Other",(n={}).Todo="Todo",n.Elaborating="Elaborating",n.Done="Done",(i={}).Assistant="assistant",i.User="user",(s={}).Functional="Functional",s.NonFunctional="NonFunctional",(a={}).NotStarted="NotStarted",a.Running="Running",a.Finished="Finished";var r,t,n,i,s,a,o,d,l,c,u,p,g,m,v,R,x,y,h,C,P,k,w,S,f,A,D,b,_,T,q,I,E=((o={}).English="en",o.Ukrainian="uk",o.Russian="ru",o.Portuguese="pt",o.Spanish="es",o.Arabic="ar",o.Hebrew="he",o.French="fr",o.German="de",o);(d={}).VsCode="vscode",d.Cursor="cursor",d.Windsurf="windsurf",d.Zed="zed",d.Antigravity="antigravity",(l={}).System="system",l.Warp="warp",l.ITerm2="iterm2",l.Alacritty="alacritty",l.Kitty="kitty",(c={}).Local="local",c.Remote="remote",(u={}).ClaudeCode="claude-code",u.CodexCli="codex-cli",u.CopilotCli="copilot-cli",u.GeminiCli="gemini-cli",u.Aider="aider",u.Continue="continue",u.Cursor="cursor",u.Dev="dev",(p={}).Session="session",p.Token="token";var F=((g={}).Todo="Todo",g.WIP="Work in Progress",g.Done="Done",g.Review="Review",g);(m={}).Requirements="Requirements",m.ClarificationRequired="ClarificationRequired",m.Ready="Ready";var M=((v={}).Started="Started",v.Analyze="Analyze",v.Requirements="Requirements",v.Research="Research",v.Planning="Planning",v.Implementation="Implementation",v.Review="Review",v.Maintain="Maintain",v.Blocked="Blocked",v.Pending="Pending",v.Deleting="Deleting",v.AwaitingUpstream="AwaitingUpstream",v.Archived="Archived",v);(R={}).Open="Open",R.Merged="Merged",R.Closed="Closed",(x={}).Pending="Pending",x.Success="Success",x.Failure="Failure",(y={}).VsCode="vscode",y.Cursor="cursor",y.Windsurf="windsurf",y.Zed="zed",y.Antigravity="antigravity",y.CursorCli="cursor-cli",y.ClaudeCode="claude-code";var O=((h={}).AgentStarted="agent_started",h.PhaseCompleted="phase_completed",h.WaitingApproval="waiting_approval",h.AgentCompleted="agent_completed",h.AgentFailed="agent_failed",h.PrMerged="pr_merged",h.PrClosed="pr_closed",h.PrChecksPassed="pr_checks_passed",h.PrChecksFailed="pr_checks_failed",h.PrBlocked="pr_blocked",h.MergeReviewReady="merge_review_ready",h),W=((C={}).Info="info",C.Warning="warning",C.Success="success",C.Error="error",C);(P={}).Idle="Idle",P.Active="Active",P.Error="Error",(k={}).Screenshot="Screenshot",k.Video="Video",k.TestOutput="TestOutput",k.TerminalRecording="TerminalRecording",(w={}).Idle="Idle",w.Running="Running",w.Paused="Paused",w.Stopped="Stopped",(S={}).GatheringRequirements="GatheringRequirements",S.ClarificationsRequired="ClarificationsRequired",S.DoingResearch="DoingResearch",S.AwaitingReview="AwaitingReview",S.ExecutingWorkPlan="ExecutingWorkPlan",S.Ready="Ready",(f={}).TCP="TCP",f.UDP="UDP",(A={}).DockerCompose="DockerCompose",A.Docker="Docker",A.Kubernetes="Kubernetes",A.Script="Script",A.Manual="Manual",(D={}).Booting="Booting",D.Ready="Ready",D.Stopped="Stopped";var j=((b={}).pending="pending",b.running="running",b.completed="completed",b.failed="failed",b.interrupted="interrupted",b.cancelled="cancelled",b.waitingApproval="waiting_approval",b),N=((_={}).booting="booting",_.ready="ready",_.stopped="stopped",_.error="error",_);function U(e){try{return process.kill(e,0),!0}catch{return!1}}(T={}).user="user",T.assistant="assistant",(q={}).pending="pending",q.running="running",q.done="done",q.failed="failed",q.interrupted="interrupted",(I={}).sessionResume="session-resume",I.streaming="streaming",I.toolScoping="tool-scoping",I.structuredOutput="structured-output",I.systemPrompt="system-prompt",I.sessionListing="session-listing",e.s(["AgentRunStatus",()=>j,"InteractiveSessionStatus",()=>N,"Language",()=>E,"NotificationEventType",()=>O,"NotificationSeverity",()=>W,"SdlcLifecycle",()=>M,"TaskState",()=>F],96907),e.s(["isProcessAlive",()=>U],45316)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__cd67a84c._.js.map