@shepai/cli 1.179.1 → 1.180.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (912) hide show
  1. package/apis/json-schema/Application.yaml +40 -0
  2. package/apis/json-schema/ApplicationStatus.yaml +8 -0
  3. package/apis/json-schema/InteractiveMessage.yaml +3 -0
  4. package/apis/json-schema/WorkflowStep.yaml +53 -0
  5. package/apis/json-schema/WorkflowStepStatus.yaml +10 -0
  6. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +17 -0
  7. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -0
  8. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.js +6 -0
  9. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +1 -0
  10. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  11. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts +13 -0
  12. package/dist/packages/core/src/application/ports/output/repositories/interactive-session-repository.interface.d.ts.map +1 -1
  13. package/dist/packages/core/src/application/ports/output/repositories/workflow-step-repository.interface.d.ts +52 -0
  14. package/dist/packages/core/src/application/ports/output/repositories/workflow-step-repository.interface.d.ts.map +1 -0
  15. package/dist/packages/core/src/application/ports/output/repositories/workflow-step-repository.interface.js +11 -0
  16. package/dist/packages/core/src/application/ports/output/services/application-brief-store.interface.d.ts +36 -0
  17. package/dist/packages/core/src/application/ports/output/services/application-brief-store.interface.d.ts.map +1 -0
  18. package/dist/packages/core/src/application/ports/output/services/application-brief-store.interface.js +22 -0
  19. package/dist/packages/core/src/application/ports/output/services/application-creation-prompt-builder.interface.d.ts +116 -0
  20. package/dist/packages/core/src/application/ports/output/services/application-creation-prompt-builder.interface.d.ts.map +1 -0
  21. package/dist/packages/core/src/application/ports/output/services/application-creation-prompt-builder.interface.js +27 -0
  22. package/dist/packages/core/src/application/ports/output/services/application-file-system-service.interface.d.ts +100 -0
  23. package/dist/packages/core/src/application/ports/output/services/application-file-system-service.interface.d.ts.map +1 -0
  24. package/dist/packages/core/src/application/ports/output/services/application-file-system-service.interface.js +20 -0
  25. package/dist/packages/core/src/application/ports/output/services/index.d.ts +4 -0
  26. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  27. package/dist/packages/core/src/application/ports/output/services/index.js +1 -0
  28. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts +111 -5
  29. package/dist/packages/core/src/application/ports/output/services/interactive-session-service.interface.d.ts.map +1 -1
  30. package/dist/packages/core/src/application/ports/output/services/terminal-session-service.interface.d.ts +46 -0
  31. package/dist/packages/core/src/application/ports/output/services/terminal-session-service.interface.d.ts.map +1 -0
  32. package/dist/packages/core/src/application/ports/output/services/terminal-session-service.interface.js +9 -0
  33. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +92 -0
  34. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -0
  35. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +305 -0
  36. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts +15 -0
  37. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts.map +1 -0
  38. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.js +45 -0
  39. package/dist/packages/core/src/application/use-cases/applications/get-application.use-case.d.ts +13 -0
  40. package/dist/packages/core/src/application/use-cases/applications/get-application.use-case.d.ts.map +1 -0
  41. package/dist/packages/core/src/application/use-cases/applications/get-application.use-case.js +33 -0
  42. package/dist/packages/core/src/application/use-cases/applications/index.d.ts +13 -0
  43. package/dist/packages/core/src/application/use-cases/applications/index.d.ts.map +1 -0
  44. package/dist/packages/core/src/application/use-cases/applications/index.js +10 -0
  45. package/dist/packages/core/src/application/use-cases/applications/list-application-files.use-case.d.ts +18 -0
  46. package/dist/packages/core/src/application/use-cases/applications/list-application-files.use-case.d.ts.map +1 -0
  47. package/dist/packages/core/src/application/use-cases/applications/list-application-files.use-case.js +41 -0
  48. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts +13 -0
  49. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -0
  50. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +33 -0
  51. package/dist/packages/core/src/application/use-cases/applications/read-application-file-raw.use-case.d.ts +22 -0
  52. package/dist/packages/core/src/application/use-cases/applications/read-application-file-raw.use-case.d.ts.map +1 -0
  53. package/dist/packages/core/src/application/use-cases/applications/read-application-file-raw.use-case.js +46 -0
  54. package/dist/packages/core/src/application/use-cases/applications/read-application-file.use-case.d.ts +19 -0
  55. package/dist/packages/core/src/application/use-cases/applications/read-application-file.use-case.d.ts.map +1 -0
  56. package/dist/packages/core/src/application/use-cases/applications/read-application-file.use-case.js +43 -0
  57. package/dist/packages/core/src/application/use-cases/applications/update-application.use-case.d.ts +14 -0
  58. package/dist/packages/core/src/application/use-cases/applications/update-application.use-case.d.ts.map +1 -0
  59. package/dist/packages/core/src/application/use-cases/applications/update-application.use-case.js +33 -0
  60. package/dist/packages/core/src/application/use-cases/applications/watch-application-files.use-case.d.ts +21 -0
  61. package/dist/packages/core/src/application/use-cases/applications/watch-application-files.use-case.d.ts.map +1 -0
  62. package/dist/packages/core/src/application/use-cases/applications/watch-application-files.use-case.js +43 -0
  63. package/dist/packages/core/src/application/use-cases/applications/write-application-file.use-case.d.ts +22 -0
  64. package/dist/packages/core/src/application/use-cases/applications/write-application-file.use-case.d.ts.map +1 -0
  65. package/dist/packages/core/src/application/use-cases/applications/write-application-file.use-case.js +44 -0
  66. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts +18 -0
  67. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.d.ts.map +1 -1
  68. package/dist/packages/core/src/application/use-cases/interactive/send-interactive-message.use-case.js +1 -1
  69. package/dist/packages/core/src/application/use-cases/terminal/create-terminal-session.use-case.d.ts +19 -0
  70. package/dist/packages/core/src/application/use-cases/terminal/create-terminal-session.use-case.d.ts.map +1 -0
  71. package/dist/packages/core/src/application/use-cases/terminal/create-terminal-session.use-case.js +42 -0
  72. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +77 -0
  73. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -0
  74. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +191 -0
  75. package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts +50 -0
  76. package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts.map +1 -0
  77. package/dist/packages/core/src/application/workflows/application-creation.workflow.js +138 -0
  78. package/dist/packages/core/src/domain/generated/output.d.ts +102 -0
  79. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  80. package/dist/packages/core/src/domain/generated/output.js +14 -0
  81. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  82. package/dist/packages/core/src/infrastructure/di/container.js +93 -1
  83. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +37 -0
  84. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -0
  85. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +52 -0
  86. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts +1 -0
  87. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.d.ts.map +1 -1
  88. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/interactive-message.mapper.js +2 -0
  89. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-step.mapper.d.ts +25 -0
  90. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-step.mapper.d.ts.map +1 -0
  91. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/workflow-step.mapper.js +50 -0
  92. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-create-applications-table.d.ts +5 -0
  93. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-create-applications-table.d.ts.map +1 -0
  94. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/056-create-applications-table.js +34 -0
  95. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-workflow-steps.d.ts +31 -0
  96. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-workflow-steps.d.ts.map +1 -0
  97. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/057-workflow-steps.js +72 -0
  98. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +21 -0
  99. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -0
  100. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +98 -0
  101. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-message.repository.js +2 -2
  102. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts +1 -0
  103. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.d.ts.map +1 -1
  104. package/dist/packages/core/src/infrastructure/repositories/sqlite-interactive-session.repository.js +16 -0
  105. package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-step.repository.d.ts +29 -0
  106. package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-step.repository.d.ts.map +1 -0
  107. package/dist/packages/core/src/infrastructure/repositories/sqlite-workflow-step.repository.js +157 -0
  108. package/dist/packages/core/src/infrastructure/services/agents/application-creation/application-creation-prompt.builder.d.ts +25 -0
  109. package/dist/packages/core/src/infrastructure/services/agents/application-creation/application-creation-prompt.builder.d.ts.map +1 -0
  110. package/dist/packages/core/src/infrastructure/services/agents/application-creation/application-creation-prompt.builder.js +95 -0
  111. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/brand.d.ts +2 -0
  112. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/brand.d.ts.map +1 -0
  113. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/brand.js +11 -0
  114. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/dynamic.d.ts +14 -0
  115. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/dynamic.d.ts.map +1 -0
  116. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/dynamic.js +50 -0
  117. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/mission.d.ts +2 -0
  118. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/mission.d.ts.map +1 -0
  119. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/mission.js +10 -0
  120. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/output-contract.d.ts +2 -0
  121. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/output-contract.d.ts.map +1 -0
  122. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/output-contract.js +20 -0
  123. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/quality.d.ts +2 -0
  124. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/quality.d.ts.map +1 -0
  125. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/quality.js +12 -0
  126. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/role.d.ts +2 -0
  127. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/role.d.ts.map +1 -0
  128. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/role.js +9 -0
  129. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/tech-stack.d.ts +2 -0
  130. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/tech-stack.d.ts.map +1 -0
  131. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/tech-stack.js +23 -0
  132. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/user-interaction.d.ts +2 -0
  133. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/user-interaction.d.ts.map +1 -0
  134. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/user-interaction.js +29 -0
  135. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/workflow.d.ts +15 -0
  136. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/workflow.d.ts.map +1 -0
  137. package/dist/packages/core/src/infrastructure/services/agents/application-creation/prompts/workflow.js +40 -0
  138. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.d.ts.map +1 -1
  139. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-interactive-executor.service.js +14 -8
  140. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.d.ts +20 -0
  141. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.d.ts.map +1 -0
  142. package/dist/packages/core/src/infrastructure/services/filesystem/application-brief.store.js +40 -0
  143. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts +18 -0
  144. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts.map +1 -0
  145. package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.js +292 -0
  146. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts +49 -10
  147. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.d.ts.map +1 -1
  148. package/dist/packages/core/src/infrastructure/services/interactive/interactive-session.service.js +323 -149
  149. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.d.ts +22 -0
  150. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.d.ts.map +1 -0
  151. package/dist/packages/core/src/infrastructure/services/terminal/pty-terminal-session.service.js +182 -0
  152. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.d.ts.map +1 -1
  153. package/dist/src/presentation/web/app/(dashboard)/get-graph-data.js +11 -1
  154. package/dist/src/presentation/web/app/actions/check-all-agents-status.d.ts +7 -0
  155. package/dist/src/presentation/web/app/actions/check-all-agents-status.d.ts.map +1 -0
  156. package/dist/src/presentation/web/app/actions/check-all-agents-status.js +30 -0
  157. package/dist/src/presentation/web/app/actions/create-application.d.ts +33 -0
  158. package/dist/src/presentation/web/app/actions/create-application.d.ts.map +1 -0
  159. package/dist/src/presentation/web/app/actions/create-application.js +29 -0
  160. package/dist/src/presentation/web/app/actions/create-project-and-feature.d.ts +20 -0
  161. package/dist/src/presentation/web/app/actions/create-project-and-feature.d.ts.map +1 -0
  162. package/dist/src/presentation/web/app/actions/create-project-and-feature.js +84 -0
  163. package/dist/src/presentation/web/app/actions/delete-application.d.ts +4 -0
  164. package/dist/src/presentation/web/app/actions/delete-application.d.ts.map +1 -0
  165. package/dist/src/presentation/web/app/actions/delete-application.js +16 -0
  166. package/dist/src/presentation/web/app/actions/deploy-application.d.ts +20 -0
  167. package/dist/src/presentation/web/app/actions/deploy-application.d.ts.map +1 -0
  168. package/dist/src/presentation/web/app/actions/deploy-application.js +62 -0
  169. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.d.ts +25 -0
  170. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.d.ts.map +1 -0
  171. package/dist/src/presentation/web/app/actions/get-application-debug-prompt.js +37 -0
  172. package/dist/src/presentation/web/app/actions/get-git-log.js +2 -2
  173. package/dist/src/presentation/web/app/actions/update-application.d.ts +5 -0
  174. package/dist/src/presentation/web/app/actions/update-application.d.ts.map +1 -0
  175. package/dist/src/presentation/web/app/actions/update-application.js +21 -0
  176. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.d.ts +17 -0
  177. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.d.ts.map +1 -0
  178. package/dist/src/presentation/web/app/api/applications/[id]/files/content/route.js +63 -0
  179. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.d.ts +17 -0
  180. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.d.ts.map +1 -0
  181. package/dist/src/presentation/web/app/api/applications/[id]/files/raw/route.js +55 -0
  182. package/dist/src/presentation/web/app/api/applications/[id]/files/route.d.ts +16 -0
  183. package/dist/src/presentation/web/app/api/applications/[id]/files/route.d.ts.map +1 -0
  184. package/dist/src/presentation/web/app/api/applications/[id]/files/route.js +23 -0
  185. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.d.ts +21 -0
  186. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.d.ts.map +1 -0
  187. package/dist/src/presentation/web/app/api/applications/[id]/files/watch/route.js +86 -0
  188. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts +15 -6
  189. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.d.ts.map +1 -1
  190. package/dist/src/presentation/web/app/api/interactive/chat/[featureId]/stream/route.js +36 -20
  191. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.d.ts +21 -0
  192. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.d.ts.map +1 -0
  193. package/dist/src/presentation/web/app/api/interactive/chat/turn-statuses/stream/route.js +82 -0
  194. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.d.ts +15 -0
  195. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.d.ts.map +1 -0
  196. package/dist/src/presentation/web/app/api/terminal/[sessionId]/input/route.js +27 -0
  197. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.d.ts +15 -0
  198. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.d.ts.map +1 -0
  199. package/dist/src/presentation/web/app/api/terminal/[sessionId]/resize/route.js +27 -0
  200. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.d.ts +15 -0
  201. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.d.ts.map +1 -0
  202. package/dist/src/presentation/web/app/api/terminal/[sessionId]/route.js +20 -0
  203. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.d.ts +17 -0
  204. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.d.ts.map +1 -0
  205. package/dist/src/presentation/web/app/api/terminal/[sessionId]/stream/route.js +76 -0
  206. package/dist/src/presentation/web/app/api/terminal/route.d.ts +12 -0
  207. package/dist/src/presentation/web/app/api/terminal/route.d.ts.map +1 -0
  208. package/dist/src/presentation/web/app/api/terminal/route.js +34 -0
  209. package/dist/src/presentation/web/app/application/[id]/page.d.ts +8 -0
  210. package/dist/src/presentation/web/app/application/[id]/page.d.ts.map +1 -0
  211. package/dist/src/presentation/web/app/application/[id]/page.js +65 -0
  212. package/dist/src/presentation/web/app/build-graph-nodes.d.ts +3 -1
  213. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  214. package/dist/src/presentation/web/app/build-graph-nodes.js +19 -0
  215. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts +5 -1
  216. package/dist/src/presentation/web/components/assistant-ui/thread.d.ts.map +1 -1
  217. package/dist/src/presentation/web/components/assistant-ui/thread.js +19 -5
  218. package/dist/src/presentation/web/components/common/application-node/application-node-config.d.ts +24 -0
  219. package/dist/src/presentation/web/components/common/application-node/application-node-config.d.ts.map +1 -0
  220. package/dist/src/presentation/web/components/common/application-node/application-node-config.js +1 -0
  221. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts +7 -0
  222. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -0
  223. package/dist/src/presentation/web/components/common/application-node/application-node.js +156 -0
  224. package/dist/src/presentation/web/components/common/application-node/application-node.stories.d.ts +12 -0
  225. package/dist/src/presentation/web/components/common/application-node/application-node.stories.d.ts.map +1 -0
  226. package/dist/src/presentation/web/components/common/application-node/application-node.stories.js +100 -0
  227. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.d.ts.map +1 -1
  228. package/dist/src/presentation/web/components/common/attachment-chip/attachment-chip.js +1 -1
  229. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts +31 -0
  230. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -0
  231. package/dist/src/presentation/web/components/features/application-page/application-page.js +330 -0
  232. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts +9 -0
  233. package/dist/src/presentation/web/components/features/application-page/application-page.stories.d.ts.map +1 -0
  234. package/dist/src/presentation/web/components/features/application-page/application-page.stories.js +51 -0
  235. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.d.ts +11 -0
  236. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.d.ts.map +1 -0
  237. package/dist/src/presentation/web/components/features/application-page/ide-tab/api.js +35 -0
  238. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.d.ts +27 -0
  239. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.d.ts.map +1 -0
  240. package/dist/src/presentation/web/components/features/application-page/ide-tab/editor-pane.js +147 -0
  241. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.d.ts +19 -0
  242. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.d.ts.map +1 -0
  243. package/dist/src/presentation/web/components/features/application-page/ide-tab/file-tree-panel.js +85 -0
  244. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.d.ts +16 -0
  245. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.d.ts.map +1 -0
  246. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.js +53 -0
  247. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.d.ts +9 -0
  248. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.d.ts.map +1 -0
  249. package/dist/src/presentation/web/components/features/application-page/ide-tab/ide-tab.stories.js +111 -0
  250. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.d.ts +27 -0
  251. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.d.ts.map +1 -0
  252. package/dist/src/presentation/web/components/features/application-page/ide-tab/image-viewer.js +162 -0
  253. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.d.ts +3 -0
  254. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.d.ts.map +1 -0
  255. package/dist/src/presentation/web/components/features/application-page/ide-tab/index.js +1 -0
  256. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.d.ts +56 -0
  257. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.d.ts.map +1 -0
  258. package/dist/src/presentation/web/components/features/application-page/ide-tab/types.js +35 -0
  259. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.d.ts +39 -0
  260. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.d.ts.map +1 -0
  261. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-ide-state.js +238 -0
  262. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.d.ts +14 -0
  263. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.d.ts.map +1 -0
  264. package/dist/src/presentation/web/components/features/application-page/ide-tab/use-resolved-theme.js +37 -0
  265. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts +19 -0
  266. package/dist/src/presentation/web/components/features/application-page/run-dev-button.d.ts.map +1 -0
  267. package/dist/src/presentation/web/components/features/application-page/run-dev-button.js +80 -0
  268. package/dist/src/presentation/web/components/features/application-page/terminal-tab.d.ts +9 -0
  269. package/dist/src/presentation/web/components/features/application-page/terminal-tab.d.ts.map +1 -0
  270. package/dist/src/presentation/web/components/features/application-page/terminal-tab.js +224 -0
  271. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.d.ts +6 -0
  272. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.d.ts.map +1 -0
  273. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.js +57 -0
  274. package/dist/src/presentation/web/components/features/chat/ChatSheet.d.ts.map +1 -1
  275. package/dist/src/presentation/web/components/features/chat/ChatSheet.js +4 -2
  276. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts +38 -1
  277. package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
  278. package/dist/src/presentation/web/components/features/chat/ChatTab.js +53 -8
  279. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts +36 -0
  280. package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts.map +1 -0
  281. package/dist/src/presentation/web/components/features/chat/StepTracker.js +133 -0
  282. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.d.ts +11 -0
  283. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.d.ts.map +1 -0
  284. package/dist/src/presentation/web/components/features/chat/StepTracker.stories.js +121 -0
  285. package/dist/src/presentation/web/components/features/chat/chat-state-query.d.ts +12 -0
  286. package/dist/src/presentation/web/components/features/chat/chat-state-query.d.ts.map +1 -0
  287. package/dist/src/presentation/web/components/features/chat/chat-state-query.js +20 -0
  288. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.d.ts +38 -0
  289. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.d.ts.map +1 -0
  290. package/dist/src/presentation/web/components/features/chat/tool-bubble/detect.js +91 -0
  291. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.d.ts +17 -0
  292. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.d.ts.map +1 -0
  293. package/dist/src/presentation/web/components/features/chat/tool-bubble/file-card.js +25 -0
  294. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.d.ts +11 -0
  295. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.d.ts.map +1 -0
  296. package/dist/src/presentation/web/components/features/chat/tool-bubble/generic-bubble.js +15 -0
  297. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.d.ts +21 -0
  298. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.d.ts.map +1 -0
  299. package/dist/src/presentation/web/components/features/chat/tool-bubble/index.js +37 -0
  300. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.d.ts +14 -0
  301. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.d.ts.map +1 -0
  302. package/dist/src/presentation/web/components/features/chat/tool-bubble/tool-chip.js +13 -0
  303. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +52 -1
  304. package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
  305. package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +360 -28
  306. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +21 -0
  307. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts.map +1 -0
  308. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +40 -0
  309. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts +3 -1
  310. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.d.ts.map +1 -1
  311. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.js +183 -120
  312. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts +4 -16
  313. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.d.ts.map +1 -1
  314. package/dist/src/presentation/web/components/features/control-center/control-center-empty-state.stories.js +16 -109
  315. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  316. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +40 -17
  317. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +4 -0
  318. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  319. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +25 -1
  320. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.d.ts +2 -1
  321. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.d.ts.map +1 -1
  322. package/dist/src/presentation/web/components/features/control-center/use-fab-actions.js +9 -2
  323. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.d.ts.map +1 -1
  324. package/dist/src/presentation/web/components/features/control-center/welcome-agent-setup.js +2 -9
  325. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +2 -1
  326. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  327. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +2 -0
  328. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts +3 -1
  329. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.d.ts.map +1 -1
  330. package/dist/src/presentation/web/components/features/settings/AgentModelPicker/index.js +9 -4
  331. package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts +1 -1
  332. package/dist/src/presentation/web/hooks/deployment-status-provider.d.ts.map +1 -1
  333. package/dist/src/presentation/web/hooks/deployment-status-provider.js +4 -1
  334. package/dist/src/presentation/web/hooks/use-graph-state.d.ts +5 -0
  335. package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
  336. package/dist/src/presentation/web/hooks/use-graph-state.js +37 -2
  337. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts +13 -3
  338. package/dist/src/presentation/web/hooks/use-turn-statuses.d.ts.map +1 -1
  339. package/dist/src/presentation/web/hooks/use-turn-statuses.js +73 -13
  340. package/dist/src/presentation/web/lib/derive-graph.d.ts +11 -1
  341. package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
  342. package/dist/src/presentation/web/lib/derive-graph.js +35 -1
  343. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts +8 -1
  344. package/dist/src/presentation/web/lib/layout-with-dagre.d.ts.map +1 -1
  345. package/dist/src/presentation/web/lib/layout-with-dagre.js +27 -3
  346. package/dist/src/presentation/web/next.config.d.ts.map +1 -1
  347. package/dist/src/presentation/web/next.config.js +1 -0
  348. package/dist/translations/ar/web.json +2 -1
  349. package/dist/translations/de/web.json +2 -1
  350. package/dist/translations/en/web.json +2 -1
  351. package/dist/translations/es/web.json +2 -1
  352. package/dist/translations/fr/web.json +2 -1
  353. package/dist/translations/he/web.json +2 -1
  354. package/dist/translations/pt/web.json +2 -1
  355. package/dist/translations/ru/web.json +2 -1
  356. package/dist/translations/uk/web.json +2 -1
  357. package/dist/tsconfig.build.tsbuildinfo +1 -1
  358. package/package.json +5 -3
  359. package/web/.next/BUILD_ID +1 -1
  360. package/web/.next/app-path-routes-manifest.json +11 -0
  361. package/web/.next/build-manifest.json +5 -5
  362. package/web/.next/fallback-build-manifest.json +2 -2
  363. package/web/.next/prerender-manifest.json +3 -3
  364. package/web/.next/required-server-files.js +3 -2
  365. package/web/.next/required-server-files.json +3 -2
  366. package/web/.next/routes-manifest.json +84 -0
  367. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/build-manifest.json +3 -3
  368. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +111 -81
  369. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +6 -5
  370. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  371. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  372. package/web/.next/server/app/(dashboard)/@drawer/chat/page/build-manifest.json +3 -3
  373. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +107 -77
  374. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +6 -5
  375. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  376. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  377. package/web/.next/server/app/(dashboard)/@drawer/create/page/build-manifest.json +3 -3
  378. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +113 -83
  379. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +6 -5
  380. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  381. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  382. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  383. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +129 -99
  384. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +6 -5
  385. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  386. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  387. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/build-manifest.json +3 -3
  388. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +129 -99
  389. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +6 -5
  390. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  391. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  392. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  393. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +109 -79
  394. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +6 -5
  395. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  396. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  397. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/build-manifest.json +3 -3
  398. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +109 -79
  399. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +6 -5
  400. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  401. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  402. package/web/.next/server/app/(dashboard)/chat/page/build-manifest.json +3 -3
  403. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +107 -77
  404. package/web/.next/server/app/(dashboard)/chat/page.js +6 -5
  405. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  406. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  407. package/web/.next/server/app/(dashboard)/create/page/build-manifest.json +3 -3
  408. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +113 -83
  409. package/web/.next/server/app/(dashboard)/create/page.js +6 -5
  410. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  411. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  412. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/build-manifest.json +3 -3
  413. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +129 -99
  414. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +6 -5
  415. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  416. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  417. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/build-manifest.json +3 -3
  418. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +129 -99
  419. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +6 -5
  420. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  421. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  422. package/web/.next/server/app/(dashboard)/page/build-manifest.json +3 -3
  423. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +107 -77
  424. package/web/.next/server/app/(dashboard)/page.js +6 -5
  425. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  426. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  427. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/build-manifest.json +3 -3
  428. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +109 -79
  429. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +6 -5
  430. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  431. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  432. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/build-manifest.json +3 -3
  433. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +109 -79
  434. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +6 -5
  435. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  436. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  437. package/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  438. package/web/.next/server/app/_global-error/page.js +1 -1
  439. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  440. package/web/.next/server/app/_global-error.html +2 -2
  441. package/web/.next/server/app/_global-error.rsc +1 -1
  442. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  443. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  444. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  445. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  446. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  447. package/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  448. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +27 -12
  449. package/web/.next/server/app/_not-found/page.js +2 -2
  450. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  451. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  452. package/web/.next/server/app/api/applications/[id]/files/content/route/app-paths-manifest.json +3 -0
  453. package/web/.next/server/app/api/applications/[id]/files/content/route/build-manifest.json +11 -0
  454. package/web/.next/server/app/api/applications/[id]/files/content/route/server-reference-manifest.json +4 -0
  455. package/web/.next/server/app/api/applications/[id]/files/content/route.js +6 -0
  456. package/web/.next/server/app/api/applications/[id]/files/content/route.js.map +5 -0
  457. package/web/.next/server/app/api/applications/[id]/files/content/route.js.nft.json +1 -0
  458. package/web/.next/server/app/api/applications/[id]/files/content/route_client-reference-manifest.js +2 -0
  459. package/web/.next/server/app/api/applications/[id]/files/raw/route/app-paths-manifest.json +3 -0
  460. package/web/.next/server/app/api/applications/[id]/files/raw/route/build-manifest.json +11 -0
  461. package/web/.next/server/app/api/applications/[id]/files/raw/route/server-reference-manifest.json +4 -0
  462. package/web/.next/server/app/api/applications/[id]/files/raw/route.js +7 -0
  463. package/web/.next/server/app/api/applications/[id]/files/raw/route.js.map +5 -0
  464. package/web/.next/server/app/api/applications/[id]/files/raw/route.js.nft.json +1 -0
  465. package/web/.next/server/app/api/applications/[id]/files/raw/route_client-reference-manifest.js +2 -0
  466. package/web/.next/server/app/api/applications/[id]/files/route/app-paths-manifest.json +3 -0
  467. package/web/.next/server/app/api/applications/[id]/files/route/build-manifest.json +11 -0
  468. package/web/.next/server/app/api/applications/[id]/files/route/server-reference-manifest.json +4 -0
  469. package/web/.next/server/app/api/applications/[id]/files/route.js +6 -0
  470. package/web/.next/server/app/api/applications/[id]/files/route.js.map +5 -0
  471. package/web/.next/server/app/api/applications/[id]/files/route.js.nft.json +1 -0
  472. package/web/.next/server/app/api/applications/[id]/files/route_client-reference-manifest.js +2 -0
  473. package/web/.next/server/app/api/applications/[id]/files/watch/route/app-paths-manifest.json +3 -0
  474. package/web/.next/server/app/api/applications/[id]/files/watch/route/build-manifest.json +11 -0
  475. package/web/.next/server/app/api/applications/[id]/files/watch/route/server-reference-manifest.json +4 -0
  476. package/web/.next/server/app/api/applications/[id]/files/watch/route.js +6 -0
  477. package/web/.next/server/app/api/applications/[id]/files/watch/route.js.map +5 -0
  478. package/web/.next/server/app/api/applications/[id]/files/watch/route.js.nft.json +1 -0
  479. package/web/.next/server/app/api/applications/[id]/files/watch/route_client-reference-manifest.js +2 -0
  480. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  481. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  482. package/web/.next/server/app/api/directory/list/route.js +1 -1
  483. package/web/.next/server/app/api/directory/list/route.js.nft.json +1 -1
  484. package/web/.next/server/app/api/evidence/route.js +1 -1
  485. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  486. package/web/.next/server/app/api/feature-logs/route.js +1 -1
  487. package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
  488. package/web/.next/server/app/api/graph-data/route.js +1 -1
  489. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  490. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  491. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  492. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/app-paths-manifest.json +3 -0
  493. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/build-manifest.json +11 -0
  494. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route/server-reference-manifest.json +4 -0
  495. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js +6 -0
  496. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js.map +5 -0
  497. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route.js.nft.json +1 -0
  498. package/web/.next/server/app/api/interactive/chat/turn-statuses/stream/route_client-reference-manifest.js +2 -0
  499. package/web/.next/server/app/api/sessions/route.js +1 -1
  500. package/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
  501. package/web/.next/server/app/api/sessions-batch/route.js +1 -1
  502. package/web/.next/server/app/api/sessions-batch/route.js.nft.json +1 -1
  503. package/web/.next/server/app/api/terminal/[sessionId]/input/route/app-paths-manifest.json +3 -0
  504. package/web/.next/server/app/api/terminal/[sessionId]/input/route/build-manifest.json +11 -0
  505. package/web/.next/server/app/api/terminal/[sessionId]/input/route/server-reference-manifest.json +4 -0
  506. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js +6 -0
  507. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js.map +5 -0
  508. package/web/.next/server/app/api/terminal/[sessionId]/input/route.js.nft.json +1 -0
  509. package/web/.next/server/app/api/terminal/[sessionId]/input/route_client-reference-manifest.js +2 -0
  510. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/app-paths-manifest.json +3 -0
  511. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/build-manifest.json +11 -0
  512. package/web/.next/server/app/api/terminal/[sessionId]/resize/route/server-reference-manifest.json +4 -0
  513. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js +6 -0
  514. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js.map +5 -0
  515. package/web/.next/server/app/api/terminal/[sessionId]/resize/route.js.nft.json +1 -0
  516. package/web/.next/server/app/api/terminal/[sessionId]/resize/route_client-reference-manifest.js +2 -0
  517. package/web/.next/server/app/api/terminal/[sessionId]/route/app-paths-manifest.json +3 -0
  518. package/web/.next/server/app/api/terminal/[sessionId]/route/build-manifest.json +11 -0
  519. package/web/.next/server/app/api/terminal/[sessionId]/route/server-reference-manifest.json +4 -0
  520. package/web/.next/server/app/api/terminal/[sessionId]/route.js +6 -0
  521. package/web/.next/server/app/api/terminal/[sessionId]/route.js.map +5 -0
  522. package/web/.next/server/app/api/terminal/[sessionId]/route.js.nft.json +1 -0
  523. package/web/.next/server/app/api/terminal/[sessionId]/route_client-reference-manifest.js +2 -0
  524. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/app-paths-manifest.json +3 -0
  525. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/build-manifest.json +11 -0
  526. package/web/.next/server/app/api/terminal/[sessionId]/stream/route/server-reference-manifest.json +4 -0
  527. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js +6 -0
  528. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js.map +5 -0
  529. package/web/.next/server/app/api/terminal/[sessionId]/stream/route.js.nft.json +1 -0
  530. package/web/.next/server/app/api/terminal/[sessionId]/stream/route_client-reference-manifest.js +2 -0
  531. package/web/.next/server/app/api/terminal/route/app-paths-manifest.json +3 -0
  532. package/web/.next/server/app/api/terminal/route/build-manifest.json +11 -0
  533. package/web/.next/server/app/api/terminal/route/server-reference-manifest.json +4 -0
  534. package/web/.next/server/app/api/terminal/route.js +6 -0
  535. package/web/.next/server/app/api/terminal/route.js.map +5 -0
  536. package/web/.next/server/app/api/terminal/route.js.nft.json +1 -0
  537. package/web/.next/server/app/api/terminal/route_client-reference-manifest.js +2 -0
  538. package/web/.next/server/app/application/[id]/page/app-paths-manifest.json +3 -0
  539. package/web/.next/server/app/application/[id]/page/build-manifest.json +18 -0
  540. package/web/.next/server/app/application/[id]/page/next-font-manifest.json +6 -0
  541. package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +8 -0
  542. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +230 -0
  543. package/web/.next/server/app/application/[id]/page.js +19 -0
  544. package/web/.next/server/app/application/[id]/page.js.map +5 -0
  545. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -0
  546. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +2 -0
  547. package/web/.next/server/app/features/page/build-manifest.json +3 -3
  548. package/web/.next/server/app/features/page/server-reference-manifest.json +27 -12
  549. package/web/.next/server/app/features/page.js +2 -2
  550. package/web/.next/server/app/features/page.js.nft.json +1 -1
  551. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  552. package/web/.next/server/app/settings/page/build-manifest.json +3 -3
  553. package/web/.next/server/app/settings/page/server-reference-manifest.json +33 -18
  554. package/web/.next/server/app/settings/page.js +2 -2
  555. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  556. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  557. package/web/.next/server/app/skills/page/build-manifest.json +3 -3
  558. package/web/.next/server/app/skills/page/server-reference-manifest.json +56 -26
  559. package/web/.next/server/app/skills/page.js +4 -3
  560. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  561. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  562. package/web/.next/server/app/tools/page/build-manifest.json +3 -3
  563. package/web/.next/server/app/tools/page/server-reference-manifest.json +52 -22
  564. package/web/.next/server/app/tools/page.js +3 -2
  565. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  566. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  567. package/web/.next/server/app/version/page/build-manifest.json +3 -3
  568. package/web/.next/server/app/version/page/server-reference-manifest.json +27 -12
  569. package/web/.next/server/app/version/page.js +3 -3
  570. package/web/.next/server/app/version/page.js.nft.json +1 -1
  571. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  572. package/web/.next/server/app-paths-manifest.json +11 -0
  573. package/web/.next/server/chunks/0d725_next-internal_server_app_api_applications_[id]_files_raw_route_actions_69e55b18.js +3 -0
  574. package/web/.next/server/chunks/0d725_next-internal_server_app_api_applications_[id]_files_raw_route_actions_69e55b18.js.map +1 -0
  575. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_resize_route_actions_068451e5.js +3 -0
  576. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_resize_route_actions_068451e5.js.map +1 -0
  577. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_stream_route_actions_475d5f68.js +3 -0
  578. package/web/.next/server/chunks/0d725_next-internal_server_app_api_terminal_[sessionId]_stream_route_actions_475d5f68.js.map +1 -0
  579. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js +1 -1
  580. package/web/.next/server/chunks/403f9_next_dist_esm_build_templates_app-route_370c43b1.js.map +1 -1
  581. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_terminal_[sessionId]_route_actions_20e0d9a3.js +3 -0
  582. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_terminal_[sessionId]_route_actions_20e0d9a3.js.map +1 -0
  583. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_content_route_actions_b0c05593.js +3 -0
  584. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_content_route_actions_b0c05593.js.map +1 -0
  585. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_watch_route_actions_30d3aeeb.js +3 -0
  586. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_files_watch_route_actions_30d3aeeb.js.map +1 -0
  587. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_turn-statuses_stream_route_actions_52514889.js +3 -0
  588. package/web/.next/server/chunks/8ba4b_server_app_api_interactive_chat_turn-statuses_stream_route_actions_52514889.js.map +1 -0
  589. package/web/.next/server/chunks/[root-of-the-server]__038012df._.js +3 -0
  590. package/web/.next/server/chunks/[root-of-the-server]__038012df._.js.map +1 -0
  591. package/web/.next/server/chunks/[root-of-the-server]__0e3323be._.js +3 -0
  592. package/web/.next/server/chunks/[root-of-the-server]__0e3323be._.js.map +1 -0
  593. package/web/.next/server/chunks/[root-of-the-server]__38b9b39e._.js +3 -0
  594. package/web/.next/server/chunks/[root-of-the-server]__38b9b39e._.js.map +1 -0
  595. package/web/.next/server/chunks/[root-of-the-server]__3c22f57d._.js +3 -0
  596. package/web/.next/server/chunks/[root-of-the-server]__3c22f57d._.js.map +1 -0
  597. package/web/.next/server/chunks/[root-of-the-server]__4906ab60._.js +3 -0
  598. package/web/.next/server/chunks/[root-of-the-server]__4906ab60._.js.map +1 -0
  599. package/web/.next/server/chunks/{[root-of-the-server]__2f61738a._.js → [root-of-the-server]__4eb2c4e4._.js} +2 -2
  600. package/web/.next/server/chunks/{[root-of-the-server]__acea6565._.js → [root-of-the-server]__5e3c6f3a._.js} +2 -2
  601. package/web/.next/server/chunks/[root-of-the-server]__72175657._.js +9 -0
  602. package/web/.next/server/chunks/[root-of-the-server]__72175657._.js.map +1 -0
  603. package/web/.next/server/chunks/{[root-of-the-server]__31598852._.js → [root-of-the-server]__86965b92._.js} +2 -2
  604. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js +19 -13
  605. package/web/.next/server/chunks/[root-of-the-server]__8a281f8d._.js.map +1 -1
  606. package/web/.next/server/chunks/[root-of-the-server]__92409aeb._.js +3 -0
  607. package/web/.next/server/chunks/[root-of-the-server]__92409aeb._.js.map +1 -0
  608. package/web/.next/server/chunks/[root-of-the-server]__a402b567._.js +1 -1
  609. package/web/.next/server/chunks/[root-of-the-server]__a52f55af._.js +6 -0
  610. package/web/.next/server/chunks/[root-of-the-server]__a52f55af._.js.map +1 -0
  611. package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js → [root-of-the-server]__ac92afe7._.js} +2 -2
  612. package/web/.next/server/chunks/{[root-of-the-server]__2b1074db._.js.map → [root-of-the-server]__ac92afe7._.js.map} +1 -1
  613. package/web/.next/server/chunks/[root-of-the-server]__b2a4bfcc._.js +3 -0
  614. package/web/.next/server/chunks/{[root-of-the-server]__c78383b1._.js.map → [root-of-the-server]__b2a4bfcc._.js.map} +1 -1
  615. package/web/.next/server/chunks/{[root-of-the-server]__e3692208._.js → [root-of-the-server]__c8f90b29._.js} +2 -2
  616. package/web/.next/server/chunks/{[root-of-the-server]__2b71641f._.js → [root-of-the-server]__cbf5b20b._.js} +2 -2
  617. package/web/.next/server/chunks/{[root-of-the-server]__2b71641f._.js.map → [root-of-the-server]__cbf5b20b._.js.map} +1 -1
  618. package/web/.next/server/chunks/[root-of-the-server]__ccfcaa08._.js +3 -0
  619. package/web/.next/server/chunks/[root-of-the-server]__ccfcaa08._.js.map +1 -0
  620. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js +1 -1
  621. package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
  622. package/web/.next/server/chunks/[root-of-the-server]__deb67d81._.js +9 -0
  623. package/web/.next/server/chunks/[root-of-the-server]__deb67d81._.js.map +1 -0
  624. package/web/.next/server/chunks/{[root-of-the-server]__fc6fd958._.js → [root-of-the-server]__ecd08b79._.js} +2 -2
  625. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_terminal_route_actions_f93ca3cb.js +3 -0
  626. package/web/.next/server/chunks/b1a17_presentation_web__next-internal_server_app_api_terminal_route_actions_f93ca3cb.js.map +1 -0
  627. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_files_route_actions_e1af3c3a.js +3 -0
  628. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_applications_[id]_files_route_actions_e1af3c3a.js.map +1 -0
  629. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_terminal_[sessionId]_input_route_actions_b7785e18.js +3 -0
  630. package/web/.next/server/chunks/f3a1f__next-internal_server_app_api_terminal_[sessionId]_input_route_actions_b7785e18.js.map +1 -0
  631. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  632. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  633. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  634. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  635. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js +3 -0
  636. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_5da25833._.js.map +1 -0
  637. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +3 -0
  638. package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -0
  639. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js → [root-of-the-server]__090f24cb._.js} +2 -2
  640. package/web/.next/server/chunks/ssr/{[root-of-the-server]__d1040bd1._.js.map → [root-of-the-server]__090f24cb._.js.map} +1 -1
  641. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +4 -0
  642. package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -0
  643. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +4 -0
  644. package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js.map +1 -0
  645. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +4 -0
  646. package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -0
  647. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +12 -0
  648. package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -0
  649. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +4 -0
  650. package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js.map +1 -0
  651. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +3 -0
  652. package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -0
  653. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js → [root-of-the-server]__7aa484f5._.js} +2 -2
  654. package/web/.next/server/chunks/ssr/{[root-of-the-server]__efeeaed4._.js.map → [root-of-the-server]__7aa484f5._.js.map} +1 -1
  655. package/web/.next/server/chunks/ssr/{[root-of-the-server]__86ff0bc5._.js → [root-of-the-server]__87bc4dac._.js} +3 -3
  656. package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js.map +1 -0
  657. package/web/.next/server/chunks/ssr/{[root-of-the-server]__e0592c69._.js → [root-of-the-server]__894882ab._.js} +2 -2
  658. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js +3 -0
  659. package/web/.next/server/chunks/ssr/[root-of-the-server]__a3a4ddef._.js.map +1 -0
  660. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js +3 -0
  661. package/web/.next/server/chunks/ssr/[root-of-the-server]__a4222b95._.js.map +1 -0
  662. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +3 -0
  663. package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -0
  664. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js +3 -0
  665. package/web/.next/server/chunks/ssr/[root-of-the-server]__a6f2b763._.js.map +1 -0
  666. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +4 -0
  667. package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -0
  668. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +4 -0
  669. package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -0
  670. package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js → [root-of-the-server]__e265da61._.js} +2 -2
  671. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +3 -0
  672. package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -0
  673. package/web/.next/server/chunks/ssr/_0277d3b5._.js +21 -0
  674. package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -0
  675. package/web/.next/server/chunks/ssr/_1879404a._.js +1 -1
  676. package/web/.next/server/chunks/ssr/_1879404a._.js.map +1 -1
  677. package/web/.next/server/chunks/ssr/_1e08a336._.js +1 -1
  678. package/web/.next/server/chunks/ssr/_295fffde._.js.map +1 -1
  679. package/web/.next/server/chunks/ssr/_2bea8166._.js +4 -0
  680. package/web/.next/server/chunks/ssr/_2bea8166._.js.map +1 -0
  681. package/web/.next/server/chunks/ssr/_36489f2b._.js +3 -0
  682. package/web/.next/server/chunks/ssr/_36489f2b._.js.map +1 -0
  683. package/web/.next/server/chunks/ssr/_44531b76._.js +9 -0
  684. package/web/.next/server/chunks/ssr/_44531b76._.js.map +1 -0
  685. package/web/.next/server/chunks/ssr/_45496654._.js +1 -1
  686. package/web/.next/server/chunks/ssr/_45496654._.js.map +1 -1
  687. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  688. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  689. package/web/.next/server/chunks/ssr/_5bf2415e._.js +7 -0
  690. package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +1 -0
  691. package/web/.next/server/chunks/ssr/_63fc4647._.js +3 -0
  692. package/web/.next/server/chunks/ssr/_63fc4647._.js.map +1 -0
  693. package/web/.next/server/chunks/ssr/_82c47cc2._.js +3 -0
  694. package/web/.next/server/chunks/ssr/{_bb09579b._.js.map → _82c47cc2._.js.map} +1 -1
  695. package/web/.next/server/chunks/ssr/_869a3a15._.js +3 -0
  696. package/web/.next/server/chunks/ssr/_869a3a15._.js.map +1 -0
  697. package/web/.next/server/chunks/ssr/_8caadb9a._.js +3 -0
  698. package/web/.next/server/chunks/ssr/_8caadb9a._.js.map +1 -0
  699. package/web/.next/server/chunks/ssr/{_7d50fed0._.js → _946a7fc6._.js} +3 -3
  700. package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -0
  701. package/web/.next/server/chunks/ssr/_b227ff50._.js +3 -0
  702. package/web/.next/server/chunks/ssr/_b227ff50._.js.map +1 -0
  703. package/web/.next/server/chunks/ssr/_b8e8b690._.js +3 -0
  704. package/web/.next/server/chunks/ssr/_b8e8b690._.js.map +1 -0
  705. package/web/.next/server/chunks/ssr/{_5889596f._.js → _d44d091a._.js} +2 -2
  706. package/web/.next/server/chunks/ssr/_d44d091a._.js.map +1 -0
  707. package/web/.next/server/chunks/ssr/_e071ba48._.js +3 -0
  708. package/web/.next/server/chunks/ssr/_e071ba48._.js.map +1 -0
  709. package/web/.next/server/chunks/ssr/_eff1b518._.js +3 -0
  710. package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -0
  711. package/web/.next/server/chunks/ssr/_f227429a._.js +3 -0
  712. package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -0
  713. package/web/.next/server/chunks/ssr/{_496c9117._.js → _f86fc1bf._.js} +2 -2
  714. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -0
  715. package/web/.next/server/chunks/ssr/_f8c55130._.js +4 -0
  716. package/web/.next/server/chunks/ssr/_f8c55130._.js.map +1 -0
  717. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  718. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  719. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  720. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
  721. package/web/.next/server/chunks/ssr/{_1b7dae9a._.js → f7870_sonner_dist_index_mjs_dbf63824._.js} +2 -2
  722. package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +1 -0
  723. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  724. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  725. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +3 -0
  726. package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -0
  727. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +3 -0
  728. package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -0
  729. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +3 -0
  730. package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -0
  731. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +3 -0
  732. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -0
  733. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +3 -0
  734. package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -0
  735. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +3 -0
  736. package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -0
  737. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +3 -0
  738. package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -0
  739. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +3 -0
  740. package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -0
  741. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +3 -0
  742. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -0
  743. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +32 -0
  744. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js.map +1 -0
  745. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +3 -0
  746. package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -0
  747. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js +3 -0
  748. package/web/.next/server/chunks/ssr/src_presentation_web_ca99d62d._.js.map +1 -0
  749. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  750. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  751. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +3 -0
  752. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -0
  753. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +3 -0
  754. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -0
  755. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  756. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  757. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js +1 -1
  758. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_tools_tools-page-client_tsx_3d0aa70c._.js.map +1 -1
  759. package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
  760. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +3 -0
  761. package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -0
  762. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +3 -0
  763. package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js.map +1 -0
  764. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js +1 -1
  765. package/web/.next/server/chunks/ssr/translations_23dd5e7e._.js.map +1 -1
  766. package/web/.next/server/middleware-build-manifest.js +3 -3
  767. package/web/.next/server/pages/500.html +2 -2
  768. package/web/.next/server/server-reference-manifest.js +1 -1
  769. package/web/.next/server/server-reference-manifest.json +1084 -703
  770. package/web/.next/static/chunks/06b9d6dbf635c370.css +1 -0
  771. package/web/.next/static/chunks/11ef340e4cfbdbe6.js +1 -0
  772. package/web/.next/static/chunks/1ae0cf5be30ef398.js +1 -0
  773. package/web/.next/static/chunks/1bc12075020723ed.js +1 -0
  774. package/web/.next/static/chunks/1fa1574b87bd2eb1.js +1 -0
  775. package/web/.next/static/chunks/{f5c61237675acc89.js → 26e2ca76ab6c38b4.js} +1 -1
  776. package/web/.next/static/chunks/2fe20598e1b4793a.js +5 -0
  777. package/web/.next/static/chunks/490667b2a9bb58e2.js +1 -0
  778. package/web/.next/static/chunks/{eb1ca1b0a34166f5.js → 66261997e6f830f1.js} +1 -1
  779. package/web/.next/static/chunks/{d26d0a7bc1a9b5a4.js → 7849c6797be7c6ca.js} +2 -2
  780. package/web/.next/static/chunks/7bc7028587490fff.js +1 -0
  781. package/web/.next/static/chunks/7c3fe3c694874dea.js +1 -0
  782. package/web/.next/static/chunks/{5a2bdbc57ed1368e.js → 8746807722de67a8.js} +1 -1
  783. package/web/.next/static/chunks/893a2a76546c66a7.js +1 -0
  784. package/web/.next/static/chunks/927442d2628f6e22.js +1 -0
  785. package/web/.next/static/chunks/a1098522326428d1.js +1 -0
  786. package/web/.next/static/chunks/b7b85a15f387ab7c.css +1 -0
  787. package/web/.next/static/chunks/b99506a6f7bc2fa8.js +1 -0
  788. package/web/.next/static/chunks/be89c20c257247ad.js +7 -0
  789. package/web/.next/static/chunks/c0bd3ffcf94d1845.js +7 -0
  790. package/web/.next/static/chunks/dfdcccf73de56960.js +1 -0
  791. package/web/.next/static/chunks/e2f9e224d1fa1faa.js +1 -0
  792. package/web/.next/static/chunks/e7da54dde18e7fb2.js +19 -0
  793. package/web/.next/static/chunks/f28aef9cf5107c4b.js +1 -0
  794. package/web/.next/static/chunks/{fb7211d94190d010.js → f6d47ff35d612852.js} +3 -3
  795. package/web/.next/static/chunks/fe8bcc8ff36a61c0.js +1 -0
  796. package/web/.next/static/chunks/{turbopack-fa58b7ea4a4b26e7.js → turbopack-d16f2f815897af68.js} +1 -1
  797. package/web/next.config.mjs +1 -1
  798. package/web/package.json +7 -0
  799. package/web/.next/server/chunks/[root-of-the-server]__c78383b1._.js +0 -3
  800. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js +0 -3
  801. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_bdff55d6.js.map +0 -1
  802. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js +0 -3
  803. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_6aa77d75.js.map +0 -1
  804. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js +0 -3
  805. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_24adb073.js.map +0 -1
  806. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js +0 -3
  807. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_281e0ef8._.js.map +0 -1
  808. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js +0 -3
  809. package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_a593f310._.js.map +0 -1
  810. package/web/.next/server/chunks/ssr/[root-of-the-server]__16c1388b._.js +0 -3
  811. package/web/.next/server/chunks/ssr/[root-of-the-server]__16c1388b._.js.map +0 -1
  812. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js +0 -4
  813. package/web/.next/server/chunks/ssr/[root-of-the-server]__1f389e5d._.js.map +0 -1
  814. package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js +0 -3
  815. package/web/.next/server/chunks/ssr/[root-of-the-server]__22d17c66._.js.map +0 -1
  816. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js +0 -4
  817. package/web/.next/server/chunks/ssr/[root-of-the-server]__6c7d3936._.js.map +0 -1
  818. package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js +0 -3
  819. package/web/.next/server/chunks/ssr/[root-of-the-server]__75070d2e._.js.map +0 -1
  820. package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js +0 -4
  821. package/web/.next/server/chunks/ssr/[root-of-the-server]__7c634c0f._.js.map +0 -1
  822. package/web/.next/server/chunks/ssr/[root-of-the-server]__86ff0bc5._.js.map +0 -1
  823. package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js +0 -4
  824. package/web/.next/server/chunks/ssr/[root-of-the-server]__8f02b364._.js.map +0 -1
  825. package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js +0 -3
  826. package/web/.next/server/chunks/ssr/[root-of-the-server]__9dde817e._.js.map +0 -1
  827. package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js +0 -3
  828. package/web/.next/server/chunks/ssr/[root-of-the-server]__a00db173._.js.map +0 -1
  829. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js +0 -4
  830. package/web/.next/server/chunks/ssr/[root-of-the-server]__b7b96453._.js.map +0 -1
  831. package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js +0 -4
  832. package/web/.next/server/chunks/ssr/[root-of-the-server]__cf751517._.js.map +0 -1
  833. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js +0 -3
  834. package/web/.next/server/chunks/ssr/[root-of-the-server]__e5f31e9a._.js.map +0 -1
  835. package/web/.next/server/chunks/ssr/_15f6bbd4._.js +0 -3
  836. package/web/.next/server/chunks/ssr/_15f6bbd4._.js.map +0 -1
  837. package/web/.next/server/chunks/ssr/_1b7dae9a._.js.map +0 -1
  838. package/web/.next/server/chunks/ssr/_396a6887._.js +0 -3
  839. package/web/.next/server/chunks/ssr/_396a6887._.js.map +0 -1
  840. package/web/.next/server/chunks/ssr/_43ba79e7._.js +0 -3
  841. package/web/.next/server/chunks/ssr/_43ba79e7._.js.map +0 -1
  842. package/web/.next/server/chunks/ssr/_496c9117._.js.map +0 -1
  843. package/web/.next/server/chunks/ssr/_49b8d085._.js +0 -3
  844. package/web/.next/server/chunks/ssr/_49b8d085._.js.map +0 -1
  845. package/web/.next/server/chunks/ssr/_5889596f._.js.map +0 -1
  846. package/web/.next/server/chunks/ssr/_6abfa39e._.js +0 -3
  847. package/web/.next/server/chunks/ssr/_6abfa39e._.js.map +0 -1
  848. package/web/.next/server/chunks/ssr/_74a1a173._.js +0 -7
  849. package/web/.next/server/chunks/ssr/_74a1a173._.js.map +0 -1
  850. package/web/.next/server/chunks/ssr/_7cb0396e._.js +0 -3
  851. package/web/.next/server/chunks/ssr/_7cb0396e._.js.map +0 -1
  852. package/web/.next/server/chunks/ssr/_7d50fed0._.js.map +0 -1
  853. package/web/.next/server/chunks/ssr/_9bbdd461._.js +0 -4
  854. package/web/.next/server/chunks/ssr/_9bbdd461._.js.map +0 -1
  855. package/web/.next/server/chunks/ssr/_b7a43c05._.js +0 -3
  856. package/web/.next/server/chunks/ssr/_b7a43c05._.js.map +0 -1
  857. package/web/.next/server/chunks/ssr/_bb09579b._.js +0 -3
  858. package/web/.next/server/chunks/ssr/_bcd239dd._.js +0 -3
  859. package/web/.next/server/chunks/ssr/_bcd239dd._.js.map +0 -1
  860. package/web/.next/server/chunks/ssr/_e680c57c._.js +0 -9
  861. package/web/.next/server/chunks/ssr/_e680c57c._.js.map +0 -1
  862. package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js +0 -3
  863. package/web/.next/server/chunks/ssr/node_modules__pnpm_63d47a3e._.js.map +0 -1
  864. package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js +0 -3
  865. package/web/.next/server/chunks/ssr/node_modules__pnpm_ef15a0bd._.js.map +0 -1
  866. package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js +0 -3
  867. package/web/.next/server/chunks/ssr/src_presentation_web_0338c789._.js.map +0 -1
  868. package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js +0 -5
  869. package/web/.next/server/chunks/ssr/src_presentation_web_071f1e80._.js.map +0 -1
  870. package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js +0 -3
  871. package/web/.next/server/chunks/ssr/src_presentation_web_55c1ff7d._.js.map +0 -1
  872. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +0 -3
  873. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +0 -1
  874. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js +0 -3
  875. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ad14a90f.js.map +0 -1
  876. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +0 -3
  877. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +0 -1
  878. package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js +0 -3
  879. package/web/.next/server/chunks/ssr/src_presentation_web_d5838156._.js.map +0 -1
  880. package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js +0 -5
  881. package/web/.next/server/chunks/ssr/src_presentation_web_dc28bc60._.js.map +0 -1
  882. package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js +0 -3
  883. package/web/.next/server/chunks/ssr/src_presentation_web_dcb020e3._.js.map +0 -1
  884. package/web/.next/static/chunks/09edd35d194bec06.js +0 -5
  885. package/web/.next/static/chunks/124b79a5d2a760fb.css +0 -1
  886. package/web/.next/static/chunks/200e07d995bd9a42.js +0 -1
  887. package/web/.next/static/chunks/22e3a3738308da2e.js +0 -1
  888. package/web/.next/static/chunks/25d3c4d18b8aecff.js +0 -7
  889. package/web/.next/static/chunks/2ceebcc839ee0d4b.js +0 -1
  890. package/web/.next/static/chunks/34444901ca3a1c3b.js +0 -1
  891. package/web/.next/static/chunks/3cf86457869c47bc.js +0 -1
  892. package/web/.next/static/chunks/4052a4971fbbac9c.js +0 -1
  893. package/web/.next/static/chunks/55060446f5490f20.js +0 -3
  894. package/web/.next/static/chunks/59bff7b33ebe5f68.js +0 -1
  895. package/web/.next/static/chunks/8b0a9cb5109fe899.js +0 -1
  896. package/web/.next/static/chunks/971e52f3f386ccfd.js +0 -1
  897. package/web/.next/static/chunks/981c6f3f1db99b4e.js +0 -1
  898. package/web/.next/static/chunks/b63e6727c84f30e2.js +0 -1
  899. package/web/.next/static/chunks/c10c0d6d458453bc.js +0 -1
  900. package/web/.next/static/chunks/c94a6a3d54dd4997.js +0 -5
  901. package/web/.next/static/chunks/d04d868f0971941d.js +0 -1
  902. package/web/.next/static/chunks/e7502fb670f32235.js +0 -1
  903. /package/web/.next/server/chunks/{[root-of-the-server]__2f61738a._.js.map → [root-of-the-server]__4eb2c4e4._.js.map} +0 -0
  904. /package/web/.next/server/chunks/{[root-of-the-server]__acea6565._.js.map → [root-of-the-server]__5e3c6f3a._.js.map} +0 -0
  905. /package/web/.next/server/chunks/{[root-of-the-server]__31598852._.js.map → [root-of-the-server]__86965b92._.js.map} +0 -0
  906. /package/web/.next/server/chunks/{[root-of-the-server]__e3692208._.js.map → [root-of-the-server]__c8f90b29._.js.map} +0 -0
  907. /package/web/.next/server/chunks/{[root-of-the-server]__fc6fd958._.js.map → [root-of-the-server]__ecd08b79._.js.map} +0 -0
  908. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__e0592c69._.js.map → [root-of-the-server]__894882ab._.js.map} +0 -0
  909. /package/web/.next/server/chunks/ssr/{[root-of-the-server]__357d99f9._.js.map → [root-of-the-server]__e265da61._.js.map} +0 -0
  910. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → GQFJf3UCD4D5C4NCn8eXl}/_buildManifest.js +0 -0
  911. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → GQFJf3UCD4D5C4NCn8eXl}/_clientMiddlewareManifest.json +0 -0
  912. /package/web/.next/static/{mLJ1Qa4FUFmmZm0crRH2U → GQFJf3UCD4D5C4NCn8eXl}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../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/src/build/webpack/loaders/next-flight-loader/server-reference.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/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../../../src/presentation/web/app/actions/get-all-agent-models.ts","../../../../../../../src/presentation/web/lib/model-metadata.ts","../../../../../../../src/presentation/web/app/actions/update-agent-and-model.ts","../../../../../../../packages/core/src/infrastructure/services/folder-dialog.service.ts","../../../../../../../src/presentation/web/app/actions/pick-folder.ts","../../../../../../../packages/core/src/application/ports/output/services/github-repository-service.interface.ts","../../../../../../../src/presentation/web/app/actions/list-github-repositories.ts","../../../../../../../src/presentation/web/app/actions/list-github-organizations.ts","../../../../../../../src/presentation/web/app/actions/import-github-repository.ts","../../../../../../../src/presentation/web/app/actions/deploy-feature.ts","../../../../../../../packages/core/src/infrastructure/services/deployment/deployment-logger.ts","../../../../../../../src/presentation/web/app/actions/deploy-repository.ts","../../../../../../../src/presentation/web/app/actions/stop-deployment.ts","../../../../../../../src/presentation/web/app/actions/get-deployment-status.ts","../../../../../../../src/presentation/web/app/actions/get-deployment-logs.ts","../../../../../../../src/presentation/web/app/actions/open-ide.ts","../../../../../../../src/presentation/web/app/actions/open-shell.ts","../../../../../../../src/presentation/web/app/actions/open-folder.ts","../../../../../../../src/presentation/web/app/actions/sync-repository.ts","../../../../../../../src/presentation/web/app/actions/agent-setup-flag.ts","../../../../../../../src/presentation/web/app/actions/check-agent-auth.ts","../../../../../../../src/presentation/web/app/actions/check-tool-status.ts","../../../../../../../src/presentation/web/app/actions/create-project-folder.ts","../../../../../../../src/presentation/web/app/actions/archive-feature.ts","../../../../../../../src/presentation/web/app/actions/delete-feature.ts","../../../../../../../src/presentation/web/app/actions/resume-feature.ts","../../../../../../../src/presentation/web/app/actions/start-feature.ts","../../../../../../../src/presentation/web/app/actions/stop-feature.ts","../../../../../../../src/presentation/web/app/actions/unarchive-feature.ts","../../../../../../../src/presentation/web/app/actions/add-repository.ts","../../../../../../../src/presentation/web/app/actions/delete-repository.ts","../../../../../../../src/presentation/web/app/actions/get-feature-metadata.ts"],"sourcesContent":["/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { getModelMeta } from '@/lib/model-metadata';\nimport type { IAgentExecutorFactory } from '@shepai/core/application/ports/output/agents/agent-executor-factory.interface';\n\nexport interface ModelInfo {\n id: string;\n displayName: string;\n description: string;\n}\n\nexport interface AgentModelGroup {\n agentType: string;\n label: string;\n models: ModelInfo[];\n}\n\nconst AGENT_LABELS: Record<string, string> = {\n 'claude-code': 'Claude Code',\n 'codex-cli': 'Codex CLI',\n 'copilot-cli': 'Copilot CLI',\n cursor: 'Cursor CLI',\n 'gemini-cli': 'Gemini CLI',\n dev: 'Demo',\n};\n\n/** Sort weight — higher = further down. Demo always last. */\nconst AGENT_ORDER: Record<string, number> = {\n 'claude-code': 0,\n 'codex-cli': 1,\n 'copilot-cli': 2,\n cursor: 3,\n 'gemini-cli': 4,\n dev: 99,\n};\n\nexport async function getAllAgentModels(): Promise<AgentModelGroup[]> {\n try {\n const factory = resolve<IAgentExecutorFactory>('IAgentExecutorFactory');\n const agents = factory.getSupportedAgents();\n return agents\n .map((agentType) => ({\n agentType: agentType as string,\n label: AGENT_LABELS[agentType as string] ?? (agentType as string),\n models: factory.getSupportedModels(agentType).map((id) => ({\n id,\n ...getModelMeta(id),\n })),\n }))\n .map((g) => {\n // Dev agent gets fun demo models\n if (g.agentType === 'dev' && g.models.length === 0) {\n return {\n ...g,\n models: [\n { id: 'gpt-8', ...getModelMeta('gpt-8') },\n { id: 'opus-7', ...getModelMeta('opus-7') },\n ],\n };\n }\n return g;\n })\n .filter((g) => g.models.length > 0)\n .sort((a, b) => (AGENT_ORDER[a.agentType] ?? 50) - (AGENT_ORDER[b.agentType] ?? 50));\n } catch {\n return [];\n }\n}\n","export interface ModelMeta {\n displayName: string;\n description: string;\n}\n\n/**\n * Presentation-layer metadata for known LLM model identifiers.\n * Maps raw model IDs to human-friendly display names and short descriptions.\n */\nconst MODEL_METADATA: Record<string, ModelMeta> = {\n // Claude models\n 'claude-opus-4-6': { displayName: 'Opus 4.6', description: 'Most capable, complex tasks' },\n 'claude-sonnet-4-6': { displayName: 'Sonnet 4.6', description: 'Fast & balanced' },\n 'claude-haiku-4-5': { displayName: 'Haiku 4.5', description: 'Lightweight & quick' },\n\n // Gemini models\n 'gemini-3.1-pro': { displayName: 'Gemini 3.1 Pro', description: 'Advanced reasoning' },\n 'gemini-3-flash': { displayName: 'Gemini 3 Flash', description: 'Ultra-fast responses' },\n 'gemini-2.5-pro': { displayName: 'Gemini 2.5 Pro', description: 'Reliable workhorse' },\n 'gemini-2.5-flash': { displayName: 'Gemini 2.5 Flash', description: 'Speed-optimized' },\n\n // OpenAI models\n 'gpt-5.4-high': { displayName: 'GPT-5.4', description: 'Latest reasoning model' },\n 'gpt-5.2': { displayName: 'GPT-5.2', description: 'Flagship model' },\n 'gpt-5.3-codex': { displayName: 'GPT-5.3 Codex', description: 'Code specialist' },\n\n // Other\n 'composer-1.5': { displayName: 'Composer 1.5', description: 'Multi-file editing' },\n 'grok-code': { displayName: 'Grok Code', description: 'xAI code model' },\n\n // Demo / fun models\n 'gpt-8': { displayName: 'GPT-8', description: 'Writes code before you think it' },\n 'opus-7': { displayName: 'Opus 7', description: 'Achieved consciousness, ships on time' },\n};\n\nconst FALLBACK: ModelMeta = { displayName: '', description: '' };\n\nexport function getModelMeta(modelId: string): ModelMeta {\n const meta = MODEL_METADATA[modelId];\n if (meta) return meta;\n // Fallback: prettify the raw ID\n return {\n ...FALLBACK,\n displayName: modelId\n .replace(/^claude-/, '')\n .replace(/^gemini-/, 'Gemini ')\n .replace(/^gpt-/, 'GPT-')\n .replace(/-/g, ' ')\n .replace(/\\b\\w/g, (c) => c.toUpperCase()),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport {\n resetSettings,\n initializeSettings,\n} from '@shepai/core/infrastructure/services/settings.service';\nimport type { CompleteWebOnboardingUseCase } from '@shepai/core/application/use-cases/settings/complete-web-onboarding.use-case';\nimport type { AgentType } from '@shepai/core/domain/generated/output';\n\nexport async function updateAgentAndModel(\n agentType: string,\n model: string | null\n): Promise<{ ok: boolean; error?: string }> {\n if (!agentType.trim()) {\n return { ok: false, error: 'agent type is required' };\n }\n\n try {\n const useCase = resolve<CompleteWebOnboardingUseCase>('CompleteWebOnboardingUseCase');\n const updatedSettings = await useCase.execute({\n agentType: agentType.trim() as AgentType,\n model,\n });\n\n resetSettings();\n initializeSettings(updatedSettings);\n\n return { ok: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to update agent and model';\n return { ok: false, error: message };\n }\n}\n","import { execSync } from 'node:child_process';\n\nexport interface FolderDialogDeps {\n platform: NodeJS.Platform;\n exec: (cmd: string, opts?: { encoding: BufferEncoding; timeout?: number }) => string;\n}\n\nconst defaultDeps: FolderDialogDeps = {\n platform: process.platform,\n exec: (cmd, opts) => execSync(cmd, opts) as unknown as string,\n};\n\n/**\n * Platform-specific commands that open a native OS folder picker dialog.\n * Each returns the chosen absolute folder path on stdout, or exits non-zero / returns empty on cancel.\n */\nconst PLATFORM_COMMANDS: Record<string, string> = {\n darwin: `osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'`,\n linux: `zenity --file-selection --directory --title=\"Select a repository folder\" 2>/dev/null`,\n win32: `powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\"`,\n};\n\nexport class FolderDialogService {\n private deps: FolderDialogDeps;\n\n constructor(deps: Partial<FolderDialogDeps> = {}) {\n this.deps = { ...defaultDeps, ...deps };\n }\n\n /** Returns the OS-specific command string, or null if the platform is unsupported. */\n getCommand(): string | null {\n return PLATFORM_COMMANDS[this.deps.platform] ?? null;\n }\n\n /**\n * Opens a native folder picker dialog and returns the selected absolute path.\n * Returns `null` if the user cancels the dialog.\n * Throws if the platform is unsupported or the command fails unexpectedly.\n */\n pickFolder(): string | null {\n const command = this.getCommand();\n if (!command) {\n throw new Error(`Unsupported platform: ${this.deps.platform}`);\n }\n\n try {\n const result = this.deps.exec(command, { encoding: 'utf-8', timeout: 60_000 });\n const trimmed = result.trim();\n return trimmed.length > 0 ? trimmed : null;\n } catch (error: unknown) {\n // User cancelled the dialog — exit code 1 from osascript/zenity/powershell\n if (isExecError(error) && error.status === 1) {\n return null;\n }\n throw error;\n }\n }\n}\n\nfunction isExecError(error: unknown): error is { status: number } {\n return typeof error === 'object' && error !== null && 'status' in error;\n}\n","'use server';\n\nimport { FolderDialogService } from '@shepai/core/infrastructure/services/folder-dialog.service';\n\nexport async function pickFolder(): Promise<{ path: string | null; error?: string }> {\n const service = new FolderDialogService();\n\n try {\n const path = service.pickFolder();\n return { path };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder dialog';\n return { path: null, error: message };\n }\n}\n","/**\n * GitHub Repository Service Interface\n *\n * Output port for GitHub repository operations via the gh CLI.\n * Implementations manage authentication checks, repository cloning,\n * user repository listing, and GitHub URL parsing.\n */\n\n// ---------------------------------------------------------------------------\n// Error classes\n// ---------------------------------------------------------------------------\n\n/**\n * Thrown when the GitHub CLI is not authenticated.\n */\nexport class GitHubAuthError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubAuthError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when a `gh repo clone` operation fails.\n */\nexport class GitHubCloneError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubCloneError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when a GitHub URL cannot be parsed into owner/repo.\n */\nexport class GitHubUrlParseError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubUrlParseError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when listing the user's GitHub repositories fails.\n */\nexport class GitHubRepoListError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubRepoListError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when checking the viewer's permission on a repository fails.\n */\nexport class GitHubPermissionError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubPermissionError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n/**\n * Thrown when a fork operation fails.\n */\nexport class GitHubForkError extends Error {\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = 'GitHubForkError';\n Object.setPrototypeOf(this, new.target.prototype);\n if (cause) this.cause = cause;\n }\n}\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/**\n * A GitHub repository as returned by `gh repo list --json`.\n */\nexport interface GitHubRepo {\n /** Repository name (e.g. \"my-project\") */\n name: string;\n /** Full owner/repo identifier (e.g. \"octocat/my-project\") */\n nameWithOwner: string;\n /** Repository description (may be empty string) */\n description: string;\n /** Whether the repository is private */\n isPrivate: boolean;\n /** ISO 8601 timestamp of the most recent push */\n pushedAt: string;\n}\n\n/**\n * Options for listing user repositories.\n */\nexport interface ListUserRepositoriesOptions {\n /** Maximum number of repos to return (default: 30) */\n limit?: number;\n /** Filter repos by name substring */\n search?: string;\n /** Owner (user or organization) to list repos for. Omit for the authenticated user's repos. */\n owner?: string;\n}\n\n/**\n * A GitHub organization the authenticated user belongs to.\n */\nexport interface GitHubOrganization {\n /** Organization login handle (e.g. \"my-org\") */\n login: string;\n /** Organization description (may be empty string) */\n description: string;\n}\n\n/**\n * Options for cloning a repository.\n */\nexport interface CloneOptions {\n /** Callback invoked with stderr chunks during clone for progress display */\n onProgress?: (data: string) => void;\n}\n\n/**\n * Result of parsing a GitHub URL.\n */\nexport interface ParsedGitHubUrl {\n /** Repository owner (e.g. \"octocat\") */\n owner: string;\n /** Repository name (e.g. \"my-project\") */\n repo: string;\n /** Combined owner/repo (e.g. \"octocat/my-project\") */\n nameWithOwner: string;\n}\n\n/**\n * Options for forking a repository.\n */\nexport interface ForkOptions {\n onProgress?: (message: string) => void;\n}\n\n/**\n * Result of checking push access on a repository.\n */\nexport interface PushAccessResult {\n hasPushAccess: boolean;\n viewerLogin: string;\n}\n\n/**\n * Result of forking a repository.\n */\nexport interface ForkResult {\n nameWithOwner: string;\n alreadyExisted: boolean;\n}\n\n// ---------------------------------------------------------------------------\n// Service interface\n// ---------------------------------------------------------------------------\n\n/**\n * Output port for GitHub repository operations.\n *\n * Implementations use the `gh` CLI for all GitHub interactions.\n */\nexport interface IGitHubRepositoryService {\n /**\n * Verify that the GitHub CLI is authenticated.\n *\n * @throws {GitHubAuthError} if `gh auth status` indicates the user is not logged in\n */\n checkAuth(): Promise<void>;\n\n /**\n * Clone a GitHub repository to a local destination directory.\n *\n * @param nameWithOwner - Full owner/repo identifier (e.g. \"octocat/my-project\")\n * @param destination - Absolute path to clone into\n * @param options - Optional clone configuration (e.g. progress callback)\n * @throws {GitHubCloneError} if the clone subprocess fails\n */\n cloneRepository(\n nameWithOwner: string,\n destination: string,\n options?: CloneOptions\n ): Promise<void>;\n\n /**\n * List the authenticated user's GitHub repositories.\n *\n * When `options.owner` is provided, lists repositories for that user or organization instead.\n *\n * @param options - Optional filtering and pagination\n * @returns Array of GitHub repositories sorted by most recently pushed\n * @throws {GitHubRepoListError} if the list operation fails\n */\n listUserRepositories(options?: ListUserRepositoriesOptions): Promise<GitHubRepo[]>;\n\n /**\n * List organizations the authenticated user belongs to.\n *\n * @returns Array of GitHub organizations\n * @throws {GitHubRepoListError} if the list operation fails\n */\n listOrganizations(): Promise<GitHubOrganization[]>;\n\n /**\n * Parse a GitHub URL or shorthand into its owner/repo components.\n *\n * Supported formats:\n * - `https://github.com/owner/repo`\n * - `https://github.com/owner/repo.git`\n * - `git@github.com:owner/repo.git`\n * - `owner/repo` (shorthand)\n *\n * @param url - The GitHub URL or shorthand to parse\n * @returns Parsed owner, repo, and nameWithOwner\n * @throws {GitHubUrlParseError} if the URL does not match any supported format\n */\n parseGitHubUrl(url: string): ParsedGitHubUrl;\n\n /**\n * Get the authenticated user's permission level on a GitHub repository.\n *\n * Uses `gh repo view --json viewerPermission` with the given repo path\n * as the working directory.\n *\n * @param repoPath - Absolute path to a local clone of the repository\n * @returns The viewer's permission level: \"ADMIN\", \"MAINTAIN\", \"WRITE\", \"TRIAGE\", or \"READ\"\n * @throws {GitHubPermissionError} if the permission check fails (e.g. gh not installed, not authenticated)\n */\n getViewerPermission(repoPath: string): Promise<string>;\n\n /**\n * Get the authenticated GitHub user's login.\n * @returns The login username\n * @throws {GitHubAuthError} if not authenticated\n */\n getAuthenticatedUser(): Promise<string>;\n\n /**\n * Check if the authenticated user has push access to a repository.\n * @param nameWithOwner - Full owner/repo identifier\n * @returns Push access result with viewer login\n * @throws {GitHubPermissionError} on failure\n */\n checkPushAccess(nameWithOwner: string): Promise<PushAccessResult>;\n\n /**\n * Fork a repository to the authenticated user's account.\n * @param nameWithOwner - Full owner/repo identifier to fork\n * @param options - Optional progress callback\n * @returns Fork result with the fork's nameWithOwner\n * @throws {GitHubForkError} on failure\n */\n forkRepository(nameWithOwner: string, options?: ForkOptions): Promise<ForkResult>;\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListGitHubRepositoriesUseCase } from '@shepai/core/application/use-cases/repositories/list-github-repositories.use-case';\nimport type { GitHubRepo } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\nimport { GitHubAuthError } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\ninterface ListGitHubRepositoriesInput {\n search?: string;\n limit?: number;\n owner?: string;\n}\n\nexport async function listGitHubRepositories(\n input?: ListGitHubRepositoriesInput\n): Promise<{ repos?: GitHubRepo[]; error?: string }> {\n try {\n const useCase = resolve<ListGitHubRepositoriesUseCase>('ListGitHubRepositoriesUseCase');\n const repos = await useCase.execute(input);\n return { repos };\n } catch (error: unknown) {\n if (error instanceof GitHubAuthError) {\n return { error: 'GitHub CLI is not authenticated. Run `gh auth login` to sign in.' };\n }\n const message = error instanceof Error ? error.message : 'Failed to list repositories';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ListGitHubOrganizationsUseCase } from '@shepai/core/application/use-cases/repositories/list-github-organizations.use-case';\nimport type { GitHubOrganization } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\nimport { GitHubAuthError } from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\nexport async function listGitHubOrganizations(): Promise<{\n orgs?: GitHubOrganization[];\n error?: string;\n}> {\n try {\n const useCase = resolve<ListGitHubOrganizationsUseCase>('ListGitHubOrganizationsUseCase');\n const orgs = await useCase.execute();\n return { orgs };\n } catch (error: unknown) {\n if (error instanceof GitHubAuthError) {\n return { error: 'GitHub CLI is not authenticated. Run `gh auth login` to sign in.' };\n }\n const message = error instanceof Error ? error.message : 'Failed to list organizations';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ImportGitHubRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/import-github-repository.use-case';\nimport type { Repository } from '@shepai/core/domain/generated/output';\nimport {\n GitHubAuthError,\n GitHubUrlParseError,\n GitHubCloneError,\n} from '@shepai/core/application/ports/output/services/github-repository-service.interface';\n\ninterface ImportGitHubRepositoryInput {\n url: string;\n dest?: string;\n}\n\nexport async function importGitHubRepository(\n input: ImportGitHubRepositoryInput\n): Promise<{ repository?: Repository; forked?: boolean; error?: string }> {\n const { url, dest } = input;\n\n if (!url?.trim()) {\n return { error: 'GitHub URL is required' };\n }\n\n try {\n const useCase = resolve<ImportGitHubRepositoryUseCase>('ImportGitHubRepositoryUseCase');\n const repository = await useCase.execute({ url, dest });\n return { repository, forked: repository.isFork === true };\n } catch (error: unknown) {\n if (error instanceof GitHubAuthError) {\n return { error: 'GitHub CLI is not authenticated. Run `gh auth login` to sign in.' };\n }\n if (error instanceof GitHubUrlParseError) {\n return { error: `Invalid GitHub URL: ${error.message}` };\n }\n if (error instanceof GitHubCloneError) {\n return { error: `Clone failed: ${error.message}` };\n }\n const message = error instanceof Error ? error.message : 'Failed to import repository';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { createDeploymentLogger } from '@shepai/core/infrastructure/services/deployment/deployment-logger';\nimport type { StartFeatureDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-feature-deployment.use-case';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\nconst log = createDeploymentLogger('[deployFeature]');\n\nexport async function deployFeature(\n featureId: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n log.info(`called — featureId=\"${featureId}\"`);\n\n try {\n const useCase = resolve<StartFeatureDeploymentUseCase>('StartFeatureDeploymentUseCase');\n const status = await useCase.execute(featureId);\n log.info(`start succeeded — state=${status.state}`);\n return { success: true, state: status.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to deploy feature';\n log.error(`error: ${message}`, error);\n return { success: false, error: message };\n }\n}\n","/* eslint-disable no-console */\n\n/**\n * Debug-gated logger for deployment services.\n *\n * - `info` and `debug` only emit when `process.env.DEBUG` is set.\n * - `warn` and `error` always emit (they indicate real problems).\n */\n\nconst noop = () => undefined;\n\nexport function createDeploymentLogger(prefix: string) {\n const isDebug = !!process.env.DEBUG;\n\n return {\n info: isDebug ? (...args: unknown[]) => console.info(prefix, ...args) : noop,\n debug: isDebug ? (...args: unknown[]) => console.debug(prefix, ...args) : noop,\n warn: (...args: unknown[]) => console.warn(prefix, ...args),\n error: (...args: unknown[]) => console.error(prefix, ...args),\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport { createDeploymentLogger } from '@shepai/core/infrastructure/services/deployment/deployment-logger';\nimport type { StartRepositoryDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/start-repository-deployment.use-case';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\n\nconst log = createDeploymentLogger('[deployRepository]');\n\nexport async function deployRepository(\n repositoryPath: string\n): Promise<{ success: boolean; error?: string; state?: DeploymentState }> {\n log.info(`called — repositoryPath=\"${repositoryPath}\"`);\n\n try {\n const useCase = resolve<StartRepositoryDeploymentUseCase>('StartRepositoryDeploymentUseCase');\n const status = await useCase.execute(repositoryPath);\n log.info(`start succeeded — state=${status.state}`);\n return { success: true, state: status.state };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to deploy repository';\n log.error(`error: ${message}`, error);\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StopDeploymentUseCase } from '@shepai/core/application/use-cases/deployments/stop-deployment.use-case';\n\nexport async function stopDeployment(\n targetId: string\n): Promise<{ success: boolean; error?: string }> {\n try {\n const useCase = resolve<StopDeploymentUseCase>('StopDeploymentUseCase');\n await useCase.execute(targetId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to stop deployment';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetDeploymentStatusUseCase } from '@shepai/core/application/use-cases/deployments/get-deployment-status.use-case';\nimport type { DeploymentStatus } from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentStatus(targetId: string): Promise<DeploymentStatus | null> {\n const useCase = resolve<GetDeploymentStatusUseCase>('GetDeploymentStatusUseCase');\n return useCase.execute(targetId);\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type {\n IDeploymentService,\n LogEntry,\n} from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport async function getDeploymentLogs(targetId: string): Promise<LogEntry[] | null> {\n if (!targetId?.trim()) {\n return null;\n }\n\n const deploymentService = resolve<IDeploymentService>('IDeploymentService');\n return deploymentService.getLogs(targetId);\n}\n","'use server';\n\nimport { isAbsolute } from 'node:path';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { LaunchIdeUseCase } from '@shepai/core/application/use-cases/ide/launch-ide.use-case';\nimport { resolve } from '@/lib/server-container';\n\ninterface OpenIdeInput {\n repositoryPath: string;\n branch?: string;\n}\n\nexport async function openIde(\n input: OpenIdeInput\n): Promise<{ success: boolean; error?: string; editor?: string; path?: string }> {\n const { repositoryPath, branch } = input;\n\n if (!repositoryPath || !isAbsolute(repositoryPath)) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n const settings = getSettings();\n const editor = settings.environment.defaultEditor;\n\n const useCase = resolve<LaunchIdeUseCase>('LaunchIdeUseCase');\n const result = await useCase.execute({\n editorId: editor,\n repositoryPath,\n branch,\n checkAvailability: true,\n });\n\n if (!result.ok) {\n return { success: false, error: result.message };\n }\n\n return { success: true, editor: result.editorName, path: result.worktreePath };\n}\n","'use server';\n\nimport { existsSync } from 'node:fs';\nimport { platform } from 'node:os';\nimport { isAbsolute } from 'node:path';\nimport { spawn } from 'node:child_process';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\nimport { resolve } from '@/lib/server-container';\nimport type { IToolInstallerService } from '@shepai/core/application/ports/output/services/tool-installer.service';\n\n// Fallback commands for the \"system\" terminal when no tool metadata entry exists.\n// Uses a record lookup instead of if/else to prevent the bundler from\n// tree-shaking platform branches at build time. Turbopack evaluates\n// os.platform() during the build and dead-code-eliminates unused branches,\n// baking in the CI platform (linux) and breaking macOS/Windows installs.\nconst SYSTEM_TERMINAL_COMMANDS: Record<string, { cmd: string; args: (path: string) => string[] }> =\n {\n darwin: { cmd: 'open', args: (p) => ['-a', 'Terminal', p] },\n linux: { cmd: 'x-terminal-emulator', args: (p) => [`--working-directory=${p}`] },\n win32: {\n cmd: 'cmd.exe',\n args: (p) => ['/c', 'start', 'powershell', '-NoExit', '-Command', `Set-Location \"${p}\"`],\n },\n };\n\ninterface OpenShellInput {\n repositoryPath: string;\n branch?: string;\n}\n\nexport async function openShell(\n input: OpenShellInput\n): Promise<{ success: boolean; error?: string; path?: string; shell?: string }> {\n const { repositoryPath, branch } = input;\n\n if (!repositoryPath || !isAbsolute(repositoryPath)) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n try {\n const settings = getSettings();\n const shell = settings.environment.shellPreference;\n const terminalPref = settings.environment.terminalPreference ?? 'system';\n const targetPath = branch ? computeWorktreePath(repositoryPath, branch) : repositoryPath;\n\n if (!existsSync(targetPath)) {\n return { success: false, error: `Path does not exist: ${targetPath}` };\n }\n\n // Try to find the terminal in tool metadata via DI container.\n // Using DI (not a direct import from tool-metadata) ensures that\n // TOOL_METADATA is read from the correct tools/ directory path — it is loaded once\n // in the Node.js CLI bootstrap context where import.meta.url resolves correctly.\n // Direct imports of tool-metadata break in standalone production builds.\n if (terminalPref !== 'system') {\n try {\n const service = resolve<IToolInstallerService>('IToolInstallerService');\n const config = service.getTerminalOpenConfig(terminalPref);\n\n if (config?.openDirectory.includes('{dir}')) {\n const resolved = config.openDirectory.replace('{dir}', targetPath);\n\n if (config.shell) {\n const child = spawn(resolved, [], {\n detached: true,\n stdio: 'ignore',\n shell: true,\n });\n child.on('error', () => undefined);\n child.unref();\n } else {\n const [command, ...args] = resolved.split(/\\s+/);\n const child = spawn(command, args, {\n detached: true,\n stdio: 'ignore',\n });\n child.on('error', () => undefined);\n child.unref();\n }\n\n return { success: true, path: targetPath, shell };\n }\n } catch {\n // DI container not available — fall through to system terminal\n }\n }\n\n // Fallback to system terminal\n const entry = SYSTEM_TERMINAL_COMMANDS[platform()];\n if (!entry) {\n return {\n success: false,\n error: `Unsupported platform: ${platform()}`,\n };\n }\n\n const child = spawn(entry.cmd, entry.args(targetPath), {\n detached: true,\n stdio: 'ignore',\n });\n child.on('error', () => undefined); // Prevent uncaught exception on spawn failure\n child.unref();\n\n return { success: true, path: targetPath, shell };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open shell';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { existsSync } from 'node:fs';\nimport { platform } from 'node:os';\nimport { isAbsolute, normalize } from 'node:path';\nimport { spawn } from 'node:child_process';\n\n// Use a record lookup instead of if/else to prevent the bundler from\n// tree-shaking platform branches at build time. Turbopack evaluates\n// os.platform() during the build and dead-code-eliminates unused branches,\n// baking in the CI platform (linux) and breaking macOS/Windows installs.\nconst FOLDER_COMMANDS: Record<string, { cmd: string; args: (path: string) => string[] }> = {\n darwin: { cmd: 'open', args: (p) => [p] },\n linux: { cmd: 'xdg-open', args: (p) => [p] },\n win32: { cmd: 'explorer', args: (p) => [p] },\n};\n\nexport async function openFolder(\n repositoryPath: string\n): Promise<{ success: boolean; error?: string; path?: string }> {\n if (!repositoryPath || !isAbsolute(repositoryPath)) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n try {\n if (!existsSync(repositoryPath)) {\n return { success: false, error: 'Directory not found' };\n }\n\n const entry = FOLDER_COMMANDS[platform()];\n if (!entry) {\n return {\n success: false,\n error: `Unsupported platform: ${platform()}`,\n };\n }\n\n // Normalize to platform-native separators — explorer.exe on Windows\n // does not understand forward-slash paths and falls back to Documents.\n const nativePath = normalize(repositoryPath);\n\n const child = spawn(entry.cmd, entry.args(nativePath), {\n detached: true,\n stdio: 'ignore',\n });\n child.on('error', () => undefined); // Prevent uncaught exception on spawn failure\n child.unref();\n\n return { success: true, path: repositoryPath };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { SyncRepositoryMainUseCase } from '@shepai/core/application/use-cases/repositories/sync-repository-main.use-case';\n\nexport async function syncRepository(\n repositoryId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!repositoryId?.trim()) {\n return { success: false, error: 'Repository id is required' };\n }\n\n try {\n const useCase = resolve<SyncRepositoryMainUseCase>('SyncRepositoryMainUseCase');\n await useCase.execute(repositoryId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to sync repository';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\n\n/**\n * Check whether onboarding has been completed.\n * Delegates to the in-memory settings singleton (zero DB overhead).\n */\nexport async function isAgentSetupComplete(): Promise<boolean> {\n try {\n return getSettings().onboardingComplete;\n } catch {\n return false;\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CheckAgentAuthUseCase } from '@shepai/core/application/use-cases/agents/check-agent-auth.use-case';\n\n/**\n * Result shape for the agent auth checklist on the onboarding empty state.\n * Matches CheckAgentAuthResult from the use case 1:1 — kept locally so the\n * web type stays serializable through the Server Actions boundary.\n */\nexport interface AgentAuthStatus {\n agentType: string;\n /** Whether the CLI tool binary is installed */\n installed: boolean;\n /** Whether credentials / auth appear valid */\n authenticated: boolean;\n /** Human-readable label for the agent */\n label: string;\n /** CLI binary name (e.g. \"claude\", \"gemini\") */\n binaryName: string | null;\n /** Shell command to install the tool (e.g. \"npm install -g @anthropic-ai/claude-code\") */\n installCommand: string | null;\n /** Instructions to authenticate if not authenticated */\n authCommand: string | null;\n}\n\n/**\n * Thin server-action wrapper around CheckAgentAuthUseCase. All agent-type\n * mapping, tool lookup, and platform credential detection live in:\n *\n * packages/core/src/application/use-cases/agents/check-agent-auth.use-case.ts\n * packages/core/src/infrastructure/services/agent-auth-detector/platform-agent-auth-detector.service.ts\n */\nexport async function checkAgentAuth(): Promise<AgentAuthStatus> {\n const useCase = resolve<CheckAgentAuthUseCase>('CheckAgentAuthUseCase');\n return useCase.execute();\n}\n","'use server';\n\nimport { execFile } from 'node:child_process';\nimport { IS_WINDOWS } from '@shepai/core/infrastructure/platform';\nimport { resolve } from '@/lib/server-container';\nimport type { ListToolsUseCase } from '@shepai/core/application/use-cases/tools/list-tools.use-case';\n\nexport interface ToolStatusEntry {\n installed: boolean;\n version: string | null;\n /** Platform-specific install command from tool JSON metadata */\n installCommand: string | null;\n /** Documentation/website URL */\n installUrl: string | null;\n}\n\nexport interface ToolStatusResult {\n git: ToolStatusEntry;\n gh: ToolStatusEntry;\n}\n\nfunction getVersion(\n command: string,\n args: string[]\n): Promise<{ installed: boolean; version: string | null }> {\n return new Promise((resolve) => {\n try {\n const opts = IS_WINDOWS ? { timeout: 5000, windowsHide: true } : { timeout: 5000 };\n execFile(command, args, opts, (error, stdout) => {\n if (error) {\n resolve({ installed: false, version: null });\n return;\n }\n // Extract version number from output like \"git version 2.43.0\" or \"gh version 2.40.1\"\n const match = stdout.match(/(\\d+\\.\\d+(?:\\.\\d+)?)/);\n resolve({ installed: true, version: match?.[1] ?? null });\n });\n } catch {\n resolve({ installed: false, version: null });\n }\n });\n}\n\nexport async function checkToolStatus(): Promise<ToolStatusResult> {\n // Run version checks and tool metadata lookup in parallel\n const [gitVersion, ghVersion, tools] = await Promise.all([\n getVersion('git', ['--version']),\n getVersion('gh', ['--version']),\n (async () => {\n try {\n const useCase = resolve<ListToolsUseCase>('ListToolsUseCase');\n return await useCase.execute();\n } catch {\n return [];\n }\n })(),\n ]);\n\n const gitTool = tools.find((t) => t.id === 'git');\n const ghTool = tools.find((t) => t.id === 'gh');\n\n return {\n git: {\n ...gitVersion,\n installCommand: gitTool?.installCommand ?? null,\n installUrl: gitTool?.website ?? 'https://git-scm.com',\n },\n gh: {\n ...ghVersion,\n installCommand: ghTool?.installCommand ?? null,\n installUrl: ghTool?.website ?? 'https://cli.github.com',\n },\n };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateProjectUseCase } from '@shepai/core/application/use-cases/projects/create-project.use-case';\n\nexport interface CreateProjectFolderResult {\n ok: boolean;\n /** Absolute path to the created folder, normalized to forward slashes. */\n path?: string;\n error?: string;\n}\n\n/**\n * Thin server-action wrapper around CreateProjectUseCase. All slug rules,\n * existence checks, filesystem mutations, and git bootstrapping live in the\n * use case + IProjectScaffoldService adapter — see:\n *\n * packages/core/src/application/use-cases/projects/create-project.use-case.ts\n * packages/core/src/infrastructure/services/project-scaffold/fs-project-scaffold.service.ts\n */\nexport async function createProjectFolder(name: string): Promise<CreateProjectFolderResult> {\n const useCase = resolve<CreateProjectUseCase>('CreateProjectUseCase');\n const result = await useCase.execute({ name });\n if (!result.ok) {\n return { ok: false, error: result.error };\n }\n return { ok: true, path: result.path };\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ArchiveFeatureUseCase } from '@shepai/core/application/use-cases/features/archive-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function archiveFeature(\n featureId: string\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const archiveFeatureUseCase = resolve<ArchiveFeatureUseCase>('ArchiveFeatureUseCase');\n const feature = await archiveFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to archive feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteFeatureUseCase } from '@shepai/core/application/use-cases/features/delete-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function deleteFeature(\n featureId: string,\n cleanup?: boolean,\n cascadeDelete?: boolean,\n closePr?: boolean\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const deleteFeatureUseCase = resolve<DeleteFeatureUseCase>('DeleteFeatureUseCase');\n const options: { cleanup?: boolean; cascadeDelete?: boolean; closePr?: boolean } = {};\n if (cleanup !== undefined) options.cleanup = cleanup;\n if (cascadeDelete !== undefined) options.cascadeDelete = cascadeDelete;\n if (closePr !== undefined) options.closePr = closePr;\n const feature =\n Object.keys(options).length > 0\n ? await deleteFeatureUseCase.execute(featureId, options)\n : await deleteFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ResumeFeatureUseCase } from '@shepai/core/application/use-cases/features/resume-feature.use-case';\n\nexport async function resumeFeature(\n featureId: string\n): Promise<{ resumed: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { resumed: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<ResumeFeatureUseCase>('ResumeFeatureUseCase');\n await useCase.execute(featureId);\n return { resumed: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to resume feature';\n return { resumed: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StartFeatureUseCase } from '@shepai/core/application/use-cases/features/start-feature.use-case';\n\nexport async function startFeature(\n featureId: string\n): Promise<{ started: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { started: false, error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<StartFeatureUseCase>('StartFeatureUseCase');\n await useCase.execute(featureId);\n return { started: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to start feature';\n return { started: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { StopAgentRunUseCase } from '@shepai/core/application/use-cases/agents/stop-agent-run.use-case';\nimport type { IAgentRunRepository } from '@shepai/core/application/ports/output/agents/agent-run-repository.interface';\n\nexport async function stopFeature(\n featureId: string\n): Promise<{ stopped: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { stopped: false, error: 'Feature id is required' };\n }\n\n try {\n // Find the active agent run for this feature\n const runRepo = resolve<IAgentRunRepository>('IAgentRunRepository');\n const allRuns = await runRepo.list();\n const activeRun = allRuns.find(\n (r) =>\n r.featureId === featureId &&\n r.status !== 'completed' &&\n r.status !== 'failed' &&\n r.status !== 'interrupted' &&\n r.status !== 'cancelled'\n );\n\n if (!activeRun) {\n return { stopped: false, error: 'No active agent run found for this feature' };\n }\n\n const useCase = resolve<StopAgentRunUseCase>('StopAgentRunUseCase');\n const result = await useCase.execute(activeRun.id);\n\n if (!result.stopped) {\n return { stopped: false, error: result.reason };\n }\n return { stopped: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to stop agent';\n return { stopped: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { UnarchiveFeatureUseCase } from '@shepai/core/application/use-cases/features/unarchive-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function unarchiveFeature(\n featureId: string\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const unarchiveFeatureUseCase = resolve<UnarchiveFeatureUseCase>('UnarchiveFeatureUseCase');\n const feature = await unarchiveFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to unarchive feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { AddRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/add-repository.use-case';\nimport type { Repository } from '@shepai/core/domain/generated/output';\n\ninterface AddRepositoryInput {\n path: string;\n name?: string;\n}\n\nexport async function addRepository(\n input: AddRepositoryInput\n): Promise<{ repository?: Repository; error?: string }> {\n const { path, name } = input;\n\n if (!path?.trim()) {\n return { error: 'path is required' };\n }\n\n try {\n const addRepoUseCase = resolve<AddRepositoryUseCase>('AddRepositoryUseCase');\n const repository = await addRepoUseCase.execute({ path, name });\n return { repository };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add repository';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/delete-repository.use-case';\n\nexport interface DeleteRepositoryActionOptions {\n deleteFromDisk?: boolean;\n}\n\nexport async function deleteRepository(\n repositoryId: string,\n options?: DeleteRepositoryActionOptions\n): Promise<{ success: boolean; error?: string }> {\n if (!repositoryId?.trim()) {\n return { success: false, error: 'id is required' };\n }\n\n try {\n const useCase = resolve<DeleteRepositoryUseCase>('DeleteRepositoryUseCase');\n await useCase.execute(repositoryId, { deleteFromDisk: options?.deleteFromDisk === true });\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete repository';\n return { success: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\n/**\n * Lightweight server action to fetch a single feature's name and description.\n * Used by the SSE effect to update node metadata after AI metadata generation\n * without a full graph reconcile (which can overwrite SSE-driven state).\n */\nexport async function getFeatureMetadata(\n featureId: string\n): Promise<{ name: string; description: string } | null> {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n if (!feature) return null;\n return { name: feature.name, description: feature.description };\n}\n"],"names":["registerServerReference","ensureServerEntryExports","actions","i","length","action","Error"],"mappings":"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","ignoreList":[0,1]}
@@ -1,3 +0,0 @@
1
- module.exports=[28002,a=>{"use strict";let b=(0,a.i(25700).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],28002)},56957,a=>{"use strict";let b=(0,a.i(25700).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);a.s(["LayoutDashboard",()=>b],56957)},38019,a=>{"use strict";let b=(0,a.i(25700).default)("file-plus",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]);a.s(["FilePlus",()=>b],38019)},65298,a=>{"use strict";let b=(0,a.i(25700).default)("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);a.s(["FileEdit",()=>b],65298)},62147,a=>{"use strict";var b=a.i(42642);a.s(["FileText",()=>b.default])},45242,a=>{"use strict";var b=a.i(5e4);a.s(["PaperclipIcon",()=>b.default])},39116,a=>{"use strict";async function b(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}a.s(["pickFiles",()=>b])},21084,a=>{"use strict";let b=(0,a.i(25700).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);a.s(["Package",()=>b],21084)},9955,a=>{"use strict";var b=a.i(76096);a.s(["Download",()=>b.default])},44981,7421,44447,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>c],44981);let d=(0,b.default)("timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);a.s(["Timer",()=>d],7421);var e=a.i(40617);a.s(["Code",()=>e.default],44447)}];
2
-
3
- //# sourceMappingURL=_b7a43c05._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/refresh-cw.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/layout-dashboard.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-plus.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-pen.ts","../../../../../../../src/presentation/web/components/common/feature-create-drawer/pick-files.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/package.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/timer.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/activity.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8', key: 'v9h5vc' }],\n ['path', { d: 'M21 3v5h-5', key: '1q7to0' }],\n ['path', { d: 'M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16', key: '3uifl3' }],\n ['path', { d: 'M8 16H3v5', key: '1cv678' }],\n];\n\n/**\n * @component @name RefreshCw\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyAxMmE5IDkgMCAwIDEgOS05IDkuNzUgOS43NSAwIDAgMSA2Ljc0IDIuNzRMMjEgOCIgLz4KICA8cGF0aCBkPSJNMjEgM3Y1aC01IiAvPgogIDxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAwIDEtOSA5IDkuNzUgOS43NSAwIDAgMS02Ljc0LTIuNzRMMyAxNiIgLz4KICA8cGF0aCBkPSJNOCAxNkgzdjUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/refresh-cw\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst RefreshCw = createLucideIcon('refresh-cw', __iconNode);\n\nexport default RefreshCw;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '7', height: '9', x: '3', y: '3', rx: '1', key: '10lvy0' }],\n ['rect', { width: '7', height: '5', x: '14', y: '3', rx: '1', key: '16une8' }],\n ['rect', { width: '7', height: '9', x: '14', y: '12', rx: '1', key: '1hutg5' }],\n ['rect', { width: '7', height: '5', x: '3', y: '16', rx: '1', key: 'ldoo1y' }],\n];\n\n/**\n * @component @name LayoutDashboard\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI5IiB4PSIzIiB5PSIzIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB4PSIxNCIgeT0iMyIgcng9IjEiIC8+CiAgPHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iOSIgeD0iMTQiIHk9IjEyIiByeD0iMSIgLz4KICA8cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSI1IiB4PSIzIiB5PSIxNiIgcng9IjEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/layout-dashboard\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst LayoutDashboard = createLucideIcon('layout-dashboard', __iconNode);\n\nexport default LayoutDashboard;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n key: '1oefj6',\n },\n ],\n ['path', { d: 'M14 2v5a1 1 0 0 0 1 1h5', key: 'wfsgrz' }],\n ['path', { d: 'M9 15h6', key: 'cctwl0' }],\n ['path', { d: 'M12 18v-6', key: '17g6i2' }],\n];\n\n/**\n * @component @name FilePlus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNOSAxNWg2IiAvPgogIDxwYXRoIGQ9Ik0xMiAxOHYtNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-plus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FilePlus = createLucideIcon('file-plus', __iconNode);\n\nexport default FilePlus;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34',\n key: 'o6klzx',\n },\n ],\n ['path', { d: 'M14 2v5a1 1 0 0 0 1 1h5', key: 'wfsgrz' }],\n [\n 'path',\n {\n d: 'M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z',\n key: 'zhnas1',\n },\n ],\n];\n\n/**\n * @component @name FilePen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2OS4zNCIgLz4KICA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4KICA8cGF0aCBkPSJNMTAuMzc4IDEyLjYyMmExIDEgMCAwIDEgMyAzLjAwM0w4LjM2IDIwLjYzN2EyIDIgMCAwIDEtLjg1NC41MDZsLTIuODY3LjgzN2EuNS41IDAgMCAxLS42Mi0uNjJsLjgzNi0yLjg2OWEyIDIgMCAwIDEgLjUwNi0uODUzeiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/file-pen\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FilePen = createLucideIcon('file-pen', __iconNode);\n\nexport default FilePen;\n","import type { FileAttachment } from '@shepai/core/infrastructure/services/file-dialog.service';\n\n/**\n * Opens a native OS file picker dialog via API route.\n * Returns the selected files with metadata, or null if the user cancelled.\n */\nexport async function pickFiles(): Promise<FileAttachment[] | null> {\n const res = await fetch('/api/dialog/pick-files', { method: 'POST' });\n\n if (!res.ok) {\n throw new Error('Failed to open file dialog');\n }\n\n const data: { files: FileAttachment[] | null; cancelled: boolean } = await res.json();\n return data.cancelled ? null : data.files;\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z',\n key: '1a0edw',\n },\n ],\n ['path', { d: 'M12 22V12', key: 'd0xqtd' }],\n ['polyline', { points: '3.29 7 12 12 20.71 7', key: 'ousv84' }],\n ['path', { d: 'm7.5 4.27 9 5.15', key: '1c824w' }],\n];\n\n/**\n * @component @name Package\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTEgMjEuNzNhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M3oiIC8+CiAgPHBhdGggZD0iTTEyIDIyVjEyIiAvPgogIDxwb2x5bGluZSBwb2ludHM9IjMuMjkgNyAxMiAxMiAyMC43MSA3IiAvPgogIDxwYXRoIGQ9Im03LjUgNC4yNyA5IDUuMTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/package\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Package = createLucideIcon('package', __iconNode);\n\nexport default Package;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['line', { x1: '10', x2: '14', y1: '2', y2: '2', key: '14vaq8' }],\n ['line', { x1: '12', x2: '15', y1: '14', y2: '11', key: '17fdiu' }],\n ['circle', { cx: '12', cy: '14', r: '8', key: '1e1u0o' }],\n];\n\n/**\n * @component @name Timer\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTAiIHgyPSIxNCIgeTE9IjIiIHkyPSIyIiAvPgogIDxsaW5lIHgxPSIxMiIgeDI9IjE1IiB5MT0iMTQiIHkyPSIxMSIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE0IiByPSI4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/timer\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Timer = createLucideIcon('timer', __iconNode);\n\nexport default Timer;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2',\n key: '169zse',\n },\n ],\n];\n\n/**\n * @component @name Activity\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/activity\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Activity = createLucideIcon('activity', __iconNode);\n\nexport default Activity;\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,5,6,7]}
@@ -1,3 +0,0 @@
1
- module.exports=[28002,a=>{"use strict";let b=(0,a.i(25700).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],28002)},45242,a=>{"use strict";var b=a.i(5e4);a.s(["PaperclipIcon",()=>b.default])},62147,a=>{"use strict";var b=a.i(42642);a.s(["FileText",()=>b.default])},39116,a=>{"use strict";async function b(){let a=await fetch("/api/dialog/pick-files",{method:"POST"});if(!a.ok)throw Error("Failed to open file dialog");let b=await a.json();return b.cancelled?null:b.files}a.s(["pickFiles",()=>b])},14177,a=>{"use strict";let b=(0,a.i(25700).default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);a.s(["ChevronsUpDown",()=>b],14177)},96867,a=>{"use strict";var b=a.i(12656),c=a.i(96960),d=a.i(59653),e=a.i(6175),f=a.i(7420),g=a.i(17329),h=a.i(64005),i=a.i(74432),j=a.i(66873),k="Switch",[l,m]=(0,f.createContextScope)(k),[n,o]=l(k),p=c.forwardRef((a,f)=>{let{__scopeSwitch:h,name:i,checked:l,defaultChecked:m,required:o,disabled:p,value:q="on",onCheckedChange:r,form:u,...v}=a,[w,x]=c.useState(null),y=(0,e.useComposedRefs)(f,a=>x(a)),z=c.useRef(!1),A=!w||u||!!w.closest("form"),[B,C]=(0,g.useControllableState)({prop:l,defaultProp:m??!1,onChange:r,caller:k});return(0,b.jsxs)(n,{scope:h,checked:B,disabled:p,children:[(0,b.jsx)(j.Primitive.button,{type:"button",role:"switch","aria-checked":B,"aria-required":o,"data-state":t(B),"data-disabled":p?"":void 0,disabled:p,value:q,...v,ref:y,onClick:(0,d.composeEventHandlers)(a.onClick,a=>{C(a=>!a),A&&(z.current=a.isPropagationStopped(),z.current||a.stopPropagation())})}),A&&(0,b.jsx)(s,{control:w,bubbles:!z.current,name:i,value:q,checked:B,required:o,disabled:p,form:u,style:{transform:"translateX(-100%)"}})]})});p.displayName=k;var q="SwitchThumb",r=c.forwardRef((a,c)=>{let{__scopeSwitch:d,...e}=a,f=o(q,d);return(0,b.jsx)(j.Primitive.span,{"data-state":t(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:c})});r.displayName=q;var s=c.forwardRef(({__scopeSwitch:a,control:d,checked:f,bubbles:g=!0,...j},k)=>{let l=c.useRef(null),m=(0,e.useComposedRefs)(l,k),n=(0,h.usePrevious)(f),o=(0,i.useSize)(d);return c.useEffect(()=>{let a=l.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(n!==f&&b){let c=new Event("click",{bubbles:g});b.call(a,f),a.dispatchEvent(c)}},[n,f,g]),(0,b.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:f,...j,tabIndex:-1,ref:m,style:{...j.style,...o,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function t(a){return a?"checked":"unchecked"}s.displayName="SwitchBubbleInput",a.s(["Root",()=>p,"Switch",()=>p,"SwitchThumb",()=>r,"Thumb",()=>r,"createSwitchScope",()=>m],91918);var u=a.i(91918),u=u,v=a.i(85536);function w({className:a,size:c="default",...d}){return(0,b.jsx)(u.Root,{"data-slot":"switch","data-size":c,className:(0,v.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",a),...d,children:(0,b.jsx)(u.Thumb,{"data-slot":"switch-thumb",className:(0,v.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}a.s(["Switch",()=>w],96867)}];
2
-
3
- //# sourceMappingURL=_bb09579b._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[50490,5698,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>c],50490);let d=(0,b.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",()=>d],5698)},5623,a=>{"use strict";var b=a.i(12656),c=a.i(88064),d=a.i(82697),e=a.i(85536),f=a.i(18948),g=a.i(19884);function h({label:a,onClick:h,loading:i,error:j,icon:k,iconOnly:l=!1,variant:m="outline",size:n="sm"}){let o=(0,g.useSoundAction)("click");return(0,b.jsxs)(f.Button,{variant:m,size:n,"aria-label":a,disabled:i,onClick:()=>{o.play(),h()},className:(0,e.cn)("gap-1.5",j&&"text-destructive hover:text-destructive",!j&&l&&"ghost"===m&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[i?(0,b.jsx)(c.Loader2,{className:"size-4 animate-spin"}):j?(0,b.jsx)(d.CircleAlert,{className:"size-4"}):(0,b.jsx)(k,{className:"size-4"}),l?null:a]})}a.s(["ActionButton",()=>h])},66691,45751,a=>{"use strict";var b=a.i(12656),c=a.i(96960),d=a.i(25674);let e=(0,d.createServerReference)("40720e634aeecbec72d9d644ebf722128b6279342c",d.callServer,void 0,d.findSourceMapURL,"deployFeature"),f=(0,d.createServerReference)("408da094576a3f00e73b6d361ad80f2c04141e6bf4",d.callServer,void 0,d.findSourceMapURL,"deployRepository"),g=(0,d.createServerReference)("405bbcc5e5c8464800e93bb218098a1fbb3222c865",d.callServer,void 0,d.findSourceMapURL,"stopDeployment"),h=(0,d.createServerReference)("40da38a51f30e65e8bb84a2394227173893cce7069",d.callServer,void 0,d.findSourceMapURL,"getDeploymentStatus");var i=a.i(87139);let j={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class k{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(a){let b=new Set;for(let c of a)b.add(c.targetId),this.update(c.targetId,{status:c.state,url:c.url,targetType:c.targetType,hydrated:!0});for(let[a,c]of this.entries)!b.has(a)&&c.hydrated&&null!==c.status?this.update(a,{status:null,url:null}):b.has(a)||c.hydrated||this.update(a,{hydrated:!0})}getEntry(a){return this.entries.get(a)??j}update(a,b){let c={...this.entries.get(a)??j,...b};this.entries.set(a,c),this.notify(a)}setStatus(a,b){null===b?this.update(a,{status:null,url:null,hydrated:!0}):this.update(a,{status:b.state,url:b.url,hydrated:!0})}subscribe(a,b){let c=this.listeners.get(a);return c||(c=new Set,this.listeners.set(a,c)),c.add(b),()=>{c?.delete(b),c?.size===0&&this.listeners.delete(a)}}subscribeAll(a){return this.globalListeners.add(a),()=>{this.globalListeners.delete(a)}}notify(a){let b=this.listeners.get(a);if(b)for(let a of b)a();for(let a of this.globalListeners)a()}}a.s(["DeploymentStatusStore",()=>k,"EMPTY_ENTRY",0,j],45751);let l=(0,i.createLogger)("[DeploymentStatusProvider]"),m=new Set(["Booting","Ready"]),n=(0,c.createContext)(null);function o({initialDeployments:a,children:d}){let i=(0,c.useRef)(null);i.current||(i.current=new k,i.current.hydrate(a));let j=i.current;(0,c.useEffect)(()=>{j.hydrate(a)},[a,j]);let o=(0,c.useRef)(new Map),p=(0,c.useCallback)(a=>{let b=o.current.get(a);b&&(clearInterval(b),o.current.delete(a))},[]),q=(0,c.useCallback)(a=>{if(o.current.has(a))return;let b=setInterval(async()=>{let b;try{b=await h(a)}catch(b){l.warn(`poll failed for "${a}"`,b),j.setStatus(a,null),p(a);return}if(!b||"Stopped"===b.state){j.setStatus(a,null),p(a);return}j.setStatus(a,b)},3e3);o.current.set(a,b)},[j,p]);(0,c.useEffect)(()=>{let a=o.current,b=j.subscribeAll(()=>{for(let[b]of a){let a=j.getEntry(b);a.status&&m.has(a.status)||p(b)}});return()=>{for(let[,c]of(b(),a))clearInterval(c);a.clear()}},[j,p]);let r=(0,c.useCallback)(a=>{!a||j.getEntry(a).hydrated||(j.update(a,{hydrated:!0}),(async()=>{try{let b=await h(a);j.setStatus(a,b),b&&m.has(b.state)&&q(a)}catch(b){l.warn(`ensureHydrated failed for "${a}"`,b)}})())},[j,q]),s=(0,c.useCallback)(async a=>{j.update(a.targetId,{deployLoading:!0,deployError:null});try{let b="feature"===a.targetType?await e(a.targetId):await f(a.repositoryPath);if(!b.success)return void j.update(a.targetId,{deployLoading:!1,deployError:b.error??"An unexpected error occurred"});j.update(a.targetId,{deployLoading:!1,status:b.state??null,url:null,hydrated:!0,targetType:a.targetType}),q(a.targetId)}catch(c){let b=c instanceof Error?c.message:"An unexpected error occurred";j.update(a.targetId,{deployLoading:!1,deployError:b})}},[j,q]),t=(0,c.useCallback)(async a=>{if(a){j.update(a,{stopLoading:!0});try{(await g(a)).success?(p(a),j.update(a,{stopLoading:!1,status:null,url:null})):j.update(a,{stopLoading:!1})}catch(b){l.warn("stop error (non-critical)",b),j.update(a,{stopLoading:!1})}}},[j,p]),u=(0,c.useMemo)(()=>({store:j,deploy:s,stop:t,ensureHydrated:r}),[j,s,t,r]);return(0,b.jsx)(n.Provider,{value:u,children:d})}function p(){let a=(0,c.useContext)(n);if(!a)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return a}function q(){let a=(0,c.useContext)(n);return a||r}let r={store:new k,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};a.s(["DeploymentStatusProvider",()=>o,"useDeploymentStatusContext",()=>p,"useDeploymentStatusContextOptional",()=>q],66691)},18662,a=>{"use strict";var b=a.i(96960),c=a.i(66691);function d(){}function e(a){let{store:e,deploy:f,stop:g,ensureHydrated:h}=(0,c.useDeploymentStatusContextOptional)(),i=a?.targetId??"",j=(0,b.useCallback)(a=>i?e.subscribe(i,a):d,[e,i]),k=(0,b.useCallback)(()=>i?e.getEntry(i):e.getEntry(""),[e,i]),l=(0,b.useSyncExternalStore)(j,k,k);return(0,b.useEffect)(()=>{i&&h(i)},[i,h]),{deploy:(0,b.useCallback)(async()=>{a&&await f(a)},[f,a]),stop:(0,b.useCallback)(async()=>{i&&await g(i)},[g,i]),deployLoading:l.deployLoading,stopLoading:l.stopLoading,deployError:l.deployError,status:l.status,url:l.url}}a.s(["useDeployAction",()=>e])},69029,85080,49235,2824,a=>{"use strict";let b;a.i(5623),a.s([],69029);var c=a.i(12656),d=a.i(96960),e=a.i(88064),f=a.i(71238),g=a.i(63698),h=a.i(46847),i=a.i(82934),j=a.i(45670),k=a.i(25674);let l=(0,k.createServerReference)("40b882c87126807b92d0d39c70d620df944e10576b",k.callServer,void 0,k.findSourceMapURL,"getDeploymentLogs");function m({open:a,onOpenChange:b,targetId:e}){let{logs:f,isConnected:g}=function(a){let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useRef)(null),h=(0,d.useCallback)(()=>{g.current&&(g.current.close(),g.current=null),f(!1)},[]);return(0,d.useEffect)(()=>{if(!a){c([]),f(!1);return}l(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return g.current=b,b.onopen=()=>{f(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{f(!1)},()=>{b.close(),g.current=null}},[a,h]),{logs:b,isConnected:e}}(a?e:null);return(0,c.jsx)(n,{open:a,onOpenChange:b,logs:f,isConnected:g})}function n({open:a,onOpenChange:b,logs:e,isConnected:f}){let h=(0,d.useRef)(null),i=(0,d.useRef)(!0),k=(0,d.useCallback)(()=>{let a=h.current;a&&(i.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,d.useEffect)(()=>{i.current&&h.current&&(h.current.scrollTop=h.current.scrollHeight)},[e]),(0,c.jsx)(j.Dialog,{open:a,onOpenChange:b,children:(0,c.jsxs)(j.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,c.jsxs)(j.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(g.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,c.jsx)(j.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,c.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,c.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${f?"bg-green-500":"bg-zinc-500"}`}),(0,c.jsx)("span",{className:"text-xs text-zinc-400",children:f?"Connected":"Disconnected"})]})]}),(0,c.jsxs)("div",{ref:h,onScroll:k,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===e.length?(0,c.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):e.map(a=>(0,c.jsx)(o,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!f&&e.length>0&&(0,c.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function o({entry:a}){return(0,c.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,c.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}let p="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function q({status:a,url:b,targetId:j}){let[k,l]=(0,d.useState)(!1),n=j&&(a===h.DeploymentState.Booting||a===h.DeploymentState.Ready);switch(a){case h.DeploymentState.Booting:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,c.jsx)(e.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,c.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),n?(0,c.jsx)(i.TooltipProvider,{delayDuration:300,children:(0,c.jsxs)(i.Tooltip,{children:[(0,c.jsx)(i.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:p,onClick:a=>{a.stopPropagation(),l(!0)},children:(0,c.jsx)(g.Terminal,{className:"size-3.5"})})}),(0,c.jsx)(i.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),n?(0,c.jsx)(m,{open:k,onOpenChange:l,targetId:j}):null]});case h.DeploymentState.Ready:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,c.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),b?(0,c.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:a=>a.stopPropagation(),children:[b,(0,c.jsx)(f.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,c.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),n?(0,c.jsx)(i.TooltipProvider,{delayDuration:300,children:(0,c.jsxs)(i.Tooltip,{children:[(0,c.jsx)(i.TooltipTrigger,{asChild:!0,children:(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:p,onClick:a=>{a.stopPropagation(),l(!0)},children:(0,c.jsx)(g.Terminal,{className:"size-3.5"})})}),(0,c.jsx)(i.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),n?(0,c.jsx)(m,{open:k,onOpenChange:l,targetId:j}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>q],85080),a.s([],49235);var r=a.i(10568),s=a.i(40093);let t=d.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),u=()=>{let a=d.default.useContext(t);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function v(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function w(){return x(/^iPhone/)||x(/^iPad/)||x(/^Mac/)&&navigator.maxTouchPoints>1}function x(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let y=d.useEffect;"u">typeof document&&window.visualViewport;let z=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),A=0;function B(...a){return d.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let C=new WeakMap;function D(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||C.set(a,d)}let E=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function F(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[E(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[E(b)?5:4]):null}function G(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let H=[.32,.72,0,1],I="vaul-dragging";function J(a){let b=d.default.useRef(a);return d.default.useEffect(()=>{b.current=a}),d.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function K({prop:a,defaultProp:b,onChange:c=()=>{}}){let[e,f]=function({defaultProp:a,onChange:b}){let c=d.default.useState(a),[e]=c,f=d.default.useRef(e),g=J(b);return d.default.useEffect(()=>{f.current!==e&&(g(e),f.current=e)},[e,f,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:e,i=J(c);return[h,d.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else f(b)},[g,a,f,i])]}let L=()=>()=>{},M=null;function N({open:a,onOpenChange:c,children:e,onDrag:f,onRelease:g,snapPoints:h,shouldScaleBackground:i=!1,setBackgroundColorOnScale:j=!0,closeThreshold:k=.25,scrollLockTimeout:l=100,dismissible:m=!0,handleOnly:n=!1,fadeFromIndex:o=h&&h.length-1,activeSnapPoint:p,setActiveSnapPoint:q,fixed:r,modal:u=!0,onClose:x,nested:B,noBodyStyles:G=!1,direction:J="bottom",defaultOpen:L=!1,disablePreventScroll:N=!0,snapToSequentialPoint:O=!1,preventScrollRestoration:P=!1,repositionInputs:Q=!0,onAnimationEnd:R,container:S,autoFocus:T=!1}){var U,V;let[W=!1,X]=K({defaultProp:L,prop:a,onChange:a=>{null==c||c(a),a||B||aA(),setTimeout(()=>{null==R||R(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=d.default.useState(!1),[$,_]=d.default.useState(!1),[aa,ab]=d.default.useState(!1),ac=d.default.useRef(null),ad=d.default.useRef(null),ae=d.default.useRef(null),af=d.default.useRef(null),ag=d.default.useRef(null),ah=d.default.useRef(!1),ai=d.default.useRef(null),aj=d.default.useRef(0),ak=d.default.useRef(!1),al=d.default.useRef(!L),am=d.default.useRef(0),an=d.default.useRef(null),ao=d.default.useRef((null==(U=an.current)?void 0:U.getBoundingClientRect().height)||0),ap=d.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=d.default.useRef(0),ar=d.default.useCallback(a=>{h&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:e,overlayRef:f,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=K({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=d.default.useState(void 0);d.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=d.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),q=d.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),r=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,s=d.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),E(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),t=d.default.useMemo(()=>null!==q?null==s?void 0:s[q]:null,[s,q]),u=d.default.useCallback(a=>{var b;let d=null!=(b=null==s?void 0:s.findIndex(b=>b===a))?b:null;h(d),D(e.current,{transition:`transform 0.5s cubic-bezier(${H.join(",")})`,transform:E(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),s&&d!==s.length-1&&void 0!==g&&d!==g&&d<g?D(f.current,{transition:`opacity 0.5s cubic-bezier(${H.join(",")})`,opacity:"0"}):D(f.current,{transition:`opacity 0.5s cubic-bezier(${H.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(d,0)])},[e.current,c,s,g,f,m]);return d.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;s&&-1!==d&&"number"==typeof s[d]&&u(s[d])}},[l,a,c,s,u]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:r,getPercentageDragged:function(a,b){if(!c||"number"!=typeof q||!s||void 0===g)return null;let d=q===g-1;if(q>=g&&b)return 0;if(d&&!b)return 1;if(!r&&!d)return null;let e=d?q+1:q-1,f=a/Math.abs(d?s[e]-s[e-1]:s[e+1]-s[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:q,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:e}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=t?t:0)-a:(null!=t?t:0)+a,j=q===g-1,l=0===q,m=a>0;if(j&&D(f.current,{transition:`opacity 0.5s cubic-bezier(${H.join(",")})`}),!k&&d>2&&!m)return void(e?b():u(s[0]));if(!k&&d>2&&m&&s&&c)return void u(s[c.length-1]);let n=null==s?void 0:s.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=E(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void u(s[c.length-1]):void(l&&a<0&&e&&b(),null===q||u(s[q+a]))}u(n)},onDrag:function({draggedDistance:a}){if(null===t)return;let b="bottom"===i||"right"===i?t-a:t+a;("bottom"===i||"right"===i)&&b<s[s.length-1]||("top"===i||"left"===i)&&b>s[s.length-1]||D(e.current,{transform:E(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:s}}({snapPoints:h,activeSnapPointProp:p,setActiveSnapPointProp:q,drawerRef:an,fadeFromIndex:o,overlayRef:ac,onSnapPointChange:ar,direction:J,container:S,snapToSequentialPoint:O});!function(a={}){let{isDisabled:c}=a;y(()=>{if(!c)return 1==++A&&w(),()=>{0==--A&&(null==b||b())}},[c])}({isDisabled:!W||$||!u||aa||!Y||!Q||!N});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:e,preventScrollRestoration:f,noBodyStyles:g}){let[h,i]=d.default.useState(()=>""),j=d.default.useRef(0),k=d.default.useCallback(()=>{if(v()&&null===M&&a&&!g){M={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-j.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&j.current>=b&&(document.body.style.top=`${-(j.current+a)}px`)}),300)}},[a]),l=d.default.useCallback(()=>{if(v()&&null!==M&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,M),window.requestAnimationFrame(()=>{f&&h!==window.location.href?i(window.location.href):window.scrollTo(b,a)}),M=null}},[h]);return d.default.useEffect(()=>{function a(){j.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),d.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||l()}},[b,l]),d.default.useEffect(()=>{!c&&e&&(a?(window.matchMedia("(display-mode: standalone)").matches||k(),b||window.setTimeout(()=>{l()},500)):l())},[a,e,h,b,c,k,l]),{restorePositionSetting:l}}({isOpen:W,modal:u,nested:null!=B&&B,hasBeenOpened:Y,preventScrollRestoration:P,noBodyStyles:G});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?F(an.current,J):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===J||"left"===J)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===J?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<l&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(I),ah.current=!1,_(!1),af.current=new Date),null==x||x(),a||X(!1),setTimeout(()=>{h&&au(h[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=F(an.current,J);D(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${H.join(",")})`}),D(ac.current,{transition:`opacity 0.5s cubic-bezier(${H.join(",")})`,opacity:"1"}),i&&b&&b>0&&W&&D(a,{borderRadius:"8px",overflow:"hidden",...E(J)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${H.join(",")})`},!0)}return d.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),d.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&Q&&((a=document.activeElement)instanceof HTMLInputElement&&!z.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),h&&h.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),r?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;h&&h.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,h,aw]),d.default.useEffect(()=>(W&&(D(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=C.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),d.default.useEffect(()=>{u||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[u]),d.default.createElement(s.Root,{defaultOpen:L,onOpenChange:a=>{(m||a)&&(a?Z(!0):aD(!0),X(a))},open:W},d.default.createElement(t.Provider,{value:{activeSnapPoint:as,snapPoints:h,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!m&&!h||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,w(),a.target.setPointerCapture(a.pointerId),aj.current=E(J)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(I),ah.current=!1,_(!1),af.current=new Date;let d=F(an.current,J);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(E(J)?a.pageY:a.pageX),i=Math.abs(f)/e;if(i>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),h){av({draggedDistance:f*("bottom"===J||"right"===J?1:-1),closeDrawer:aD,velocity:i,dismissible:m}),null==g||g(a,!0);return}if("bottom"===J||"right"===J?f>0:f<0){aE(),null==g||g(a,!0);return}if(i>.4){aD(),null==g||g(a,!1);return}let j=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),l=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===J||"right"===J?l:j)*k){aD(),null==g||g(a,!1);return}null==g||g(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===J||"right"===J?1:-1,c=(aj.current-(E(J)?a.pageY:a.pageX))*b,d=c>0,e=h&&!m&&!d;if(e&&0===at)return;let g=Math.abs(c),j=document.querySelector("[data-vaul-drawer-wrapper]"),k=g/("bottom"===J||"top"===J?ao.current:ap.current),l=az(g,d);if(null!==l&&(k=l),e&&k>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(I),ah.current=!0,D(an.current,{transition:"none"}),D(ac.current,{transition:"none"}),h&&ax({draggedDistance:c}),d&&!h){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;D(an.current,{transform:E(J)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let n=1-k;if((ay||o&&at===o-1)&&(null==f||f(a,k),D(ac.current,{opacity:`${n}`,transition:"none"},!0)),j&&ac.current&&i){let a=Math.min(aB()+k*(1-aB()),1),b=8-8*k,c=Math.max(0,14-14*k);D(j,{borderRadius:`${b}px`,transform:E(J)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!h){let a=g*b;D(an.current,{transform:E(J)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:m,shouldAnimate:al,handleOnly:n,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;D(an.current,{transform:E(J)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),D(an.current,{transition:`transform 0.5s cubic-bezier(${H.join(",")})`,transform:E(J)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=F(an.current,J);D(an.current,{transition:"none",transform:E(J)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=E(J)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&D(an.current,{transition:`transform 0.5s cubic-bezier(${H.join(",")})`,transform:E(J)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:u,snapPointsOffset:aw,activeSnapPointIndex:at,direction:J,shouldScaleBackground:i,setBackgroundColorOnScale:j,noBodyStyles:G,container:S,autoFocus:T}},e))}let O=d.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:e,onRelease:f,shouldFade:g,isOpen:h,modal:i,shouldAnimate:j}=u(),k=B(b,c),l=e&&e.length>0;if(!i)return null;let m=d.default.useCallback(a=>f(a),[f]);return d.default.createElement(s.Overlay,{onMouseUp:m,ref:k,"data-vaul-overlay":"","data-vaul-snap-points":h&&l?"true":"false","data-vaul-snap-points-overlay":h&&g?"true":"false","data-vaul-animate":(null==j?void 0:j.current)?"true":"false",...a})});O.displayName="Drawer.Overlay";let P=d.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...e},f){let{drawerRef:g,onPress:h,onRelease:i,onDrag:j,keyboardIsOpen:k,snapPointsOffset:l,activeSnapPointIndex:m,modal:n,isOpen:o,direction:p,snapPoints:q,container:r,handleOnly:t,shouldAnimate:v,autoFocus:w}=u(),[x,y]=d.default.useState(!1),z=B(f,g),A=d.default.useRef(null),C=d.default.useRef(null),D=d.default.useRef(!1),F=q&&q.length>0;function I(a){A.current=null,D.current=!1,i(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:e,noBodyStyles:f}=u(),g=d.default.useRef(null),h=(0,d.useMemo)(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-26)/window.innerWidth}d.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(e&&!f?G(document.body,{background:"black"}):L,G(b,{transformOrigin:E(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${H.join(",")})`}));let c=G(b,{borderRadius:"8px",overflow:"hidden",...E(a)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{h?document.body.style.background=h:document.body.style.removeProperty("background")},500)}}},[b,c,h])}(),d.default.useEffect(()=>{F&&window.requestAnimationFrame(()=>{y(!0)})},[]),d.default.createElement(s.Content,{"data-vaul-drawer-direction":p,"data-vaul-drawer":"","data-vaul-delayed-snap-points":x?"true":"false","data-vaul-snap-points":o&&F?"true":"false","data-vaul-custom-container":r?"true":"false","data-vaul-animate":(null==v?void 0:v.current)?"true":"false",...e,ref:z,style:l&&l.length>0?{"--snap-point-height":`${l[null!=m?m:0]}px`,...b}:b,onPointerDown:a=>{t||(null==e.onPointerDown||e.onPointerDown.call(e,a),A.current={x:a.pageX,y:a.pageY},h(a))},onOpenAutoFocus:a=>{null==c||c(a),w||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!n||b.defaultPrevented)?b.preventDefault():k.current&&(k.current=!1)},onFocusOutside:a=>{if(!n)return void a.preventDefault()},onPointerMove:a=>{if(C.current=a,t||(null==e.onPointerMove||e.onPointerMove.call(e,a),!A.current))return;let b=a.pageY-A.current.y,c=a.pageX-A.current.x,d="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(D.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return D.current=!0,!0})({x:c,y:b},p,d)?j(a):(Math.abs(c)>d||Math.abs(b)>d)&&(A.current=null)},onPointerUp:a=>{null==e.onPointerUp||e.onPointerUp.call(e,a),A.current=null,D.current=!1,i(a)},onPointerOut:a=>{null==e.onPointerOut||e.onPointerOut.call(e,a),I(C.current)},onContextMenu:a=>{null==e.onContextMenu||e.onContextMenu.call(e,a),C.current&&I(C.current)}})});P.displayName="Drawer.Content";let Q=d.default.forwardRef(function({preventCycle:a=!1,children:b,...c},e){let{closeDrawer:f,isDragging:g,snapPoints:h,activeSnapPoint:i,setActiveSnapPoint:j,dismissible:k,handleOnly:l,isOpen:m,onPress:n,onDrag:o}=u(),p=d.default.useRef(null),q=d.default.useRef(!1);function r(){p.current&&window.clearTimeout(p.current),q.current=!1}return d.default.createElement("div",{onClick:function(){q.current?r():window.setTimeout(()=>{!function(){if(g||a||q.current)return r();if(r(),!h||0===h.length){k||f();return}if(i===h[h.length-1]&&k)return f();let b=h.findIndex(a=>a===i);-1===b||j(h[b+1])}()},120)},onPointerCancel:r,onPointerDown:a=>{l&&n(a),p.current=window.setTimeout(()=>{q.current=!0},250)},onPointerMove:a=>{l&&o(a)},ref:e,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},d.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});Q.displayName="Drawer.Handle";let R={Root:N,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...e}){let{onNestedDrag:f,onNestedOpenChange:g,onNestedRelease:h}=u();if(!f)throw Error("Drawer.NestedRoot must be placed in another drawer");return d.default.createElement(N,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{f(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:h,...e})},Content:P,Overlay:O,Trigger:s.Trigger,Portal:function(a){let b=u(),{container:c=b.container,...e}=a;return d.default.createElement(s.Portal,{container:c,...e})},Handle:Q,Close:s.Close,Title:s.Title,Description:s.Description};var S=a.i(85536);function T({...a}){return(0,c.jsx)(R.Root,{"data-slot":"drawer",...a})}function U({...a}){return(0,c.jsx)(R.Portal,{"data-slot":"drawer-portal",...a})}function V({className:a,...b}){return(0,c.jsx)(R.Overlay,{"data-slot":"drawer-overlay",className:(0,S.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function W({className:a,children:b,direction:d="bottom",showCloseButton:e=!0,...f}){return(0,c.jsx)(U,{children:(0,c.jsxs)(R.Content,{"data-slot":"drawer-content",className:(0,S.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===d&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===d&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===d&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===d&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...f.style??{}},...f,children:[b,e?(0,c.jsxs)(R.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,c.jsx)(r.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function X({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,S.cn)("flex flex-col gap-1.5 p-4",a),...b})}function Y({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,S.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function Z({className:a,...b}){return(0,c.jsx)(R.Title,{"data-slot":"drawer-title",className:(0,S.cn)("text-foreground font-semibold",a),...b})}function $({className:a,...b}){return(0,c.jsx)(R.Description,{"data-slot":"drawer-description",className:(0,S.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>T,"DrawerContent",()=>W,"DrawerDescription",()=>$,"DrawerFooter",()=>Y,"DrawerHeader",()=>X,"DrawerOverlay",()=>V,"DrawerTitle",()=>Z],2824)},24255,a=>{"use strict";var b=a.i(12656),c=a.i(96960),d=a.i(10568),e=a.i(50490),f=a.i(5698),g=a.i(42261),h=a.i(85536);a.i(69029);var i=a.i(5623);a.i(49235);var j=a.i(85080),k=a.i(2824),l=a.i(13126),m=a.i(82934);a.i(90370);var n=a.i(24640),o=a.i(18662),p=a.i(21333);let q=(0,g.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function r({open:a,onClose:e,modal:f=!1,dismissOnOutsideClick:g=!1,title:i="Drawer",size:j,header:m,children:o,footer:r,className:t,"data-testid":u,deployTarget:v}){let{i18n:w}=(0,n.useTranslation)(),x=(0,p.useFeatureFlags)(),y=(0,c.useRef)(null),z="rtl"===w.dir()?"left":"right";return(0,c.useEffect)(()=>{if(!a||f)return;let b=a=>{let b=a.target;!document.body.contains(b)||y.current?.contains(b)||b.closest(g?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||e()};return document.addEventListener("click",b),()=>document.removeEventListener("click",b)},[a,f,e,g]),(0,b.jsxs)(k.Drawer,{direction:z,modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||e()},children:[f?(0,b.jsx)(k.DrawerOverlay,{}):null,(0,b.jsxs)(k.DrawerContent,{ref:y,direction:z,showCloseButton:!1,className:(0,h.cn)(q({size:j}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",t),"data-testid":u,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,b.jsx)(k.DrawerTitle,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsx)(k.DrawerDescription,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsxs)("button",{type:"button","aria-label":"Close",onClick:e,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":u?`${u}-close-button`:void 0,children:[(0,b.jsx)(d.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}),m?(0,b.jsx)(k.DrawerHeader,{className:"shrink-0",children:m}):null,m?(0,b.jsx)(l.Separator,{}):null,x.envDeploy&&v?(0,b.jsx)(s,{deployTarget:v}):null,(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:o}),r?(0,b.jsx)(k.DrawerFooter,{className:"shrink-0",children:r}):null]})]})}function s({deployTarget:a}){let c=(0,o.useDeployAction)(a),d="Booting"===c.status||"Ready"===c.status;return(0,b.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,b.jsx)(m.TooltipProvider,{children:(0,b.jsxs)(m.Tooltip,{children:[(0,b.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(i.ActionButton,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?c.stop:c.deploy,loading:c.deployLoading||c.stopLoading,error:!!c.deployError,icon:d?f.Square:e.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,b.jsx)(m.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,b.jsx)(j.DeploymentStatusBadge,{status:c.status,url:c.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>r])}];
2
-
3
- //# sourceMappingURL=_bcd239dd._.js.map