@shepai/cli 1.183.0-pr554.2632d62 → 1.183.0-pr555.262baa8

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 (1211) hide show
  1. package/apis/json-schema/Application.yaml +0 -22
  2. package/apis/json-schema/Feature.yaml +3 -0
  3. package/apis/json-schema/NotificationEventConfig.yaml +0 -4
  4. package/apis/json-schema/NotificationEventType.yaml +0 -1
  5. package/apis/json-schema/Plugin.yaml +86 -0
  6. package/apis/json-schema/PluginHealthStatus.yaml +9 -0
  7. package/apis/json-schema/PluginTransport.yaml +7 -0
  8. package/apis/json-schema/PluginType.yaml +8 -0
  9. package/apis/json-schema/RecordBoolean.yaml +6 -0
  10. package/apis/json-schema/ToolGroup.yaml +18 -0
  11. package/dist/eslint.config.mjs +0 -19
  12. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts +7 -0
  13. package/dist/packages/core/src/application/ports/output/agents/agent-executor.interface.d.ts.map +1 -1
  14. package/dist/packages/core/src/application/ports/output/agents/index.d.ts +0 -1
  15. package/dist/packages/core/src/application/ports/output/agents/index.d.ts.map +1 -1
  16. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts +1 -1
  17. package/dist/packages/core/src/application/ports/output/repositories/application-repository.interface.d.ts.map +1 -1
  18. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +1 -0
  19. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  20. package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.d.ts +60 -0
  21. package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.d.ts.map +1 -0
  22. package/dist/packages/core/src/application/ports/output/repositories/plugin-repository.interface.js +11 -0
  23. package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -5
  24. package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
  25. package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.d.ts +66 -0
  26. package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.d.ts.map +1 -0
  27. package/dist/packages/core/src/application/ports/output/services/mcp-server-manager.interface.js +12 -0
  28. package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.d.ts +49 -0
  29. package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.d.ts.map +1 -0
  30. package/dist/packages/core/src/application/ports/output/services/plugin-health-checker.interface.js +12 -0
  31. package/dist/packages/core/src/application/services/agents/agent-session-repository.registry.d.ts +24 -0
  32. package/dist/packages/core/src/application/services/agents/agent-session-repository.registry.d.ts.map +1 -0
  33. package/dist/packages/core/src/{infrastructure → application}/services/agents/agent-session-repository.registry.js +5 -10
  34. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts +1 -5
  35. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.d.ts.map +1 -1
  36. package/dist/packages/core/src/application/use-cases/agents/approve-agent-run.use-case.js +6 -10
  37. package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.d.ts +1 -3
  38. package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.d.ts.map +1 -1
  39. package/dist/packages/core/src/application/use-cases/agents/check-agent-auth.use-case.js +4 -10
  40. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts +2 -4
  41. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.d.ts.map +1 -1
  42. package/dist/packages/core/src/application/use-cases/agents/get-agent-session.use-case.js +8 -15
  43. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts +2 -4
  44. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.d.ts.map +1 -1
  45. package/dist/packages/core/src/application/use-cases/agents/list-agent-sessions.use-case.js +8 -15
  46. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts +1 -7
  47. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.d.ts.map +1 -1
  48. package/dist/packages/core/src/application/use-cases/agents/reject-agent-run.use-case.js +8 -15
  49. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts +1 -3
  50. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.d.ts.map +1 -1
  51. package/dist/packages/core/src/application/use-cases/agents/stop-agent-run.use-case.js +5 -7
  52. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts +1 -3
  53. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -1
  54. package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +7 -12
  55. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.d.ts.map +1 -1
  56. package/dist/packages/core/src/application/use-cases/applications/delete-application.use-case.js +1 -2
  57. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.d.ts.map +1 -1
  58. package/dist/packages/core/src/application/use-cases/applications/list-applications.use-case.js +1 -2
  59. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.d.ts.map +1 -1
  60. package/dist/packages/core/src/application/use-cases/applications/resume-application-workflow.use-case.js +2 -3
  61. package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts +1 -3
  62. package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.d.ts.map +1 -1
  63. package/dist/packages/core/src/application/use-cases/deployments/start-feature-deployment.use-case.js +4 -7
  64. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.d.ts +1 -3
  65. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.d.ts.map +1 -1
  66. package/dist/packages/core/src/application/use-cases/features/cleanup-feature-worktree.use-case.js +10 -17
  67. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +2 -10
  68. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  69. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +10 -20
  70. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts +2 -0
  71. package/dist/packages/core/src/application/use-cases/features/create/types.d.ts.map +1 -1
  72. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts +1 -3
  73. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.d.ts.map +1 -1
  74. package/dist/packages/core/src/application/use-cases/features/get-feature-artifact.use-case.js +4 -6
  75. package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts +1 -3
  76. package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.d.ts.map +1 -1
  77. package/dist/packages/core/src/application/use-cases/features/get-plan-artifact.use-case.js +4 -6
  78. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts +1 -3
  79. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.d.ts.map +1 -1
  80. package/dist/packages/core/src/application/use-cases/features/get-research-artifact.use-case.js +4 -6
  81. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts +2 -2
  82. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.d.ts.map +1 -1
  83. package/dist/packages/core/src/application/use-cases/features/rebase-feature-on-main.use-case.js +2 -2
  84. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts +1 -3
  85. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.d.ts.map +1 -1
  86. package/dist/packages/core/src/application/use-cases/ide/launch-ide.use-case.js +4 -8
  87. package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.d.ts +35 -0
  88. package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.d.ts.map +1 -0
  89. package/dist/packages/core/src/application/use-cases/plugins/add-plugin.use-case.js +106 -0
  90. package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.d.ts +20 -0
  91. package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.d.ts.map +1 -0
  92. package/dist/packages/core/src/application/use-cases/plugins/check-plugin-health.use-case.js +72 -0
  93. package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.d.ts +22 -0
  94. package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.d.ts.map +1 -0
  95. package/dist/packages/core/src/application/use-cases/plugins/configure-plugin.use-case.js +59 -0
  96. package/dist/packages/core/src/application/use-cases/plugins/disable-plugin.use-case.d.ts +18 -0
  97. package/dist/packages/core/src/application/use-cases/plugins/disable-plugin.use-case.d.ts.map +1 -0
  98. package/dist/packages/core/src/application/use-cases/{cloud-deploy/ensure-gh-authenticated.use-case.js → plugins/disable-plugin.use-case.js} +31 -12
  99. package/dist/packages/core/src/application/use-cases/plugins/enable-plugin.use-case.d.ts +18 -0
  100. package/dist/packages/core/src/application/use-cases/plugins/enable-plugin.use-case.d.ts.map +1 -0
  101. package/dist/packages/core/src/application/use-cases/{cloud-deploy/select-cloud-provider.use-case.js → plugins/enable-plugin.use-case.js} +31 -17
  102. package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.d.ts +21 -0
  103. package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.d.ts.map +1 -0
  104. package/dist/packages/core/src/application/use-cases/plugins/get-plugin-catalog.use-case.js +45 -0
  105. package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.d.ts +22 -0
  106. package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.d.ts.map +1 -0
  107. package/dist/packages/core/src/application/use-cases/plugins/list-plugins.use-case.js +50 -0
  108. package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.d.ts +21 -0
  109. package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.d.ts.map +1 -0
  110. package/dist/packages/core/src/application/use-cases/plugins/remove-plugin.use-case.js +50 -0
  111. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.d.ts.map +1 -1
  112. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.js +11 -1
  113. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -1
  114. package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +9 -1
  115. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts +2 -6
  116. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.d.ts.map +1 -1
  117. package/dist/packages/core/src/application/use-cases/settings/check-onboarding-status.use-case.js +7 -30
  118. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts +1 -3
  119. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.d.ts.map +1 -1
  120. package/dist/packages/core/src/application/use-cases/tools/launch-tool.use-case.js +4 -6
  121. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts +1 -3
  122. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.d.ts.map +1 -1
  123. package/dist/packages/core/src/application/use-cases/tools/list-tools.use-case.js +4 -6
  124. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts +2 -4
  125. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.d.ts.map +1 -1
  126. package/dist/packages/core/src/application/use-cases/workflows/run-workflow.use-case.js +4 -8
  127. package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts.map +1 -0
  128. package/dist/packages/core/src/domain/factories/index.d.ts +1 -0
  129. package/dist/packages/core/src/domain/factories/index.d.ts.map +1 -1
  130. package/dist/packages/core/src/domain/factories/index.js +1 -0
  131. package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts +29 -0
  132. package/dist/packages/core/src/domain/factories/spec-yaml-parser.d.ts.map +1 -0
  133. package/dist/packages/core/src/domain/factories/spec-yaml-parser.js +134 -0
  134. package/dist/packages/core/src/domain/generated/output.d.ts +113 -41
  135. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  136. package/dist/packages/core/src/domain/generated/output.js +18 -25
  137. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  138. package/dist/packages/core/src/infrastructure/di/container.js +679 -32
  139. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts +0 -7
  140. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.d.ts.map +1 -1
  141. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/application.mapper.js +6 -23
  142. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
  143. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  144. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +8 -0
  145. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.d.ts +61 -0
  146. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.d.ts.map +1 -0
  147. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/plugin.mapper.js +91 -0
  148. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.d.ts +13 -0
  149. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.d.ts.map +1 -0
  150. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-create-plugins-table.js +51 -0
  151. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.d.ts +12 -0
  152. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.d.ts.map +1 -0
  153. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-add-active-plugins-to-features.js +17 -0
  154. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts +1 -1
  155. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.d.ts.map +1 -1
  156. package/dist/packages/core/src/infrastructure/repositories/sqlite-application.repository.js +2 -40
  157. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.d.ts.map +1 -1
  158. package/dist/packages/core/src/infrastructure/repositories/sqlite-feature.repository.js +3 -0
  159. package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.d.ts +24 -0
  160. package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.d.ts.map +1 -0
  161. package/dist/packages/core/src/infrastructure/repositories/sqlite-plugin.repository.js +114 -0
  162. package/dist/packages/core/src/infrastructure/services/agents/analyze-repo/analyze-repository-graph.d.ts +1 -1
  163. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
  164. package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +2 -0
  165. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts +1 -2
  166. package/dist/packages/core/src/infrastructure/services/agents/conflict-resolution/conflict-resolution.service.d.ts.map +1 -1
  167. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts +6 -1
  168. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/fast-feature-agent-graph.d.ts.map +1 -1
  169. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts +18 -1
  170. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-graph.d.ts.map +1 -1
  171. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.d.ts.map +1 -1
  172. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/feature-agent-worker.js +12 -0
  173. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
  174. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +1 -0
  175. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.d.ts +23 -0
  176. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.d.ts.map +1 -0
  177. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/plugin-startup.js +53 -0
  178. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts +1 -0
  179. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.d.ts.map +1 -1
  180. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/state.js +5 -0
  181. package/dist/packages/core/src/infrastructure/services/attachment-storage.service.d.ts +5 -3
  182. package/dist/packages/core/src/infrastructure/services/attachment-storage.service.d.ts.map +1 -1
  183. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.d.ts.map +1 -1
  184. package/dist/packages/core/src/infrastructure/services/notifications/notification.service.js +0 -1
  185. package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.d.ts +51 -0
  186. package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.d.ts.map +1 -0
  187. package/dist/packages/core/src/infrastructure/services/plugin/mcp-server-manager.service.js +206 -0
  188. package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.d.ts +52 -0
  189. package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.d.ts.map +1 -0
  190. package/dist/packages/core/src/infrastructure/services/plugin/plugin-catalog.js +86 -0
  191. package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.d.ts +28 -0
  192. package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.d.ts.map +1 -0
  193. package/dist/packages/core/src/infrastructure/services/plugin/plugin-health-checker.service.js +95 -0
  194. package/dist/src/presentation/cli/commands/app/index.d.ts +4 -10
  195. package/dist/src/presentation/cli/commands/app/index.d.ts.map +1 -1
  196. package/dist/src/presentation/cli/commands/app/index.js +5 -17
  197. package/dist/src/presentation/cli/commands/feat/new.command.d.ts.map +1 -1
  198. package/dist/src/presentation/cli/commands/feat/new.command.js +1 -2
  199. package/dist/src/presentation/cli/commands/plugin/add.command.d.ts +12 -0
  200. package/dist/src/presentation/cli/commands/plugin/add.command.d.ts.map +1 -0
  201. package/dist/src/presentation/cli/commands/plugin/add.command.js +75 -0
  202. package/dist/src/presentation/cli/commands/plugin/catalog.command.d.ts +11 -0
  203. package/dist/src/presentation/cli/commands/plugin/catalog.command.d.ts.map +1 -0
  204. package/dist/src/presentation/cli/commands/plugin/catalog.command.js +46 -0
  205. package/dist/src/presentation/cli/commands/plugin/configure.command.d.ts +11 -0
  206. package/dist/src/presentation/cli/commands/plugin/configure.command.d.ts.map +1 -0
  207. package/dist/src/presentation/cli/commands/plugin/configure.command.js +37 -0
  208. package/dist/src/presentation/cli/commands/plugin/disable.command.d.ts +11 -0
  209. package/dist/src/presentation/cli/commands/plugin/disable.command.d.ts.map +1 -0
  210. package/dist/src/presentation/cli/commands/plugin/disable.command.js +31 -0
  211. package/dist/src/presentation/cli/commands/plugin/enable.command.d.ts +11 -0
  212. package/dist/src/presentation/cli/commands/plugin/enable.command.d.ts.map +1 -0
  213. package/dist/src/presentation/cli/commands/plugin/enable.command.js +31 -0
  214. package/dist/src/presentation/cli/commands/plugin/index.d.ts +22 -0
  215. package/dist/src/presentation/cli/commands/plugin/index.d.ts.map +1 -0
  216. package/dist/src/presentation/cli/commands/plugin/index.js +41 -0
  217. package/dist/src/presentation/cli/commands/plugin/list.command.d.ts +11 -0
  218. package/dist/src/presentation/cli/commands/plugin/list.command.d.ts.map +1 -0
  219. package/dist/src/presentation/cli/commands/plugin/list.command.js +63 -0
  220. package/dist/src/presentation/cli/commands/plugin/remove.command.d.ts +11 -0
  221. package/dist/src/presentation/cli/commands/plugin/remove.command.d.ts.map +1 -0
  222. package/dist/src/presentation/cli/commands/plugin/remove.command.js +31 -0
  223. package/dist/src/presentation/cli/commands/plugin/status.command.d.ts +12 -0
  224. package/dist/src/presentation/cli/commands/plugin/status.command.d.ts.map +1 -0
  225. package/dist/src/presentation/cli/commands/plugin/status.command.js +126 -0
  226. package/dist/src/presentation/cli/index.js +2 -0
  227. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.d.ts.map +1 -1
  228. package/dist/src/presentation/web/app/(dashboard)/@drawer/create/page.js +9 -2
  229. package/dist/src/presentation/web/app/actions/add-plugin.d.ts +7 -0
  230. package/dist/src/presentation/web/app/actions/add-plugin.d.ts.map +1 -0
  231. package/dist/src/presentation/web/app/actions/add-plugin.js +15 -0
  232. package/dist/src/presentation/web/app/actions/check-plugin-health.d.ts +7 -0
  233. package/dist/src/presentation/web/app/actions/check-plugin-health.d.ts.map +1 -0
  234. package/dist/src/presentation/web/app/actions/check-plugin-health.js +15 -0
  235. package/dist/src/presentation/web/app/actions/configure-plugin.d.ts +7 -0
  236. package/dist/src/presentation/web/app/actions/configure-plugin.d.ts.map +1 -0
  237. package/dist/src/presentation/web/app/actions/configure-plugin.js +15 -0
  238. package/dist/src/presentation/web/app/actions/create-feature.d.ts +2 -0
  239. package/dist/src/presentation/web/app/actions/create-feature.d.ts.map +1 -1
  240. package/dist/src/presentation/web/app/actions/create-feature.js +3 -1
  241. package/dist/src/presentation/web/app/actions/deploy-application.d.ts +9 -8
  242. package/dist/src/presentation/web/app/actions/deploy-application.d.ts.map +1 -1
  243. package/dist/src/presentation/web/app/actions/deploy-application.js +38 -22
  244. package/dist/src/presentation/web/app/actions/get-plugin-catalog.d.ts +7 -0
  245. package/dist/src/presentation/web/app/actions/get-plugin-catalog.d.ts.map +1 -0
  246. package/dist/src/presentation/web/app/actions/get-plugin-catalog.js +13 -0
  247. package/dist/src/presentation/web/app/actions/list-plugins.d.ts +7 -0
  248. package/dist/src/presentation/web/app/actions/list-plugins.d.ts.map +1 -0
  249. package/dist/src/presentation/web/app/actions/list-plugins.js +13 -0
  250. package/dist/src/presentation/web/app/actions/remove-plugin.d.ts +7 -0
  251. package/dist/src/presentation/web/app/actions/remove-plugin.d.ts.map +1 -0
  252. package/dist/src/presentation/web/app/actions/remove-plugin.js +15 -0
  253. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts +7 -0
  254. package/dist/src/presentation/web/app/actions/toggle-plugin.d.ts.map +1 -0
  255. package/dist/src/presentation/web/app/actions/toggle-plugin.js +23 -0
  256. package/dist/src/presentation/web/app/api/agent-events/route.d.ts +12 -17
  257. package/dist/src/presentation/web/app/api/agent-events/route.d.ts.map +1 -1
  258. package/dist/src/presentation/web/app/api/agent-events/route.js +331 -58
  259. package/dist/src/presentation/web/app/api/applications/[id]/route.d.ts.map +1 -1
  260. package/dist/src/presentation/web/app/api/applications/[id]/route.js +1 -4
  261. package/dist/src/presentation/web/app/api/deployment-logs/route.d.ts.map +1 -1
  262. package/dist/src/presentation/web/app/api/deployment-logs/route.js +2 -4
  263. package/dist/src/presentation/web/app/build-graph-nodes.d.ts.map +1 -1
  264. package/dist/src/presentation/web/app/build-graph-nodes.js +1 -2
  265. package/dist/src/presentation/web/app/plugins/page.d.ts +4 -0
  266. package/dist/src/presentation/web/app/plugins/page.d.ts.map +1 -0
  267. package/dist/src/presentation/web/app/plugins/page.js +24 -0
  268. package/dist/src/presentation/web/app/plugins/plugins-page-client.d.ts +8 -0
  269. package/dist/src/presentation/web/app/plugins/plugins-page-client.d.ts.map +1 -0
  270. package/dist/src/presentation/web/app/plugins/plugins-page-client.js +61 -0
  271. package/dist/src/presentation/web/components/common/application-node/application-node.d.ts.map +1 -1
  272. package/dist/src/presentation/web/components/common/application-node/application-node.js +1 -2
  273. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts +6 -1
  274. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.d.ts.map +1 -1
  275. package/dist/src/presentation/web/components/common/control-center-drawer/create-drawer-client.js +2 -2
  276. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts +9 -1
  277. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.d.ts.map +1 -1
  278. package/dist/src/presentation/web/components/common/feature-create-drawer/feature-create-drawer.js +15 -3
  279. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.d.ts.map +1 -1
  280. package/dist/src/presentation/web/components/common/feature-node/derive-feature-state.js +0 -4
  281. package/dist/src/presentation/web/components/common/plugin-catalog/index.d.ts +2 -0
  282. package/dist/src/presentation/web/components/common/plugin-catalog/index.d.ts.map +1 -0
  283. package/dist/src/presentation/web/components/common/plugin-catalog/index.js +1 -0
  284. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.d.ts +7 -0
  285. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.d.ts.map +1 -0
  286. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.js +32 -0
  287. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.d.ts +16 -0
  288. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.d.ts.map +1 -0
  289. package/dist/src/presentation/web/components/common/plugin-catalog/plugin-catalog.stories.js +87 -0
  290. package/dist/src/presentation/web/components/common/plugin-list/index.d.ts +2 -0
  291. package/dist/src/presentation/web/components/common/plugin-list/index.d.ts.map +1 -0
  292. package/dist/src/presentation/web/components/common/plugin-list/index.js +1 -0
  293. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.d.ts +9 -0
  294. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.d.ts.map +1 -0
  295. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.js +77 -0
  296. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.d.ts +17 -0
  297. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.d.ts.map +1 -0
  298. package/dist/src/presentation/web/components/common/plugin-list/plugin-list.stories.js +114 -0
  299. package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -1
  300. package/dist/src/presentation/web/components/features/application-page/application-page.js +306 -17
  301. package/dist/src/presentation/web/components/features/applications/application-card.d.ts.map +1 -1
  302. package/dist/src/presentation/web/components/features/applications/application-card.js +1 -2
  303. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +1 -1
  304. package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +1 -1
  305. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  306. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +1 -2
  307. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.d.ts.map +1 -1
  308. package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.js +2 -2
  309. package/dist/src/presentation/web/hooks/deployment-status-provider.js +3 -4
  310. package/dist/translations/ar/cli.json +82 -0
  311. package/dist/translations/ar/web.json +2 -1
  312. package/dist/translations/de/cli.json +82 -0
  313. package/dist/translations/de/web.json +2 -1
  314. package/dist/translations/en/cli.json +82 -0
  315. package/dist/translations/en/web.json +2 -1
  316. package/dist/translations/es/cli.json +82 -0
  317. package/dist/translations/es/web.json +2 -1
  318. package/dist/translations/fr/cli.json +82 -0
  319. package/dist/translations/fr/web.json +2 -1
  320. package/dist/translations/he/cli.json +82 -0
  321. package/dist/translations/he/web.json +2 -1
  322. package/dist/translations/pt/cli.json +82 -0
  323. package/dist/translations/pt/web.json +2 -1
  324. package/dist/translations/ru/cli.json +82 -0
  325. package/dist/translations/ru/web.json +2 -1
  326. package/dist/translations/uk/cli.json +82 -0
  327. package/dist/translations/uk/web.json +2 -1
  328. package/dist/tsconfig.build.tsbuildinfo +1 -1
  329. package/package.json +1 -1
  330. package/web/.next/BUILD_ID +1 -1
  331. package/web/.next/app-path-routes-manifest.json +1 -8
  332. package/web/.next/build-manifest.json +2 -2
  333. package/web/.next/fallback-build-manifest.json +2 -2
  334. package/web/.next/prerender-manifest.json +3 -3
  335. package/web/.next/required-server-files.js +1 -1
  336. package/web/.next/required-server-files.json +1 -1
  337. package/web/.next/routes-manifest.json +6 -58
  338. package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +32 -32
  339. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
  340. package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
  341. package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
  342. package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +30 -30
  343. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js +3 -3
  344. package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
  345. package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
  346. package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
  347. package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
  348. package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
  349. package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
  350. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  351. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +4 -4
  352. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  353. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  354. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +41 -41
  355. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +4 -4
  356. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
  357. package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
  358. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  359. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js +3 -3
  360. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  361. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  362. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  363. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
  364. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
  365. package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  366. package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +30 -30
  367. package/web/.next/server/app/(dashboard)/chat/page.js +3 -3
  368. package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
  369. package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
  370. package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
  371. package/web/.next/server/app/(dashboard)/create/page.js +3 -3
  372. package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
  373. package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
  374. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +41 -41
  375. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +4 -4
  376. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
  377. package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
  378. package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +41 -41
  379. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +4 -4
  380. package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
  381. package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
  382. package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +30 -30
  383. package/web/.next/server/app/(dashboard)/page.js +3 -3
  384. package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
  385. package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  386. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +31 -31
  387. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js +3 -3
  388. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
  389. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
  390. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
  391. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
  392. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
  393. package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
  394. package/web/.next/server/app/_global-error/page.js +1 -1
  395. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  396. package/web/.next/server/app/_global-error.html +2 -2
  397. package/web/.next/server/app/_global-error.rsc +1 -1
  398. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  399. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  400. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  401. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  402. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  403. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +7 -7
  404. package/web/.next/server/app/_not-found/page.js +2 -2
  405. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  406. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  407. package/web/.next/server/app/api/agent-events/route.js +2 -1
  408. package/web/.next/server/app/api/agent-events/route.js.nft.json +1 -1
  409. package/web/.next/server/app/api/applications/[id]/route.js +1 -1
  410. package/web/.next/server/app/api/applications/[id]/route.js.nft.json +1 -1
  411. package/web/.next/server/app/api/attachments/preview/route.js +1 -1
  412. package/web/.next/server/app/api/attachments/preview/route.js.nft.json +1 -1
  413. package/web/.next/server/app/api/attachments/upload-from-path/route.js +1 -1
  414. package/web/.next/server/app/api/attachments/upload-from-path/route.js.nft.json +1 -1
  415. package/web/.next/server/app/api/evidence/route.js +1 -1
  416. package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
  417. package/web/.next/server/app/api/feature-logs/route.js +1 -1
  418. package/web/.next/server/app/api/feature-logs/route.js.nft.json +1 -1
  419. package/web/.next/server/app/api/graph-data/route.js +2 -2
  420. package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
  421. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js +1 -1
  422. package/web/.next/server/app/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
  423. package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +40 -70
  424. package/web/.next/server/app/application/[id]/page.js +3 -3
  425. package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
  426. package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
  427. package/web/.next/server/app/applications/page/server-reference-manifest.json +15 -15
  428. package/web/.next/server/app/applications/page.js +3 -3
  429. package/web/.next/server/app/applications/page.js.nft.json +1 -1
  430. package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
  431. package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
  432. package/web/.next/server/app/features/page.js +2 -2
  433. package/web/.next/server/app/features/page.js.nft.json +1 -1
  434. package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
  435. package/web/.next/server/app/plugins/page/app-paths-manifest.json +3 -0
  436. package/web/.next/server/app/plugins/page/build-manifest.json +18 -0
  437. package/web/.next/server/app/plugins/page/next-font-manifest.json +6 -0
  438. package/web/.next/server/app/plugins/page/react-loadable-manifest.json +1 -0
  439. package/web/.next/server/app/plugins/page/server-reference-manifest.json +170 -0
  440. package/web/.next/server/app/plugins/page.js +19 -0
  441. package/web/.next/server/app/plugins/page.js.nft.json +1 -0
  442. package/web/.next/server/app/plugins/page_client-reference-manifest.js +2 -0
  443. package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
  444. package/web/.next/server/app/settings/page.js +3 -3
  445. package/web/.next/server/app/settings/page.js.nft.json +1 -1
  446. package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  447. package/web/.next/server/app/skills/page/server-reference-manifest.json +15 -15
  448. package/web/.next/server/app/skills/page.js +3 -3
  449. package/web/.next/server/app/skills/page.js.nft.json +1 -1
  450. package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  451. package/web/.next/server/app/tools/page/server-reference-manifest.json +13 -13
  452. package/web/.next/server/app/tools/page.js +3 -3
  453. package/web/.next/server/app/tools/page.js.nft.json +1 -1
  454. package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
  455. package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
  456. package/web/.next/server/app/version/page.js +2 -2
  457. package/web/.next/server/app/version/page.js.nft.json +1 -1
  458. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  459. package/web/.next/server/app-paths-manifest.json +1 -8
  460. package/web/.next/server/chunks/{[root-of-the-server]__582ebd78._.js → [root-of-the-server]__0702fed9._.js} +2 -2
  461. package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
  462. package/web/.next/server/chunks/[root-of-the-server]__3f7e7be1._.js +2 -2
  463. package/web/.next/server/chunks/[root-of-the-server]__3f7e7be1._.js.map +1 -1
  464. package/web/.next/server/chunks/[root-of-the-server]__7a2ddaea._.js +3 -0
  465. package/web/.next/server/chunks/[root-of-the-server]__7a2ddaea._.js.map +1 -0
  466. package/web/.next/server/chunks/[root-of-the-server]__84fede21._.js +3 -0
  467. package/web/.next/server/chunks/[root-of-the-server]__84fede21._.js.map +1 -0
  468. package/web/.next/server/chunks/{[root-of-the-server]__76a92098._.js → [root-of-the-server]__88c71186._.js} +2 -2
  469. package/web/.next/server/chunks/{[root-of-the-server]__7de24eaf._.js → [root-of-the-server]__8b6abaa3._.js} +2 -2
  470. package/web/.next/server/chunks/[root-of-the-server]__aabea727._.js +3 -0
  471. package/web/.next/server/chunks/[root-of-the-server]__aabea727._.js.map +1 -0
  472. package/web/.next/server/chunks/{[root-of-the-server]__6af3863d._.js → [root-of-the-server]__cfba7146._.js} +2 -2
  473. package/web/.next/server/chunks/{[root-of-the-server]__6af3863d._.js.map → [root-of-the-server]__cfba7146._.js.map} +1 -1
  474. package/web/.next/server/chunks/{[root-of-the-server]__1133b25d._.js → [root-of-the-server]__dbb420e4._.js} +2 -2
  475. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_4faf694b.js +12 -0
  476. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_4faf694b.js.map +1 -0
  477. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_fc401c5d.js +1 -1
  478. package/web/.next/server/chunks/d9f3b_next_dist_esm_build_templates_app-route_fc401c5d.js.map +1 -1
  479. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js +1 -1
  480. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4f9eef62.js.map +1 -1
  481. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js +1 -1
  482. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_ffa16a22.js.map +1 -1
  483. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js +1 -1
  484. package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_a1a998f9.js.map +1 -1
  485. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
  486. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
  487. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
  488. package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
  489. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
  490. package/web/.next/server/chunks/ssr/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js.map +1 -1
  491. package/web/.next/server/chunks/ssr/[root-of-the-server]__269765de._.js +4 -0
  492. package/web/.next/server/chunks/ssr/[root-of-the-server]__269765de._.js.map +1 -0
  493. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ec85e47f._.js → [root-of-the-server]__288ffaa6._.js} +2 -2
  494. package/web/.next/server/chunks/ssr/{[root-of-the-server]__ec85e47f._.js.map → [root-of-the-server]__288ffaa6._.js.map} +1 -1
  495. package/web/.next/server/chunks/ssr/[root-of-the-server]__4101a4a8._.js +1 -1
  496. package/web/.next/server/chunks/ssr/[root-of-the-server]__4101a4a8._.js.map +1 -1
  497. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ea16f3a._.js → [root-of-the-server]__46dd2baf._.js} +2 -2
  498. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7ea16f3a._.js.map → [root-of-the-server]__46dd2baf._.js.map} +1 -1
  499. package/web/.next/server/chunks/ssr/[root-of-the-server]__538580df._.js +1 -1
  500. package/web/.next/server/chunks/ssr/[root-of-the-server]__538580df._.js.map +1 -1
  501. package/web/.next/server/chunks/ssr/[root-of-the-server]__58043de2._.js +3 -0
  502. package/web/.next/server/chunks/ssr/[root-of-the-server]__58043de2._.js.map +1 -0
  503. package/web/.next/server/chunks/ssr/{[root-of-the-server]__5193e3ce._.js → [root-of-the-server]__5c5de261._.js} +2 -2
  504. package/web/.next/server/chunks/ssr/{[root-of-the-server]__5193e3ce._.js.map → [root-of-the-server]__5c5de261._.js.map} +1 -1
  505. package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
  506. package/web/.next/server/chunks/ssr/[root-of-the-server]__87d5ff6e._.js +1 -1
  507. package/web/.next/server/chunks/ssr/[root-of-the-server]__87d5ff6e._.js.map +1 -1
  508. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b0e14ee._.js +3 -0
  509. package/web/.next/server/chunks/ssr/[root-of-the-server]__9b0e14ee._.js.map +1 -0
  510. package/web/.next/server/chunks/ssr/{[root-of-the-server]__93be3301._.js → [root-of-the-server]__ac9ab3c5._.js} +2 -2
  511. package/web/.next/server/chunks/ssr/{[root-of-the-server]__93be3301._.js.map → [root-of-the-server]__ac9ab3c5._.js.map} +1 -1
  512. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3d233f3._.js +1 -1
  513. package/web/.next/server/chunks/ssr/[root-of-the-server]__c3d233f3._.js.map +1 -1
  514. package/web/.next/server/chunks/ssr/[root-of-the-server]__c6dba2b8._.js +1 -1
  515. package/web/.next/server/chunks/ssr/[root-of-the-server]__c6dba2b8._.js.map +1 -1
  516. package/web/.next/server/chunks/ssr/[root-of-the-server]__de3991d8._.js +3 -0
  517. package/web/.next/server/chunks/ssr/[root-of-the-server]__de3991d8._.js.map +1 -0
  518. package/web/.next/server/chunks/ssr/[root-of-the-server]__e4fac430._.js +3 -0
  519. package/web/.next/server/chunks/ssr/[root-of-the-server]__e4fac430._.js.map +1 -0
  520. package/web/.next/server/chunks/ssr/[root-of-the-server]__eacd32e9._.js +4 -0
  521. package/web/.next/server/chunks/ssr/[root-of-the-server]__eacd32e9._.js.map +1 -0
  522. package/web/.next/server/chunks/ssr/{[root-of-the-server]__494cf0fb._.js → [root-of-the-server]__ef0b8905._.js} +3 -3
  523. package/web/.next/server/chunks/ssr/[root-of-the-server]__ef0b8905._.js.map +1 -0
  524. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7198dce9._.js → [root-of-the-server]__f94e4165._.js} +2 -2
  525. package/web/.next/server/chunks/ssr/{[root-of-the-server]__7198dce9._.js.map → [root-of-the-server]__f94e4165._.js.map} +1 -1
  526. package/web/.next/server/chunks/ssr/{[root-of-the-server]__149d89d9._.js → [root-of-the-server]__ff5a5243._.js} +2 -2
  527. package/web/.next/server/chunks/ssr/{[root-of-the-server]__149d89d9._.js.map → [root-of-the-server]__ff5a5243._.js.map} +1 -1
  528. package/web/.next/server/chunks/ssr/_0f41c049._.js +3 -0
  529. package/web/.next/server/chunks/ssr/_0f41c049._.js.map +1 -0
  530. package/web/.next/server/chunks/ssr/_33a243dd._.js +1 -1
  531. package/web/.next/server/chunks/ssr/_33a243dd._.js.map +1 -1
  532. package/web/.next/server/chunks/ssr/{_5bf2415e._.js → _34113cf8._.js} +2 -2
  533. package/web/.next/server/chunks/ssr/_34113cf8._.js.map +1 -0
  534. package/web/.next/server/chunks/ssr/_519d77a9._.js +3 -0
  535. package/web/.next/server/chunks/ssr/_519d77a9._.js.map +1 -0
  536. package/web/.next/server/chunks/ssr/_563be831._.js +3 -0
  537. package/web/.next/server/chunks/ssr/_563be831._.js.map +1 -0
  538. package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
  539. package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
  540. package/web/.next/server/chunks/ssr/_57643324._.js +3 -0
  541. package/web/.next/server/chunks/ssr/_57643324._.js.map +1 -0
  542. package/web/.next/server/chunks/ssr/_5e3a19c7._.js +3 -0
  543. package/web/.next/server/chunks/ssr/_5e3a19c7._.js.map +1 -0
  544. package/web/.next/server/chunks/ssr/_6a252f90._.js +3 -0
  545. package/web/.next/server/chunks/ssr/_6a252f90._.js.map +1 -0
  546. package/web/.next/server/chunks/ssr/_6b254164._.js +1 -1
  547. package/web/.next/server/chunks/ssr/_6b254164._.js.map +1 -1
  548. package/web/.next/server/chunks/ssr/_6cc4c05b._.js +3 -0
  549. package/web/.next/server/chunks/ssr/_6cc4c05b._.js.map +1 -0
  550. package/web/.next/server/chunks/ssr/{_82baa7c1._.js → _802cae50._.js} +2 -2
  551. package/web/.next/server/chunks/ssr/{_82baa7c1._.js.map → _802cae50._.js.map} +1 -1
  552. package/web/.next/server/chunks/ssr/_8757ce67._.js +4 -0
  553. package/web/.next/server/chunks/ssr/_8757ce67._.js.map +1 -0
  554. package/web/.next/server/chunks/ssr/_87a6bfa4._.js +3 -0
  555. package/web/.next/server/chunks/ssr/_87a6bfa4._.js.map +1 -0
  556. package/web/.next/server/chunks/ssr/_8e101e0b._.js +12 -12
  557. package/web/.next/server/chunks/ssr/_8e101e0b._.js.map +1 -1
  558. package/web/.next/server/chunks/ssr/_91c89c19._.js +3 -0
  559. package/web/.next/server/chunks/ssr/_91c89c19._.js.map +1 -0
  560. package/web/.next/server/chunks/ssr/_93002ccf._.js +3 -0
  561. package/web/.next/server/chunks/ssr/_93002ccf._.js.map +1 -0
  562. package/web/.next/server/chunks/ssr/_d6ba4d64._.js +3 -0
  563. package/web/.next/server/chunks/ssr/_d6ba4d64._.js.map +1 -0
  564. package/web/.next/server/chunks/ssr/{_750b8cfe._.js → _d96d2188._.js} +2 -2
  565. package/web/.next/server/chunks/ssr/{_750b8cfe._.js.map → _d96d2188._.js.map} +1 -1
  566. package/web/.next/server/chunks/ssr/_e225a49c._.js +3 -0
  567. package/web/.next/server/chunks/ssr/_e225a49c._.js.map +1 -0
  568. package/web/.next/server/chunks/ssr/_e65abbd1._.js +3 -0
  569. package/web/.next/server/chunks/ssr/_e65abbd1._.js.map +1 -0
  570. package/web/.next/server/chunks/ssr/_ebd74417._.js +9 -0
  571. package/web/.next/server/chunks/ssr/_ebd74417._.js.map +1 -0
  572. package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
  573. package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
  574. package/web/.next/server/chunks/ssr/_f924ab0d._.js +3 -0
  575. package/web/.next/server/chunks/ssr/_f924ab0d._.js.map +1 -0
  576. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
  577. package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
  578. package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
  579. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js +3 -0
  580. package/web/.next/server/chunks/ssr/node_modules__pnpm_1300ae39._.js.map +1 -0
  581. package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js +3 -0
  582. package/web/.next/server/chunks/ssr/node_modules__pnpm_28388798._.js.map +1 -0
  583. package/web/.next/server/chunks/ssr/{_72cc0c05._.js → node_modules__pnpm_632deb2b._.js} +2 -2
  584. package/web/.next/server/chunks/ssr/node_modules__pnpm_632deb2b._.js.map +1 -0
  585. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js +1 -1
  586. package/web/.next/server/chunks/ssr/src_presentation_web_47181610._.js.map +1 -1
  587. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js +1 -1
  588. package/web/.next/server/chunks/ssr/src_presentation_web_5d3f4199._.js.map +1 -1
  589. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
  590. package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
  591. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js +1 -1
  592. package/web/.next/server/chunks/ssr/src_presentation_web_61d96ba8._.js.map +1 -1
  593. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js +1 -1
  594. package/web/.next/server/chunks/ssr/src_presentation_web_6994959a._.js.map +1 -1
  595. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js +3 -3
  596. package/web/.next/server/chunks/ssr/src_presentation_web_77dadf68._.js.map +1 -1
  597. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
  598. package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
  599. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js +1 -1
  600. package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_c3f6f57e.js.map +1 -1
  601. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
  602. package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
  603. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js +3 -3
  604. package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_8514dfcd._.js.map +1 -1
  605. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js +1 -1
  606. package/web/.next/server/chunks/ssr/src_presentation_web_b95ed206._.js.map +1 -1
  607. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js +1 -1
  608. package/web/.next/server/chunks/ssr/src_presentation_web_bade80bd._.js.map +1 -1
  609. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js +1 -1
  610. package/web/.next/server/chunks/ssr/src_presentation_web_c543cf3e._.js.map +1 -1
  611. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
  612. package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
  613. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
  614. package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js.map +1 -1
  615. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
  616. package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
  617. package/web/.next/server/chunks/ssr/{_bb8735f7._.js → src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js} +2 -2
  618. package/web/.next/server/chunks/ssr/src_presentation_web_components_ui_dropdown-menu_tsx_229332e3._.js.map +1 -0
  619. package/web/.next/server/chunks/ssr/translations_1562ae1a._.js +1 -1
  620. package/web/.next/server/chunks/ssr/translations_1562ae1a._.js.map +1 -1
  621. package/web/.next/server/pages/500.html +2 -2
  622. package/web/.next/server/server-reference-manifest.js +1 -1
  623. package/web/.next/server/server-reference-manifest.json +165 -86
  624. package/web/.next/static/chunks/{113f38481fc14902.js → 0975a823e36631a6.js} +12 -12
  625. package/web/.next/static/chunks/{74d3f880029b266f.js → 17a3ab737bf99e9c.js} +1 -1
  626. package/web/.next/static/chunks/3b188a6124a40b66.js +1 -0
  627. package/web/.next/static/chunks/{d770f7a879b2f43a.js → 4ad976507effac9d.js} +1 -1
  628. package/web/.next/static/chunks/54ab223f19226d6b.js +1 -0
  629. package/web/.next/static/chunks/{6bac882ad18c881c.js → 54ff8da8b9e34462.js} +2 -2
  630. package/web/.next/static/chunks/59e96a965c1cc25b.js +7 -0
  631. package/web/.next/static/chunks/5a2f5a3c29c6c3dd.js +1 -0
  632. package/web/.next/static/chunks/616760ae36cf397f.js +1 -0
  633. package/web/.next/static/chunks/{270528435203323f.js → 6b140304b0e12b56.js} +1 -1
  634. package/web/.next/static/chunks/772f87225f881091.css +1 -0
  635. package/web/.next/static/chunks/81cada75205ea9ad.js +1 -0
  636. package/web/.next/static/chunks/86e9d633379e74e8.js +5 -0
  637. package/web/.next/static/chunks/88aa4f96ec9e8349.js +1 -0
  638. package/web/.next/static/chunks/9196a0cee202a08c.js +1 -0
  639. package/web/.next/static/chunks/{e0f33f0d6cb8cf21.js → 91b3902dc51fc986.js} +1 -1
  640. package/web/.next/static/chunks/965c463fbd7d1301.js +1 -0
  641. package/web/.next/static/chunks/9f72ca085d2427e7.js +1 -0
  642. package/web/.next/static/chunks/a1c576612297f08e.js +1 -0
  643. package/web/.next/static/chunks/a70f6767d597c9b6.js +1 -0
  644. package/web/.next/static/chunks/b9102b4bbe2f64f9.js +1 -0
  645. package/web/.next/static/chunks/cadb8f07b3c1e864.js +1 -0
  646. package/web/.next/static/chunks/cd887d0f2743aa2c.js +1 -0
  647. package/web/.next/static/chunks/cff6a861856f8e23.js +1 -0
  648. package/web/.next/static/chunks/d3224741c62e8767.js +1 -0
  649. package/web/.next/static/chunks/{6512133101a3eb85.js → ee5c373067d8f695.js} +3 -3
  650. package/web/.next/static/chunks/f26ba6cde93f3dc3.js +1 -0
  651. package/web/.next/static/chunks/{9c4c03206c46abd2.js → f318341087d1415a.js} +1 -1
  652. package/web/.next/static/chunks/{7f25b508e717b00c.js → f5a8a8478745988e.js} +1 -1
  653. package/web/.next/static/chunks/fc5dbf92b25edf22.js +1 -0
  654. package/apis/json-schema/CloudDeploymentProvider.yaml +0 -10
  655. package/apis/json-schema/CloudDeploymentStatus.yaml +0 -11
  656. package/apis/json-schema/InteractiveSessionEventType.yaml +0 -9
  657. package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.d.ts +0 -23
  658. package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.d.ts.map +0 -1
  659. package/dist/packages/core/src/application/ports/output/agents/agent-session-repository-registry.interface.js +0 -12
  660. package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.d.ts +0 -29
  661. package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.d.ts.map +0 -1
  662. package/dist/packages/core/src/application/ports/output/repositories/cloud-provider-tokens.repository.interface.js +0 -9
  663. package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.d.ts +0 -31
  664. package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.d.ts.map +0 -1
  665. package/dist/packages/core/src/application/ports/output/services/attachment-storage.interface.js +0 -9
  666. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.d.ts +0 -23
  667. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.d.ts.map +0 -1
  668. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-event-bus.interface.js +0 -8
  669. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.d.ts +0 -30
  670. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.d.ts.map +0 -1
  671. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider-registry.interface.js +0 -9
  672. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.d.ts +0 -54
  673. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.d.ts.map +0 -1
  674. package/dist/packages/core/src/application/ports/output/services/cloud-deployment-provider.interface.js +0 -10
  675. package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.d.ts +0 -36
  676. package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.d.ts.map +0 -1
  677. package/dist/packages/core/src/application/ports/output/services/conflict-resolution.interface.js +0 -8
  678. package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.d.ts +0 -47
  679. package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.d.ts.map +0 -1
  680. package/dist/packages/core/src/application/ports/output/services/git-commit.service.interface.js +0 -19
  681. package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.d.ts +0 -41
  682. package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.d.ts.map +0 -1
  683. package/dist/packages/core/src/application/ports/output/services/git-remote.service.interface.js +0 -18
  684. package/dist/packages/core/src/application/ports/output/services/logger.interface.d.ts +0 -14
  685. package/dist/packages/core/src/application/ports/output/services/logger.interface.d.ts.map +0 -1
  686. package/dist/packages/core/src/application/ports/output/services/logger.interface.js +0 -8
  687. package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.d.ts +0 -28
  688. package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.d.ts.map +0 -1
  689. package/dist/packages/core/src/application/ports/output/services/node-helpers.interface.js +0 -8
  690. package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.d.ts +0 -25
  691. package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.d.ts.map +0 -1
  692. package/dist/packages/core/src/application/ports/output/services/phase-timing-context.interface.js +0 -9
  693. package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.d.ts +0 -20
  694. package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.d.ts.map +0 -1
  695. package/dist/packages/core/src/application/ports/output/services/process-liveness.interface.js +0 -12
  696. package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.d.ts +0 -37
  697. package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.d.ts.map +0 -1
  698. package/dist/packages/core/src/application/ports/output/services/spec-artifact-parser.interface.js +0 -14
  699. package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.d.ts +0 -85
  700. package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.d.ts.map +0 -1
  701. package/dist/packages/core/src/application/ports/output/services/tool-metadata-provider.interface.js +0 -9
  702. package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.d.ts +0 -22
  703. package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.d.ts.map +0 -1
  704. package/dist/packages/core/src/application/ports/output/services/worktree-path-provider.interface.js +0 -9
  705. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.d.ts +0 -19
  706. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.d.ts.map +0 -1
  707. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-feature-deltas.js +0 -74
  708. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.d.ts +0 -17
  709. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.d.ts.map +0 -1
  710. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-phase-completion-deltas.js +0 -31
  711. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.d.ts +0 -18
  712. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.d.ts.map +0 -1
  713. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-pr-deltas.js +0 -43
  714. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.d.ts +0 -20
  715. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.d.ts.map +0 -1
  716. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-session-deltas.js +0 -51
  717. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.d.ts +0 -22
  718. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.d.ts.map +0 -1
  719. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/compute-status-deltas.js +0 -59
  720. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.d.ts +0 -73
  721. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.d.ts.map +0 -1
  722. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events/stream-agent-events.types.js +0 -63
  723. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.d.ts +0 -79
  724. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.d.ts.map +0 -1
  725. package/dist/packages/core/src/application/use-cases/agents/stream-agent-events.use-case.js +0 -291
  726. package/dist/packages/core/src/application/use-cases/applications/application-creation.workflow.d.ts.map +0 -1
  727. package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.d.ts +0 -22
  728. package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.d.ts.map +0 -1
  729. package/dist/packages/core/src/application/use-cases/applications/commit-and-push-application-changes.use-case.js +0 -63
  730. package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.d.ts +0 -21
  731. package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.d.ts.map +0 -1
  732. package/dist/packages/core/src/application/use-cases/applications/commit-application-changes.use-case.js +0 -61
  733. package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.d.ts +0 -14
  734. package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.d.ts.map +0 -1
  735. package/dist/packages/core/src/application/use-cases/cloud-deploy/connect-cloud-provider.use-case.js +0 -38
  736. package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.d.ts +0 -12
  737. package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.d.ts.map +0 -1
  738. package/dist/packages/core/src/application/use-cases/cloud-deploy/create-git-remote.use-case.js +0 -41
  739. package/dist/packages/core/src/application/use-cases/cloud-deploy/ensure-gh-authenticated.use-case.d.ts +0 -9
  740. package/dist/packages/core/src/application/use-cases/cloud-deploy/ensure-gh-authenticated.use-case.d.ts.map +0 -1
  741. package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.d.ts +0 -17
  742. package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.d.ts.map +0 -1
  743. package/dist/packages/core/src/application/use-cases/cloud-deploy/get-cloud-deployment-status.use-case.js +0 -44
  744. package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.d.ts +0 -27
  745. package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.d.ts.map +0 -1
  746. package/dist/packages/core/src/application/use-cases/cloud-deploy/initiate-cloud-deployment.use-case.js +0 -120
  747. package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.d.ts +0 -16
  748. package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.d.ts.map +0 -1
  749. package/dist/packages/core/src/application/use-cases/cloud-deploy/list-cloud-providers.use-case.js +0 -38
  750. package/dist/packages/core/src/application/use-cases/cloud-deploy/select-cloud-provider.use-case.d.ts +0 -12
  751. package/dist/packages/core/src/application/use-cases/cloud-deploy/select-cloud-provider.use-case.d.ts.map +0 -1
  752. package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.d.ts +0 -48
  753. package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.d.ts.map +0 -1
  754. package/dist/packages/core/src/application/use-cases/deployments/start-application-deployment.use-case.js +0 -99
  755. package/dist/packages/core/src/domain/errors/application-not-found.error.d.ts +0 -12
  756. package/dist/packages/core/src/domain/errors/application-not-found.error.d.ts.map +0 -1
  757. package/dist/packages/core/src/domain/errors/application-not-found.error.js +0 -16
  758. package/dist/packages/core/src/domain/errors/application-not-ready.error.d.ts +0 -12
  759. package/dist/packages/core/src/domain/errors/application-not-ready.error.d.ts.map +0 -1
  760. package/dist/packages/core/src/domain/errors/application-not-ready.error.js +0 -16
  761. package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.d.ts +0 -15
  762. package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.d.ts.map +0 -1
  763. package/dist/packages/core/src/domain/errors/application-repository-not-on-disk.error.js +0 -20
  764. package/dist/packages/core/src/domain/errors/build-output-not-found.error.d.ts +0 -13
  765. package/dist/packages/core/src/domain/errors/build-output-not-found.error.d.ts.map +0 -1
  766. package/dist/packages/core/src/domain/errors/build-output-not-found.error.js +0 -17
  767. package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.d.ts +0 -14
  768. package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.d.ts.map +0 -1
  769. package/dist/packages/core/src/domain/errors/cannot-deploy-self.error.js +0 -18
  770. package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.d.ts +0 -12
  771. package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.d.ts.map +0 -1
  772. package/dist/packages/core/src/domain/errors/cloud-provider-not-connected.error.js +0 -16
  773. package/dist/packages/core/src/domain/errors/no-provider-selected.error.d.ts +0 -13
  774. package/dist/packages/core/src/domain/errors/no-provider-selected.error.d.ts.map +0 -1
  775. package/dist/packages/core/src/domain/errors/no-provider-selected.error.js +0 -17
  776. package/dist/packages/core/src/domain/errors/provider-not-implemented.error.d.ts +0 -12
  777. package/dist/packages/core/src/domain/errors/provider-not-implemented.error.d.ts.map +0 -1
  778. package/dist/packages/core/src/domain/errors/provider-not-implemented.error.js +0 -16
  779. package/dist/packages/core/src/domain/shared/feature-id.d.ts +0 -25
  780. package/dist/packages/core/src/domain/shared/feature-id.d.ts.map +0 -1
  781. package/dist/packages/core/src/domain/shared/feature-id.js +0 -33
  782. package/dist/packages/core/src/domain/shared/normalize-path.d.ts +0 -21
  783. package/dist/packages/core/src/domain/shared/normalize-path.d.ts.map +0 -1
  784. package/dist/packages/core/src/domain/shared/normalize-path.js +0 -29
  785. package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.d.ts +0 -25
  786. package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.d.ts.map +0 -1
  787. package/dist/packages/core/src/domain/shared/sdlc-lifecycle-mapping.js +0 -40
  788. package/dist/packages/core/src/infrastructure/di/modules/register-agents.d.ts +0 -8
  789. package/dist/packages/core/src/infrastructure/di/modules/register-agents.d.ts.map +0 -1
  790. package/dist/packages/core/src/infrastructure/di/modules/register-agents.js +0 -100
  791. package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.d.ts +0 -9
  792. package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.d.ts.map +0 -1
  793. package/dist/packages/core/src/infrastructure/di/modules/register-cloud-deploy.js +0 -82
  794. package/dist/packages/core/src/infrastructure/di/modules/register-deployment.d.ts +0 -7
  795. package/dist/packages/core/src/infrastructure/di/modules/register-deployment.d.ts.map +0 -1
  796. package/dist/packages/core/src/infrastructure/di/modules/register-deployment.js +0 -38
  797. package/dist/packages/core/src/infrastructure/di/modules/register-interactive.d.ts +0 -10
  798. package/dist/packages/core/src/infrastructure/di/modules/register-interactive.d.ts.map +0 -1
  799. package/dist/packages/core/src/infrastructure/di/modules/register-interactive.js +0 -41
  800. package/dist/packages/core/src/infrastructure/di/modules/register-repositories.d.ts +0 -8
  801. package/dist/packages/core/src/infrastructure/di/modules/register-repositories.d.ts.map +0 -1
  802. package/dist/packages/core/src/infrastructure/di/modules/register-repositories.js +0 -70
  803. package/dist/packages/core/src/infrastructure/di/modules/register-services.d.ts +0 -10
  804. package/dist/packages/core/src/infrastructure/di/modules/register-services.d.ts.map +0 -1
  805. package/dist/packages/core/src/infrastructure/di/modules/register-services.js +0 -113
  806. package/dist/packages/core/src/infrastructure/di/modules/register-tools.d.ts +0 -7
  807. package/dist/packages/core/src/infrastructure/di/modules/register-tools.d.ts.map +0 -1
  808. package/dist/packages/core/src/infrastructure/di/modules/register-tools.js +0 -16
  809. package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.d.ts +0 -12
  810. package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.d.ts.map +0 -1
  811. package/dist/packages/core/src/infrastructure/di/modules/register-use-cases.js +0 -327
  812. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.d.ts +0 -5
  813. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.d.ts.map +0 -1
  814. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/060-add-cloud-deploy-columns-to-applications.js +0 -36
  815. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.d.ts +0 -5
  816. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.d.ts.map +0 -1
  817. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/061-create-cloud-provider-tokens-table.js +0 -20
  818. package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.d.ts +0 -20
  819. package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.d.ts.map +0 -1
  820. package/dist/packages/core/src/infrastructure/repositories/sqlite-cloud-provider-tokens.repository.js +0 -75
  821. package/dist/packages/core/src/infrastructure/services/agents/agent-session-repository.registry.d.ts +0 -30
  822. package/dist/packages/core/src/infrastructure/services/agents/agent-session-repository.registry.d.ts.map +0 -1
  823. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.d.ts +0 -14
  824. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.d.ts.map +0 -1
  825. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.adapter.js +0 -28
  826. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.d.ts +0 -14
  827. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.d.ts.map +0 -1
  828. package/dist/packages/core/src/infrastructure/services/agents/feature-agent/phase-timing-context.adapter.js +0 -25
  829. package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.d.ts +0 -7
  830. package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.d.ts.map +0 -1
  831. package/dist/packages/core/src/infrastructure/services/cloud-deploy/aws-amplify.provider.stub.js +0 -17
  832. package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.d.ts +0 -21
  833. package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.d.ts.map +0 -1
  834. package/dist/packages/core/src/infrastructure/services/cloud-deploy/base-provider-stub.js +0 -22
  835. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.d.ts +0 -24
  836. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.d.ts.map +0 -1
  837. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-errors.js +0 -25
  838. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.d.ts +0 -19
  839. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.d.ts.map +0 -1
  840. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloud-deployment-provider.registry.js +0 -48
  841. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.d.ts +0 -52
  842. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.d.ts.map +0 -1
  843. package/dist/packages/core/src/infrastructure/services/cloud-deploy/cloudflare-pages.provider.js +0 -208
  844. package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.d.ts +0 -7
  845. package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.d.ts.map +0 -1
  846. package/dist/packages/core/src/infrastructure/services/cloud-deploy/gcp-cloud-run.provider.stub.js +0 -17
  847. package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.d.ts +0 -7
  848. package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.d.ts.map +0 -1
  849. package/dist/packages/core/src/infrastructure/services/cloud-deploy/netlify.provider.stub.js +0 -17
  850. package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.d.ts +0 -7
  851. package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.d.ts.map +0 -1
  852. package/dist/packages/core/src/infrastructure/services/cloud-deploy/vercel.provider.stub.js +0 -17
  853. package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.d.ts +0 -29
  854. package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.d.ts.map +0 -1
  855. package/dist/packages/core/src/infrastructure/services/crypto/local-secret-box.js +0 -48
  856. package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.d.ts +0 -23
  857. package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.d.ts.map +0 -1
  858. package/dist/packages/core/src/infrastructure/services/crypto/secret-key-file.js +0 -46
  859. package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.d.ts +0 -14
  860. package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.d.ts.map +0 -1
  861. package/dist/packages/core/src/infrastructure/services/events/in-memory-cloud-deployment-event-bus.js +0 -37
  862. package/dist/packages/core/src/infrastructure/services/git/git-commit.service.d.ts +0 -20
  863. package/dist/packages/core/src/infrastructure/services/git/git-commit.service.d.ts.map +0 -1
  864. package/dist/packages/core/src/infrastructure/services/git/git-commit.service.js +0 -99
  865. package/dist/packages/core/src/infrastructure/services/git/git-remote.service.d.ts +0 -23
  866. package/dist/packages/core/src/infrastructure/services/git/git-remote.service.d.ts.map +0 -1
  867. package/dist/packages/core/src/infrastructure/services/git/git-remote.service.js +0 -131
  868. package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.d.ts +0 -12
  869. package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.d.ts.map +0 -1
  870. package/dist/packages/core/src/infrastructure/services/ide-launchers/worktree-path.provider.js +0 -24
  871. package/dist/packages/core/src/infrastructure/services/logging/console-logger.d.ts +0 -14
  872. package/dist/packages/core/src/infrastructure/services/logging/console-logger.d.ts.map +0 -1
  873. package/dist/packages/core/src/infrastructure/services/logging/console-logger.js +0 -53
  874. package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.d.ts +0 -11
  875. package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.d.ts.map +0 -1
  876. package/dist/packages/core/src/infrastructure/services/process/process-liveness.adapter.js +0 -23
  877. package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.d.ts +0 -24
  878. package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.d.ts.map +0 -1
  879. package/dist/packages/core/src/infrastructure/services/spec/spec-yaml-parser.service.js +0 -124
  880. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.d.ts +0 -17
  881. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.d.ts.map +0 -1
  882. package/dist/packages/core/src/infrastructure/services/tool-installer/tool-metadata.provider.js +0 -31
  883. package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.d.ts +0 -10
  884. package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.d.ts.map +0 -1
  885. package/dist/src/presentation/cli/commands/app/cloud-providers/connect.command.js +0 -62
  886. package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.d.ts +0 -10
  887. package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.d.ts.map +0 -1
  888. package/dist/src/presentation/cli/commands/app/cloud-providers/github-login.command.js +0 -52
  889. package/dist/src/presentation/cli/commands/app/cloud-providers/index.d.ts +0 -10
  890. package/dist/src/presentation/cli/commands/app/cloud-providers/index.d.ts.map +0 -1
  891. package/dist/src/presentation/cli/commands/app/cloud-providers/index.js +0 -18
  892. package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.d.ts +0 -8
  893. package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.d.ts.map +0 -1
  894. package/dist/src/presentation/cli/commands/app/cloud-providers/ls.command.js +0 -40
  895. package/dist/src/presentation/cli/commands/app/deploy/index.d.ts +0 -8
  896. package/dist/src/presentation/cli/commands/app/deploy/index.d.ts.map +0 -1
  897. package/dist/src/presentation/cli/commands/app/deploy/index.js +0 -14
  898. package/dist/src/presentation/cli/commands/app/deploy/initiate.command.d.ts +0 -10
  899. package/dist/src/presentation/cli/commands/app/deploy/initiate.command.d.ts.map +0 -1
  900. package/dist/src/presentation/cli/commands/app/deploy/initiate.command.js +0 -86
  901. package/dist/src/presentation/cli/commands/app/deploy/status.command.d.ts +0 -8
  902. package/dist/src/presentation/cli/commands/app/deploy/status.command.d.ts.map +0 -1
  903. package/dist/src/presentation/cli/commands/app/deploy/status.command.js +0 -49
  904. package/dist/src/presentation/cli/commands/app/git/create-remote.command.d.ts +0 -10
  905. package/dist/src/presentation/cli/commands/app/git/create-remote.command.d.ts.map +0 -1
  906. package/dist/src/presentation/cli/commands/app/git/create-remote.command.js +0 -49
  907. package/dist/src/presentation/cli/commands/app/git/index.d.ts +0 -9
  908. package/dist/src/presentation/cli/commands/app/git/index.d.ts.map +0 -1
  909. package/dist/src/presentation/cli/commands/app/git/index.js +0 -13
  910. package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.d.ts +0 -11
  911. package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.d.ts.map +0 -1
  912. package/dist/src/presentation/web/app/actions/applications/commit-and-push-application-changes.js +0 -22
  913. package/dist/src/presentation/web/app/actions/applications/commit-application-changes.d.ts +0 -10
  914. package/dist/src/presentation/web/app/actions/applications/commit-application-changes.d.ts.map +0 -1
  915. package/dist/src/presentation/web/app/actions/applications/commit-application-changes.js +0 -22
  916. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.d.ts +0 -19
  917. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.d.ts.map +0 -1
  918. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/initiate/route.js +0 -43
  919. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.d.ts +0 -16
  920. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.d.ts.map +0 -1
  921. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/select-provider/route.js +0 -35
  922. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.d.ts +0 -16
  923. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.d.ts.map +0 -1
  924. package/dist/src/presentation/web/app/api/applications/[id]/cloud-deploy/status/route.js +0 -23
  925. package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.d.ts +0 -20
  926. package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.d.ts.map +0 -1
  927. package/dist/src/presentation/web/app/api/applications/[id]/git/create-remote/route.js +0 -31
  928. package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.d.ts +0 -18
  929. package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.d.ts.map +0 -1
  930. package/dist/src/presentation/web/app/api/cloud-providers/[provider]/connect/route.js +0 -38
  931. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.d.ts +0 -11
  932. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.d.ts.map +0 -1
  933. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-login/route.js +0 -24
  934. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.d.ts +0 -9
  935. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.d.ts.map +0 -1
  936. package/dist/src/presentation/web/app/api/cloud-providers/github/auth-status/route.js +0 -18
  937. package/dist/src/presentation/web/app/api/cloud-providers/route.d.ts +0 -10
  938. package/dist/src/presentation/web/app/api/cloud-providers/route.d.ts.map +0 -1
  939. package/dist/src/presentation/web/app/api/cloud-providers/route.js +0 -19
  940. package/dist/src/presentation/web/components/features/application-page/app-top-bar.d.ts +0 -27
  941. package/dist/src/presentation/web/components/features/application-page/app-top-bar.d.ts.map +0 -1
  942. package/dist/src/presentation/web/components/features/application-page/app-top-bar.js +0 -24
  943. package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.d.ts +0 -9
  944. package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.d.ts.map +0 -1
  945. package/dist/src/presentation/web/components/features/application-page/app-top-bar.stories.js +0 -79
  946. package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.d.ts +0 -8
  947. package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.d.ts.map +0 -1
  948. package/dist/src/presentation/web/components/features/application-page/application-page-loader.stories.js +0 -63
  949. package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.d.ts +0 -22
  950. package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.d.ts.map +0 -1
  951. package/dist/src/presentation/web/components/features/application-page/cloud-provider-icons.js +0 -28
  952. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.d.ts +0 -8
  953. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.d.ts.map +0 -1
  954. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.js +0 -61
  955. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.d.ts +0 -10
  956. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.d.ts.map +0 -1
  957. package/dist/src/presentation/web/components/features/application-page/connect-provider-modal.stories.js +0 -40
  958. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.d.ts +0 -5
  959. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.d.ts.map +0 -1
  960. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.js +0 -37
  961. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.d.ts +0 -8
  962. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.d.ts.map +0 -1
  963. package/dist/src/presentation/web/components/features/application-page/copy-prompt-button.stories.js +0 -13
  964. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.d.ts +0 -9
  965. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.d.ts.map +0 -1
  966. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.js +0 -85
  967. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.d.ts +0 -9
  968. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.d.ts.map +0 -1
  969. package/dist/src/presentation/web/components/features/application-page/create-github-repo-button.stories.js +0 -19
  970. package/dist/src/presentation/web/components/features/application-page/delete-button.d.ts +0 -6
  971. package/dist/src/presentation/web/components/features/application-page/delete-button.d.ts.map +0 -1
  972. package/dist/src/presentation/web/components/features/application-page/delete-button.js +0 -24
  973. package/dist/src/presentation/web/components/features/application-page/delete-button.stories.d.ts +0 -8
  974. package/dist/src/presentation/web/components/features/application-page/delete-button.stories.d.ts.map +0 -1
  975. package/dist/src/presentation/web/components/features/application-page/delete-button.stories.js +0 -16
  976. package/dist/src/presentation/web/components/features/application-page/deploy-button.d.ts +0 -8
  977. package/dist/src/presentation/web/components/features/application-page/deploy-button.d.ts.map +0 -1
  978. package/dist/src/presentation/web/components/features/application-page/deploy-button.js +0 -94
  979. package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.d.ts +0 -11
  980. package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.d.ts.map +0 -1
  981. package/dist/src/presentation/web/components/features/application-page/deploy-button.stories.js +0 -53
  982. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.d.ts +0 -13
  983. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.d.ts.map +0 -1
  984. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.js +0 -113
  985. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.d.ts +0 -8
  986. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.d.ts.map +0 -1
  987. package/dist/src/presentation/web/components/features/application-page/git-status-cluster.stories.js +0 -19
  988. package/dist/src/presentation/web/components/features/application-page/path-cluster.d.ts +0 -6
  989. package/dist/src/presentation/web/components/features/application-page/path-cluster.d.ts.map +0 -1
  990. package/dist/src/presentation/web/components/features/application-page/path-cluster.js +0 -32
  991. package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.d.ts +0 -8
  992. package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.d.ts.map +0 -1
  993. package/dist/src/presentation/web/components/features/application-page/path-cluster.stories.js +0 -19
  994. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.d.ts +0 -26
  995. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.d.ts.map +0 -1
  996. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.js +0 -30
  997. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.d.ts +0 -10
  998. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.d.ts.map +0 -1
  999. package/dist/src/presentation/web/components/features/application-page/provider-dropdown.stories.js +0 -80
  1000. package/dist/src/presentation/web/components/features/application-page/resizable-split.d.ts +0 -7
  1001. package/dist/src/presentation/web/components/features/application-page/resizable-split.d.ts.map +0 -1
  1002. package/dist/src/presentation/web/components/features/application-page/resizable-split.js +0 -30
  1003. package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.d.ts +0 -8
  1004. package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.d.ts.map +0 -1
  1005. package/dist/src/presentation/web/components/features/application-page/resizable-split.stories.js +0 -23
  1006. package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.d.ts +0 -12
  1007. package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.d.ts.map +0 -1
  1008. package/dist/src/presentation/web/components/features/application-page/run-dev-button.stories.js +0 -53
  1009. package/dist/src/presentation/web/components/features/application-page/session-chip.d.ts +0 -9
  1010. package/dist/src/presentation/web/components/features/application-page/session-chip.d.ts.map +0 -1
  1011. package/dist/src/presentation/web/components/features/application-page/session-chip.js +0 -38
  1012. package/dist/src/presentation/web/components/features/application-page/session-chip.stories.d.ts +0 -8
  1013. package/dist/src/presentation/web/components/features/application-page/session-chip.stories.d.ts.map +0 -1
  1014. package/dist/src/presentation/web/components/features/application-page/session-chip.stories.js +0 -16
  1015. package/dist/src/presentation/web/components/features/application-page/status-pill.d.ts +0 -8
  1016. package/dist/src/presentation/web/components/features/application-page/status-pill.d.ts.map +0 -1
  1017. package/dist/src/presentation/web/components/features/application-page/status-pill.js +0 -16
  1018. package/dist/src/presentation/web/components/features/application-page/status-pill.stories.d.ts +0 -8
  1019. package/dist/src/presentation/web/components/features/application-page/status-pill.stories.d.ts.map +0 -1
  1020. package/dist/src/presentation/web/components/features/application-page/status-pill.stories.js +0 -22
  1021. package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.d.ts +0 -15
  1022. package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.d.ts.map +0 -1
  1023. package/dist/src/presentation/web/components/features/application-page/terminal-tab.stories.js +0 -31
  1024. package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.d.ts +0 -14
  1025. package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.d.ts.map +0 -1
  1026. package/dist/src/presentation/web/components/features/application-page/use-dev-server-coordinator.js +0 -82
  1027. package/dist/src/presentation/web/components/features/application-page/view-body.d.ts +0 -17
  1028. package/dist/src/presentation/web/components/features/application-page/view-body.d.ts.map +0 -1
  1029. package/dist/src/presentation/web/components/features/application-page/view-body.js +0 -25
  1030. package/dist/src/presentation/web/components/features/application-page/view-body.stories.d.ts +0 -8
  1031. package/dist/src/presentation/web/components/features/application-page/view-body.stories.d.ts.map +0 -1
  1032. package/dist/src/presentation/web/components/features/application-page/view-body.stories.js +0 -42
  1033. package/dist/src/presentation/web/components/features/application-page/view-switcher.d.ts +0 -10
  1034. package/dist/src/presentation/web/components/features/application-page/view-switcher.d.ts.map +0 -1
  1035. package/dist/src/presentation/web/components/features/application-page/view-switcher.js +0 -18
  1036. package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.d.ts +0 -8
  1037. package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.d.ts.map +0 -1
  1038. package/dist/src/presentation/web/components/features/application-page/view-switcher.stories.js +0 -13
  1039. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.d.ts +0 -10
  1040. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.d.ts.map +0 -1
  1041. package/dist/src/presentation/web/components/features/application-page/web-preview-tab.stories.js +0 -49
  1042. package/dist/src/presentation/web/hooks/use-cloud-deploy-action.d.ts +0 -20
  1043. package/dist/src/presentation/web/hooks/use-cloud-deploy-action.d.ts.map +0 -1
  1044. package/dist/src/presentation/web/hooks/use-cloud-deploy-action.js +0 -120
  1045. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/app-paths-manifest.json +0 -3
  1046. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/build-manifest.json +0 -11
  1047. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route/server-reference-manifest.json +0 -4
  1048. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route.js +0 -7
  1049. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route.js.nft.json +0 -1
  1050. package/web/.next/server/app/api/applications/[id]/cloud-deploy/initiate/route_client-reference-manifest.js +0 -2
  1051. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/app-paths-manifest.json +0 -3
  1052. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/build-manifest.json +0 -11
  1053. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route/server-reference-manifest.json +0 -4
  1054. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js +0 -7
  1055. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js.map +0 -5
  1056. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route.js.nft.json +0 -1
  1057. package/web/.next/server/app/api/applications/[id]/cloud-deploy/select-provider/route_client-reference-manifest.js +0 -2
  1058. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/app-paths-manifest.json +0 -3
  1059. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/build-manifest.json +0 -11
  1060. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route/server-reference-manifest.json +0 -4
  1061. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js +0 -7
  1062. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js.map +0 -5
  1063. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route.js.nft.json +0 -1
  1064. package/web/.next/server/app/api/applications/[id]/cloud-deploy/status/route_client-reference-manifest.js +0 -2
  1065. package/web/.next/server/app/api/applications/[id]/git/create-remote/route/app-paths-manifest.json +0 -3
  1066. package/web/.next/server/app/api/applications/[id]/git/create-remote/route/build-manifest.json +0 -11
  1067. package/web/.next/server/app/api/applications/[id]/git/create-remote/route/server-reference-manifest.json +0 -4
  1068. package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js +0 -7
  1069. package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js.map +0 -5
  1070. package/web/.next/server/app/api/applications/[id]/git/create-remote/route.js.nft.json +0 -1
  1071. package/web/.next/server/app/api/applications/[id]/git/create-remote/route_client-reference-manifest.js +0 -2
  1072. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/app-paths-manifest.json +0 -3
  1073. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/build-manifest.json +0 -11
  1074. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route/server-reference-manifest.json +0 -4
  1075. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js +0 -7
  1076. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js.map +0 -5
  1077. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route.js.nft.json +0 -1
  1078. package/web/.next/server/app/api/cloud-providers/[provider]/connect/route_client-reference-manifest.js +0 -2
  1079. package/web/.next/server/app/api/cloud-providers/github/auth-login/route/app-paths-manifest.json +0 -3
  1080. package/web/.next/server/app/api/cloud-providers/github/auth-login/route/build-manifest.json +0 -11
  1081. package/web/.next/server/app/api/cloud-providers/github/auth-login/route/server-reference-manifest.json +0 -4
  1082. package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js +0 -7
  1083. package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js.map +0 -5
  1084. package/web/.next/server/app/api/cloud-providers/github/auth-login/route.js.nft.json +0 -1
  1085. package/web/.next/server/app/api/cloud-providers/github/auth-login/route_client-reference-manifest.js +0 -2
  1086. package/web/.next/server/app/api/cloud-providers/github/auth-status/route/app-paths-manifest.json +0 -3
  1087. package/web/.next/server/app/api/cloud-providers/github/auth-status/route/build-manifest.json +0 -11
  1088. package/web/.next/server/app/api/cloud-providers/github/auth-status/route/server-reference-manifest.json +0 -4
  1089. package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js +0 -7
  1090. package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js.map +0 -5
  1091. package/web/.next/server/app/api/cloud-providers/github/auth-status/route.js.nft.json +0 -1
  1092. package/web/.next/server/app/api/cloud-providers/github/auth-status/route_client-reference-manifest.js +0 -2
  1093. package/web/.next/server/app/api/cloud-providers/route/app-paths-manifest.json +0 -3
  1094. package/web/.next/server/app/api/cloud-providers/route/build-manifest.json +0 -11
  1095. package/web/.next/server/app/api/cloud-providers/route/server-reference-manifest.json +0 -4
  1096. package/web/.next/server/app/api/cloud-providers/route.js +0 -7
  1097. package/web/.next/server/app/api/cloud-providers/route.js.map +0 -5
  1098. package/web/.next/server/app/api/cloud-providers/route.js.nft.json +0 -1
  1099. package/web/.next/server/app/api/cloud-providers/route_client-reference-manifest.js +0 -2
  1100. package/web/.next/server/chunks/20c8b_app_api_applications_[id]_cloud-deploy_select-provider_route_actions_0b41b3f7.js +0 -3
  1101. package/web/.next/server/chunks/20c8b_app_api_applications_[id]_cloud-deploy_select-provider_route_actions_0b41b3f7.js.map +0 -1
  1102. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_cloud-providers_route_actions_b29d775a.js +0 -3
  1103. package/web/.next/server/chunks/744ca_web__next-internal_server_app_api_cloud-providers_route_actions_b29d775a.js.map +0 -1
  1104. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_initiate_route_actions_b4867bc6.js +0 -3
  1105. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_initiate_route_actions_b4867bc6.js.map +0 -1
  1106. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_status_route_actions_9a3b876b.js +0 -3
  1107. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_cloud-deploy_status_route_actions_9a3b876b.js.map +0 -1
  1108. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_git_create-remote_route_actions_41c42379.js +0 -3
  1109. package/web/.next/server/chunks/8ba4b_server_app_api_applications_[id]_git_create-remote_route_actions_41c42379.js.map +0 -1
  1110. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_[provider]_connect_route_actions_a0ca54c4.js +0 -3
  1111. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_[provider]_connect_route_actions_a0ca54c4.js.map +0 -1
  1112. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-login_route_actions_7bef847d.js +0 -3
  1113. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-login_route_actions_7bef847d.js.map +0 -1
  1114. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-status_route_actions_8cdaeffc.js +0 -3
  1115. package/web/.next/server/chunks/8ba4b_server_app_api_cloud-providers_github_auth-status_route_actions_8cdaeffc.js.map +0 -1
  1116. package/web/.next/server/chunks/[root-of-the-server]__2c15d675._.js +0 -3
  1117. package/web/.next/server/chunks/[root-of-the-server]__2c15d675._.js.map +0 -1
  1118. package/web/.next/server/chunks/[root-of-the-server]__3b3b8980._.js +0 -9
  1119. package/web/.next/server/chunks/[root-of-the-server]__3b3b8980._.js.map +0 -1
  1120. package/web/.next/server/chunks/[root-of-the-server]__631f5bbe._.js +0 -3
  1121. package/web/.next/server/chunks/[root-of-the-server]__631f5bbe._.js.map +0 -1
  1122. package/web/.next/server/chunks/[root-of-the-server]__770c0c09._.js +0 -3
  1123. package/web/.next/server/chunks/[root-of-the-server]__770c0c09._.js.map +0 -1
  1124. package/web/.next/server/chunks/[root-of-the-server]__83e9501d._.js +0 -3
  1125. package/web/.next/server/chunks/[root-of-the-server]__83e9501d._.js.map +0 -1
  1126. package/web/.next/server/chunks/[root-of-the-server]__9017bfe4._.js +0 -3
  1127. package/web/.next/server/chunks/[root-of-the-server]__9017bfe4._.js.map +0 -1
  1128. package/web/.next/server/chunks/[root-of-the-server]__90eb0e51._.js +0 -3
  1129. package/web/.next/server/chunks/[root-of-the-server]__90eb0e51._.js.map +0 -1
  1130. package/web/.next/server/chunks/[root-of-the-server]__9bf8eb9d._.js +0 -3
  1131. package/web/.next/server/chunks/[root-of-the-server]__9bf8eb9d._.js.map +0 -1
  1132. package/web/.next/server/chunks/[root-of-the-server]__b78eeb4f._.js +0 -3
  1133. package/web/.next/server/chunks/[root-of-the-server]__b78eeb4f._.js.map +0 -1
  1134. package/web/.next/server/chunks/[root-of-the-server]__cac531cb._.js +0 -3
  1135. package/web/.next/server/chunks/[root-of-the-server]__cac531cb._.js.map +0 -1
  1136. package/web/.next/server/chunks/[root-of-the-server]__e7e98696._.js +0 -3
  1137. package/web/.next/server/chunks/[root-of-the-server]__e7e98696._.js.map +0 -1
  1138. package/web/.next/server/chunks/ssr/[root-of-the-server]__01559f4c._.js +0 -3
  1139. package/web/.next/server/chunks/ssr/[root-of-the-server]__01559f4c._.js.map +0 -1
  1140. package/web/.next/server/chunks/ssr/[root-of-the-server]__0f0865b6._.js +0 -3
  1141. package/web/.next/server/chunks/ssr/[root-of-the-server]__0f0865b6._.js.map +0 -1
  1142. package/web/.next/server/chunks/ssr/[root-of-the-server]__494cf0fb._.js.map +0 -1
  1143. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e103c3._.js +0 -3
  1144. package/web/.next/server/chunks/ssr/[root-of-the-server]__78e103c3._.js.map +0 -1
  1145. package/web/.next/server/chunks/ssr/_15173081._.js +0 -3
  1146. package/web/.next/server/chunks/ssr/_15173081._.js.map +0 -1
  1147. package/web/.next/server/chunks/ssr/_1da7af78._.js +0 -3
  1148. package/web/.next/server/chunks/ssr/_1da7af78._.js.map +0 -1
  1149. package/web/.next/server/chunks/ssr/_22d60ea8._.js +0 -3
  1150. package/web/.next/server/chunks/ssr/_22d60ea8._.js.map +0 -1
  1151. package/web/.next/server/chunks/ssr/_28d8fc85._.js +0 -3
  1152. package/web/.next/server/chunks/ssr/_28d8fc85._.js.map +0 -1
  1153. package/web/.next/server/chunks/ssr/_35b56ded._.js +0 -3
  1154. package/web/.next/server/chunks/ssr/_35b56ded._.js.map +0 -1
  1155. package/web/.next/server/chunks/ssr/_4b57bcc3._.js +0 -9
  1156. package/web/.next/server/chunks/ssr/_4b57bcc3._.js.map +0 -1
  1157. package/web/.next/server/chunks/ssr/_5b868d9b._.js +0 -3
  1158. package/web/.next/server/chunks/ssr/_5b868d9b._.js.map +0 -1
  1159. package/web/.next/server/chunks/ssr/_5bf2415e._.js.map +0 -1
  1160. package/web/.next/server/chunks/ssr/_6401fcb4._.js +0 -3
  1161. package/web/.next/server/chunks/ssr/_6401fcb4._.js.map +0 -1
  1162. package/web/.next/server/chunks/ssr/_66d02826._.js +0 -3
  1163. package/web/.next/server/chunks/ssr/_66d02826._.js.map +0 -1
  1164. package/web/.next/server/chunks/ssr/_68befcc0._.js +0 -3
  1165. package/web/.next/server/chunks/ssr/_68befcc0._.js.map +0 -1
  1166. package/web/.next/server/chunks/ssr/_72cc0c05._.js.map +0 -1
  1167. package/web/.next/server/chunks/ssr/_82c47cc2._.js +0 -3
  1168. package/web/.next/server/chunks/ssr/_82c47cc2._.js.map +0 -1
  1169. package/web/.next/server/chunks/ssr/_bb8735f7._.js.map +0 -1
  1170. package/web/.next/server/chunks/ssr/_e9a4c41e._.js +0 -3
  1171. package/web/.next/server/chunks/ssr/_e9a4c41e._.js.map +0 -1
  1172. package/web/.next/server/chunks/ssr/_ef697bcb._.js +0 -3
  1173. package/web/.next/server/chunks/ssr/_ef697bcb._.js.map +0 -1
  1174. package/web/.next/server/chunks/ssr/node_modules__pnpm_03825509._.js +0 -3
  1175. package/web/.next/server/chunks/ssr/node_modules__pnpm_03825509._.js.map +0 -1
  1176. package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js +0 -3
  1177. package/web/.next/server/chunks/ssr/node_modules__pnpm_747b43ac._.js.map +0 -1
  1178. package/web/.next/server/chunks/ssr/node_modules__pnpm_b4a5d907._.js +0 -3
  1179. package/web/.next/server/chunks/ssr/node_modules__pnpm_b4a5d907._.js.map +0 -1
  1180. package/web/.next/static/chunks/0412f29f896ee09c.js +0 -1
  1181. package/web/.next/static/chunks/0b7fc927918d27b7.js +0 -1
  1182. package/web/.next/static/chunks/0de93c756f719ec3.js +0 -1
  1183. package/web/.next/static/chunks/19327577e3a31a12.js +0 -1
  1184. package/web/.next/static/chunks/21122562afc22707.js +0 -1
  1185. package/web/.next/static/chunks/4f09cbb36f0ee7bc.js +0 -1
  1186. package/web/.next/static/chunks/4fdc8e750df8ca80.js +0 -1
  1187. package/web/.next/static/chunks/544aff2bfab6627d.js +0 -1
  1188. package/web/.next/static/chunks/5a686ebc9fc2add1.js +0 -1
  1189. package/web/.next/static/chunks/63b0b9bd3d9e77c1.js +0 -1
  1190. package/web/.next/static/chunks/693bac34da5f5767.js +0 -1
  1191. package/web/.next/static/chunks/6a7d6f15d3366b65.js +0 -1
  1192. package/web/.next/static/chunks/6d56af6ae0a033a6.js +0 -5
  1193. package/web/.next/static/chunks/8a44ba83aaeb4b83.js +0 -1
  1194. package/web/.next/static/chunks/9b34d8c773ee0165.js +0 -1
  1195. package/web/.next/static/chunks/abe2a450d1e2f77d.js +0 -1
  1196. package/web/.next/static/chunks/b7c8bf8006038a6c.js +0 -1
  1197. package/web/.next/static/chunks/c6011887cf4bc18e.js +0 -1
  1198. package/web/.next/static/chunks/c7659438d8afcb6b.js +0 -1
  1199. package/web/.next/static/chunks/d9ca1010cff1e77d.css +0 -1
  1200. package/web/.next/static/chunks/f7677be24e542028.js +0 -7
  1201. package/web/.next/static/chunks/fb0dc8b38808eaae.js +0 -1
  1202. /package/dist/packages/core/src/application/{use-cases/applications → workflows}/application-creation.workflow.d.ts +0 -0
  1203. /package/dist/packages/core/src/application/{use-cases/applications → workflows}/application-creation.workflow.js +0 -0
  1204. /package/web/.next/server/app/{api/applications/[id]/cloud-deploy/initiate/route.js.map → plugins/page.js.map} +0 -0
  1205. /package/web/.next/server/chunks/{[root-of-the-server]__582ebd78._.js.map → [root-of-the-server]__0702fed9._.js.map} +0 -0
  1206. /package/web/.next/server/chunks/{[root-of-the-server]__76a92098._.js.map → [root-of-the-server]__88c71186._.js.map} +0 -0
  1207. /package/web/.next/server/chunks/{[root-of-the-server]__7de24eaf._.js.map → [root-of-the-server]__8b6abaa3._.js.map} +0 -0
  1208. /package/web/.next/server/chunks/{[root-of-the-server]__1133b25d._.js.map → [root-of-the-server]__dbb420e4._.js.map} +0 -0
  1209. /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → rDCSfspG1D66StEgE31Em}/_buildManifest.js +0 -0
  1210. /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → rDCSfspG1D66StEgE31Em}/_clientMiddlewareManifest.json +0 -0
  1211. /package/web/.next/static/{FRWpPK0Bg6IM4rVnqge0Z → rDCSfspG1D66StEgE31Em}/_ssgManifest.js +0 -0
@@ -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/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/square.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/play.ts","../../../../../../../src/presentation/web/hooks/deployment-status-provider.tsx","../../../../../../../src/presentation/web/app/actions/data%3A812b07%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A0e8016%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A31a09d%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3Aad3f34%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A5392ec%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/hooks/deployment-status-store.ts","../../../../../../../src/presentation/web/hooks/use-deploy-action.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../src/presentation/web/components/common/base-drawer/index.ts","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../src/presentation/web/components/common/page-header/page-header.tsx","../../../../../../../src/presentation/web/components/ui/card.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTUgM2g2djYiIC8+CiAgPHBhdGggZD0iTTEwIDE0IDIxIDMiIC8+CiAgPHBhdGggZD0iTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/external-link\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 ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n];\n\n/**\n * @component @name Square\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square\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 Square = createLucideIcon('square', __iconNode);\n\nexport default Square;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n 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',\n key: '10ikf1',\n },\n ],\n];\n\n/**\n * @component @name Play\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSA1YTIgMiAwIDAgMSAzLjAwOC0xLjcyOGwxMS45OTcgNi45OThhMiAyIDAgMCAxIC4wMDMgMy40NThsLTEyIDdBMiAyIDAgMCAxIDUgMTl6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/play\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 Play = createLucideIcon('play', __iconNode);\n\nexport default Play;\n","'use client';\n\n/**\n * DeploymentStatusProvider\n *\n * Wraps the dashboard with a shared deployment-status store seeded from\n * SSR data (ListDeploymentsUseCase via get-graph-data). All components\n * that call `useDeployAction(targetId)` subscribe to the same store, so\n * the \"click Run on node → tab shows URL instantly\" bug and the\n * \"URL lost after refresh\" bug are both resolved by construction.\n *\n * All business logic lives in use cases on the backend. This provider\n * owns only UI state transitions: which entries are hydrated, which are\n * loading, which have errors, and which need polling.\n */\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n} from 'react';\nimport type { DeploymentStatusEntry } from '@shepai/core/application/ports/output/services/deployment-service.interface';\nimport { DeploymentState } from '@shepai/core/domain/generated/output';\nimport { deployFeature } from '@/app/actions/deploy-feature';\nimport { deployRepository } from '@/app/actions/deploy-repository';\nimport { deployApplication } from '@/app/actions/deploy-application';\nimport { stopDeployment } from '@/app/actions/stop-deployment';\nimport { getDeploymentStatus } from '@/app/actions/get-deployment-status';\nimport { createLogger } from '@/lib/logger';\nimport {\n DeploymentStatusStore,\n type DeploymentEntryState,\n EMPTY_ENTRY,\n} from './deployment-status-store';\n\nconst log = createLogger('[DeploymentStatusProvider]');\n\nconst POLL_INTERVAL_MS = 3000;\nconst ACTIVE_STATES: ReadonlySet<DeploymentState> = new Set([\n DeploymentState.Booting,\n DeploymentState.Ready,\n]);\n\nexport interface DeployActionInput {\n targetId: string;\n targetType: 'feature' | 'repository' | 'application';\n repositoryPath: string;\n branch?: string;\n}\n\ninterface DeploymentContextValue {\n store: DeploymentStatusStore;\n deploy: (input: DeployActionInput) => Promise<void>;\n stop: (targetId: string) => Promise<void>;\n ensureHydrated: (targetId: string) => void;\n}\n\nconst DeploymentStatusContext = createContext<DeploymentContextValue | null>(null);\n\nexport function DeploymentStatusProvider({\n initialDeployments,\n children,\n}: {\n initialDeployments: DeploymentStatusEntry[];\n children: ReactNode;\n}) {\n // One store per provider instance. Stable across renders.\n const storeRef = useRef<DeploymentStatusStore | null>(null);\n if (!storeRef.current) {\n storeRef.current = new DeploymentStatusStore();\n storeRef.current.hydrate(initialDeployments);\n }\n const store = storeRef.current;\n\n // Re-hydrate when SSR data changes (e.g. after graph-data poll).\n useEffect(() => {\n store.hydrate(initialDeployments);\n }, [initialDeployments, store]);\n\n // ── Polling ──────────────────────────────────────────────────────────\n // One interval per targetId. Started when an entry becomes active\n // (Booting/Ready) and stopped when it is no longer active.\n const pollIntervalsRef = useRef<Map<string, ReturnType<typeof setInterval>>>(new Map());\n\n const stopPolling = useCallback((targetId: string) => {\n const existing = pollIntervalsRef.current.get(targetId);\n if (existing) {\n clearInterval(existing);\n pollIntervalsRef.current.delete(targetId);\n }\n }, []);\n\n const startPolling = useCallback(\n (targetId: string) => {\n if (pollIntervalsRef.current.has(targetId)) return;\n const interval = setInterval(async () => {\n let result;\n try {\n result = await getDeploymentStatus(targetId);\n } catch (err) {\n log.warn(`poll failed for \"${targetId}\"`, err);\n store.setStatus(targetId, null);\n stopPolling(targetId);\n return;\n }\n if (!result || result.state === DeploymentState.Stopped) {\n store.setStatus(targetId, null);\n stopPolling(targetId);\n return;\n }\n store.setStatus(targetId, result);\n }, POLL_INTERVAL_MS);\n pollIntervalsRef.current.set(targetId, interval);\n },\n [store, stopPolling]\n );\n\n // Reconcile polling with store state on every change.\n useEffect(() => {\n const intervals = pollIntervalsRef.current;\n const reconcile = () => {\n // Stop polls for entries that are no longer active.\n for (const [targetId] of intervals) {\n const entry = store.getEntry(targetId);\n if (!entry.status || !ACTIVE_STATES.has(entry.status)) {\n stopPolling(targetId);\n }\n }\n };\n const unsubscribe = store.subscribeAll(reconcile);\n return () => {\n unsubscribe();\n for (const [, interval] of intervals) clearInterval(interval);\n intervals.clear();\n };\n }, [store, stopPolling]);\n\n // ── Mount hydration per targetId ─────────────────────────────────────\n // When a hook subscribes to a targetId that was not in the SSR hydration\n // (e.g. a stale page with deployments started in another tab), fetch its\n // status once from the backend via getDeploymentStatus → use case.\n const ensureHydrated = useCallback(\n (targetId: string) => {\n if (!targetId) return;\n const entry = store.getEntry(targetId);\n if (entry.hydrated) return;\n // Mark hydrated immediately to dedupe concurrent callers.\n store.update(targetId, { hydrated: true });\n void (async () => {\n try {\n const result = await getDeploymentStatus(targetId);\n store.setStatus(targetId, result);\n if (result && ACTIVE_STATES.has(result.state)) startPolling(targetId);\n } catch (err) {\n log.warn(`ensureHydrated failed for \"${targetId}\"`, err);\n }\n })();\n },\n [store, startPolling]\n );\n\n // ── Actions ──────────────────────────────────────────────────────────\n const deploy = useCallback(\n async (input: DeployActionInput) => {\n store.update(input.targetId, { deployLoading: true, deployError: null });\n try {\n const result =\n input.targetType === 'feature'\n ? await deployFeature(input.targetId)\n : input.targetType === 'application'\n ? await deployApplication(input.targetId)\n : await deployRepository(input.repositoryPath);\n if (!result.success) {\n store.update(input.targetId, {\n deployLoading: false,\n deployError: result.error ?? 'An unexpected error occurred',\n });\n return;\n }\n store.update(input.targetId, {\n deployLoading: false,\n status: result.state ?? null,\n url: null,\n hydrated: true,\n targetType: input.targetType,\n });\n startPolling(input.targetId);\n } catch (err) {\n const message = err instanceof Error ? err.message : 'An unexpected error occurred';\n store.update(input.targetId, { deployLoading: false, deployError: message });\n }\n },\n [store, startPolling]\n );\n\n const stop = useCallback(\n async (targetId: string) => {\n if (!targetId) return;\n store.update(targetId, { stopLoading: true });\n try {\n const result = await stopDeployment(targetId);\n if (result.success) {\n stopPolling(targetId);\n store.update(targetId, {\n stopLoading: false,\n status: null,\n url: null,\n });\n } else {\n store.update(targetId, { stopLoading: false });\n }\n } catch (err) {\n log.warn('stop error (non-critical)', err);\n store.update(targetId, { stopLoading: false });\n }\n },\n [store, stopPolling]\n );\n\n const value = useMemo<DeploymentContextValue>(\n () => ({ store, deploy, stop, ensureHydrated }),\n [store, deploy, stop, ensureHydrated]\n );\n\n return (\n <DeploymentStatusContext.Provider value={value}>{children}</DeploymentStatusContext.Provider>\n );\n}\n\nexport function useDeploymentStatusContext(): DeploymentContextValue {\n const ctx = useContext(DeploymentStatusContext);\n if (!ctx) {\n throw new Error('useDeploymentStatusContext must be used within a <DeploymentStatusProvider>');\n }\n return ctx;\n}\n\n/**\n * Non-throwing variant used by presentational hooks (e.g. useDeployAction)\n * that may render inside Storybook or other isolated contexts without\n * a provider. Returns a stub store/actions that do nothing.\n */\nexport function useDeploymentStatusContextOptional(): DeploymentContextValue {\n const ctx = useContext(DeploymentStatusContext);\n if (ctx) return ctx;\n return FALLBACK_CONTEXT;\n}\n\nconst FALLBACK_STORE = new DeploymentStatusStore();\nconst FALLBACK_CONTEXT: DeploymentContextValue = {\n store: FALLBACK_STORE,\n deploy: async () => {\n /* no-op */\n },\n stop: async () => {\n /* no-op */\n },\n ensureHydrated: () => {\n /* no-op */\n },\n};\n\nexport { EMPTY_ENTRY, type DeploymentEntryState };\n","/* __next_internal_action_entry_do_not_use__ [{\"40026de899f93ce7cd1fdf1a0ee013dad77cdc4f03\":\"deployFeature\"},\"src/presentation/web/app/actions/deploy-feature.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40026de899f93ce7cd1fdf1a0ee013dad77cdc4f03\",callServer,void 0,findSourceMapURL,\"deployFeature\");export{$$RSC_SERVER_ACTION_0 as deployFeature};","/* __next_internal_action_entry_do_not_use__ [{\"40108be7384990f668028a97284b5ae9db570b1965\":\"deployRepository\"},\"src/presentation/web/app/actions/deploy-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40108be7384990f668028a97284b5ae9db570b1965\",callServer,void 0,findSourceMapURL,\"deployRepository\");export{$$RSC_SERVER_ACTION_0 as deployRepository};","/* __next_internal_action_entry_do_not_use__ [{\"406e6f424ebf1e3b734864e08e09226a559105f605\":\"deployApplication\"},\"src/presentation/web/app/actions/deploy-application.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"406e6f424ebf1e3b734864e08e09226a559105f605\",callServer,void 0,findSourceMapURL,\"deployApplication\");export{$$RSC_SERVER_ACTION_0 as deployApplication};","/* __next_internal_action_entry_do_not_use__ [{\"40425dc4804963cdc2f5af0bdc1e7594e877baaf11\":\"stopDeployment\"},\"src/presentation/web/app/actions/stop-deployment.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40425dc4804963cdc2f5af0bdc1e7594e877baaf11\",callServer,void 0,findSourceMapURL,\"stopDeployment\");export{$$RSC_SERVER_ACTION_0 as stopDeployment};","/* __next_internal_action_entry_do_not_use__ [{\"40eb5c7ddaa143cbe9dc2c73f7bb19a5d89b533a7d\":\"getDeploymentStatus\"},\"src/presentation/web/app/actions/get-deployment-status.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40eb5c7ddaa143cbe9dc2c73f7bb19a5d89b533a7d\",callServer,void 0,findSourceMapURL,\"getDeploymentStatus\");export{$$RSC_SERVER_ACTION_0 as getDeploymentStatus};","/**\n * Deployment Status Store\n *\n * External store (useSyncExternalStore-compatible) that holds the shared\n * deployment state keyed by targetId. Multiple components subscribed to\n * the same targetId see the same state — fixes the node/drawer-out-of-sync\n * bug and makes page-refresh hydration trivial.\n *\n * Mutation paths (deploy/stop/poll) go through server actions that wrap\n * use cases — this module stores state only and never contains business\n * logic.\n */\n\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\nimport type {\n DeploymentStatus,\n DeploymentStatusEntry,\n} from '@shepai/core/application/ports/output/services/deployment-service.interface';\n\nexport interface DeploymentEntryState {\n status: DeploymentState | null;\n url: string | null;\n targetType: string | null;\n /** Whether mount-hydration (listDeployments / getDeploymentStatus) has completed for this targetId. */\n hydrated: boolean;\n deployLoading: boolean;\n stopLoading: boolean;\n deployError: string | null;\n}\n\nexport const EMPTY_ENTRY: DeploymentEntryState = {\n status: null,\n url: null,\n targetType: null,\n hydrated: false,\n deployLoading: false,\n stopLoading: false,\n deployError: null,\n};\n\ntype Listener = () => void;\n\nexport class DeploymentStatusStore {\n private entries = new Map<string, DeploymentEntryState>();\n private listeners = new Map<string, Set<Listener>>();\n private globalListeners = new Set<Listener>();\n\n /** Seed the store from SSR data (ListDeploymentsUseCase output). */\n hydrate(entries: DeploymentStatusEntry[]): void {\n // Mark every SSR entry as hydrated and merge into the map.\n const seen = new Set<string>();\n for (const entry of entries) {\n seen.add(entry.targetId);\n this.update(entry.targetId, {\n status: entry.state,\n url: entry.url,\n targetType: entry.targetType,\n hydrated: true,\n });\n }\n // Any previously tracked entries missing from the SSR list are stale —\n // mark them hydrated with null state so subscribers learn their\n // deployment is gone.\n for (const [targetId, existing] of this.entries) {\n if (!seen.has(targetId) && existing.hydrated && existing.status !== null) {\n this.update(targetId, { status: null, url: null });\n } else if (!seen.has(targetId) && !existing.hydrated) {\n this.update(targetId, { hydrated: true });\n }\n }\n }\n\n getEntry(targetId: string): DeploymentEntryState {\n return this.entries.get(targetId) ?? EMPTY_ENTRY;\n }\n\n update(targetId: string, patch: Partial<DeploymentEntryState>): void {\n const current = this.entries.get(targetId) ?? EMPTY_ENTRY;\n const next: DeploymentEntryState = { ...current, ...patch };\n this.entries.set(targetId, next);\n this.notify(targetId);\n }\n\n /** Apply a status snapshot (from a server action result) to a targetId. */\n setStatus(targetId: string, status: DeploymentStatus | null): void {\n if (status === null) {\n this.update(targetId, { status: null, url: null, hydrated: true });\n return;\n }\n this.update(targetId, {\n status: status.state,\n url: status.url,\n hydrated: true,\n });\n }\n\n subscribe(targetId: string, listener: Listener): () => void {\n let set = this.listeners.get(targetId);\n if (!set) {\n set = new Set();\n this.listeners.set(targetId, set);\n }\n set.add(listener);\n return () => {\n set?.delete(listener);\n if (set?.size === 0) this.listeners.delete(targetId);\n };\n }\n\n subscribeAll(listener: Listener): () => void {\n this.globalListeners.add(listener);\n return () => {\n this.globalListeners.delete(listener);\n };\n }\n\n private notify(targetId: string): void {\n const set = this.listeners.get(targetId);\n if (set) for (const l of set) l();\n for (const l of this.globalListeners) l();\n }\n}\n","'use client';\n\n/**\n * useDeployAction\n *\n * Thin subscriber to the shared DeploymentStatusProvider, scoped to one\n * targetId. All components that call this hook with the same targetId\n * see the same state — a click on a node updates the drawer instantly,\n * and state survives page refresh via SSR hydration.\n *\n * Business logic (start/stop/status) lives in backend use cases — this\n * hook contains zero decision-making code.\n */\n\nimport { useEffect, useSyncExternalStore, useCallback } from 'react';\nimport type { DeploymentState } from '@shepai/core/domain/generated/output';\nimport {\n useDeploymentStatusContextOptional,\n type DeployActionInput,\n} from './deployment-status-provider';\n\nexport type { DeployActionInput };\n\n/** Stable no-op unsubscribe for hooks called with a null input. */\nfunction noop(): void {\n /* no-op */\n}\n\nexport interface DeployActionState {\n deploy: () => Promise<void>;\n stop: () => Promise<void>;\n deployLoading: boolean;\n stopLoading: boolean;\n deployError: string | null;\n status: DeploymentState | null;\n url: string | null;\n}\n\nexport function useDeployAction(input: DeployActionInput | null): DeployActionState {\n const { store, deploy, stop, ensureHydrated } = useDeploymentStatusContextOptional();\n const targetId = input?.targetId ?? '';\n\n // Subscribe to the store entry for this targetId.\n const subscribe = useCallback(\n (listener: () => void) => {\n if (!targetId) return noop;\n return store.subscribe(targetId, listener);\n },\n [store, targetId]\n );\n const getSnapshot = useCallback(\n () => (targetId ? store.getEntry(targetId) : store.getEntry('')),\n [store, targetId]\n );\n const entry = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n\n // On mount (or when targetId changes), ensure the entry is hydrated.\n useEffect(() => {\n if (targetId) ensureHydrated(targetId);\n }, [targetId, ensureHydrated]);\n\n const handleDeploy = useCallback(async () => {\n if (!input) return;\n await deploy(input);\n }, [deploy, input]);\n\n const handleStop = useCallback(async () => {\n if (!targetId) return;\n await stop(targetId);\n }, [stop, targetId]);\n\n return {\n deploy: handleDeploy,\n stop: handleStop,\n deployLoading: entry.deployLoading,\n stopLoading: entry.stopLoading,\n deployError: entry.deployError,\n status: entry.status,\n url: entry.url,\n };\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTloOCIgLz4KICA8cGF0aCBkPSJtNCAxNyA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/terminal\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 Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","export { BaseDrawer, type BaseDrawerProps } from './base-drawer';\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface PageHeaderProps {\n title: string;\n description?: string;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function PageHeader({ title, description, children, className }: PageHeaderProps) {\n return (\n <header className={cn('flex items-center justify-between gap-4', className)}>\n <div className=\"space-y-1\">\n <h1 className=\"text-2xl font-bold tracking-tight\">{title}</h1>\n {description ? <p className=\"text-muted-foreground\">{description}</p> : null}\n </div>\n {children ? <div data-slot=\"actions\">{children}</div> : null}\n </header>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('bg-card text-card-foreground rounded-xl border shadow', className)}\n {...props}\n />\n )\n);\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n )\n);\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-6 pt-0', className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,11]}
@@ -1,3 +0,0 @@
1
- module.exports=[577127,a=>{"use strict";var b=a.i(944592),c=a.i(559653),d=a.i(563496),e=a.i(406175),f=a.i(307420),g=a.i(5472),h=a.i(666873),i=a.i(779406),j=a.i(417329),k=a.i(748939),l=a.i(556365),m="rovingFocusGroup.onEntryFocus",n={bubbles:!1,cancelable:!0},o="RovingFocusGroup",[p,q,r]=(0,d.createCollection)(o),[s,t]=(0,f.createContextScope)(o,[r]),[u,v]=s(o),w=b.forwardRef((a,b)=>(0,l.jsx)(p.Provider,{scope:a.__scopeRovingFocusGroup,children:(0,l.jsx)(p.Slot,{scope:a.__scopeRovingFocusGroup,children:(0,l.jsx)(x,{...a,ref:b})})}));w.displayName=o;var x=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:f,orientation:g,loop:p=!1,dir:r,currentTabStopId:s,defaultCurrentTabStopId:t,onCurrentTabStopIdChange:v,onEntryFocus:w,preventScrollOnEntryFocus:x=!1,...y}=a,z=b.useRef(null),A=(0,e.useComposedRefs)(d,z),C=(0,k.useDirection)(r),[D,E]=(0,j.useControllableState)({prop:s,defaultProp:t??null,onChange:v,caller:o}),[F,G]=b.useState(!1),H=(0,i.useCallbackRef)(w),I=q(f),J=b.useRef(!1),[K,L]=b.useState(0);return b.useEffect(()=>{let a=z.current;if(a)return a.addEventListener(m,H),()=>a.removeEventListener(m,H)},[H]),(0,l.jsx)(u,{scope:f,orientation:g,dir:C,loop:p,currentTabStopId:D,onItemFocus:b.useCallback(a=>E(a),[E]),onItemShiftTab:b.useCallback(()=>G(!0),[]),onFocusableItemAdd:b.useCallback(()=>L(a=>a+1),[]),onFocusableItemRemove:b.useCallback(()=>L(a=>a-1),[]),children:(0,l.jsx)(h.Primitive.div,{tabIndex:F||0===K?-1:0,"data-orientation":g,...y,ref:A,style:{outline:"none",...a.style},onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,()=>{J.current=!0}),onFocus:(0,c.composeEventHandlers)(a.onFocus,a=>{let b=!J.current;if(a.target===a.currentTarget&&b&&!F){let b=new CustomEvent(m,n);if(a.currentTarget.dispatchEvent(b),!b.defaultPrevented){let a=I().filter(a=>a.focusable);B([a.find(a=>a.active),a.find(a=>a.id===D),...a].filter(Boolean).map(a=>a.ref.current),x)}}J.current=!1}),onBlur:(0,c.composeEventHandlers)(a.onBlur,()=>G(!1))})})}),y="RovingFocusGroupItem",z=b.forwardRef((a,d)=>{let{__scopeRovingFocusGroup:e,focusable:f=!0,active:i=!1,tabStopId:j,children:k,...m}=a,n=(0,g.useId)(),o=j||n,r=v(y,e),s=r.currentTabStopId===o,t=q(e),{onFocusableItemAdd:u,onFocusableItemRemove:w,currentTabStopId:x}=r;return b.useEffect(()=>{if(f)return u(),()=>w()},[f,u,w]),(0,l.jsx)(p.ItemSlot,{scope:e,id:o,focusable:f,active:i,children:(0,l.jsx)(h.Primitive.span,{tabIndex:s?0:-1,"data-orientation":r.orientation,...m,ref:d,onMouseDown:(0,c.composeEventHandlers)(a.onMouseDown,a=>{f?r.onItemFocus(o):a.preventDefault()}),onFocus:(0,c.composeEventHandlers)(a.onFocus,()=>r.onItemFocus(o)),onKeyDown:(0,c.composeEventHandlers)(a.onKeyDown,a=>{if("Tab"===a.key&&a.shiftKey)return void r.onItemShiftTab();if(a.target!==a.currentTarget)return;let b=function(a,b,c){var d;let e=(d=a.key,"rtl"!==c?d:"ArrowLeft"===d?"ArrowRight":"ArrowRight"===d?"ArrowLeft":d);if(!("vertical"===b&&["ArrowLeft","ArrowRight"].includes(e))&&!("horizontal"===b&&["ArrowUp","ArrowDown"].includes(e)))return A[e]}(a,r.orientation,r.dir);if(void 0!==b){if(a.metaKey||a.ctrlKey||a.altKey||a.shiftKey)return;a.preventDefault();let e=t().filter(a=>a.focusable).map(a=>a.ref.current);if("last"===b)e.reverse();else if("prev"===b||"next"===b){var c,d;"prev"===b&&e.reverse();let f=e.indexOf(a.currentTarget);e=r.loop?(c=e,d=f+1,c.map((a,b)=>c[(d+b)%c.length])):e.slice(f+1)}setTimeout(()=>B(e))}}),children:"function"==typeof k?k({isCurrentTabStop:s,hasTabStop:null!=x}):k})})});z.displayName=y;var A={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function B(a,b=!1){let c=document.activeElement;for(let d of a)if(d===c||(d.focus({preventScroll:b}),document.activeElement!==c))return}a.s(["Item",()=>z,"Root",()=>w,"createRovingFocusGroupScope",()=>t])},884494,a=>{"use strict";let b=(0,a.i(225700).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);a.s(["Globe",()=>b],884494)},162147,a=>{"use strict";var b=a.i(642642);a.s(["FileText",()=>b.default])},417300,a=>{"use strict";let b=(0,a.i(225700).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);a.s(["Wrench",()=>b],417300)},219880,a=>{"use strict";let b=(0,a.i(225700).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);a.s(["ChevronUp",()=>b],219880)},134644,a=>{"use strict";let b=(0,a.i(225700).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);a.s(["Bot",()=>b],134644)},781781,a=>{"use strict";let b=(0,a.i(225700).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);a.s(["User",()=>b],781781)},598410,a=>{"use strict";let b=(0,a.i(225700).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],598410)},804019,a=>{"use strict";let b=(0,a.i(225700).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],804019)},771716,a=>{"use strict";let b=(0,a.i(225700).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],771716)},202811,a=>{"use strict";let b=(0,a.i(225700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["default",()=>b])},109047,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(944592);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},327901,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},256239,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},216605,a=>{"use strict";let b=(0,a.i(225700).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",()=>b],216605)},193967,232791,409260,a=>{"use strict";let b=(0,a.i(225700).default)("send-horizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]);a.s(["SendHorizontal",()=>b],193967);var c=a.i(85e4);a.s(["Paperclip",()=>c.default],232791);var d=a.i(944592);let e=new Set(["txt","md","csv","json","yaml","yml","xml","html","css","js","ts","jsx","tsx","py","rb","go","rs","java","kt","c","cpp","h","hpp","cs","swift","sh","bash","zsh","fish","ps1","bat","cmd","sql","graphql","proto","toml","ini","cfg","conf","env","dockerfile","makefile","cmake","gradle","sbt","lock","sum","mod","png","jpg","jpeg","gif","svg","webp","bmp","ico","avif","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","zip","tar","gz","bz2","xz","7z","rar","log","diff","patch"]);function f(){let[a,b]=(0,d.useState)([]),[c,f]=(0,d.useState)(null),[g,h]=(0,d.useState)(!1),i=(0,d.useRef)(0),j=(0,d.useRef)(crypto.randomUUID()),k=(0,d.useCallback)(async a=>{for(let b of(f(null),a)){if(b.size>0xa00000)return void f(`"${b.name}" exceeds 10 MB limit`);let a=function(a){let b=a.lastIndexOf(".");return b>0?a.slice(b+1).toLowerCase():null}(b.name);if(a&&!e.has(a))return void f(`File type "${a}" is not allowed`)}for(let c of a){let a=crypto.randomUUID();b(b=>[...b,{id:a,name:c.name,size:c.size,mimeType:c.type||"application/octet-stream",path:"",loading:!0}]);try{let d=new FormData;d.append("file",c),d.append("sessionId",j.current);let e=await fetch("/api/attachments/upload",{method:"POST",body:d});if(!e.ok){let c=await e.json().catch(()=>({error:"Upload failed"}));b(b=>b.filter(b=>b.id!==a)),f(c.error??"Upload failed");return}let g=await e.json();b(b=>b.some(b=>b.id!==a&&b.path===g.path)?b.filter(b=>b.id!==a):b.map(b=>b.id===a?{...g,id:a,loading:!1}:b))}catch{b(b=>b.filter(b=>b.id!==a)),f("Upload failed")}}},[]),l=(0,d.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),i.current+=1,1===i.current&&h(!0)},[]),m=(0,d.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),i.current-=1,0===i.current&&h(!1)},[]),n=(0,d.useCallback)(a=>{a.preventDefault(),a.stopPropagation()},[]),o=(0,d.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),i.current=0,h(!1);let b=Array.from(a.dataTransfer.files);b.length>0&&k(b)},[k]),p=(0,d.useCallback)(a=>{let b=a.clipboardData?.items;if(!b)return;let c=[];for(let a of Array.from(b))if("file"===a.kind){let b=a.getAsFile();b&&c.push(b)}c.length>0&&(a.preventDefault(),k(c))},[k]),q=(0,d.useCallback)(a=>{b(b=>b.filter(b=>b.id!==a))},[]),r=(0,d.useCallback)((a,c)=>{b(b=>b.map(b=>b.id===a?{...b,notes:c}:b))},[]),s=(0,d.useCallback)(a=>{b(b=>b.some(b=>b.path===a.path)?b:[...b,{...a,loading:!1}])},[]),t=(0,d.useCallback)(()=>{b([]),f(null)},[]),u=a.filter(a=>!a.loading);return{attachments:a,completedAttachments:u,uploadError:c,isDragOver:g,handleFiles:k,handleDragEnter:l,handleDragLeave:m,handleDragOver:n,handleDrop:o,handlePaste:p,addAttachment:s,removeAttachment:q,updateNotes:r,clearAttachments:t}}a.s(["useAttachments",()=>f],409260)},991857,a=>{"use strict";let b=(0,a.i(225700).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["default",()=>b])}];
2
-
3
- //# sourceMappingURL=node_modules__pnpm_03825509._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-roving-focus%401.1.11_%40types%2Breact-dom%4019.2.3_%40types%2Breact%4019.2.10__%40type_61b1e57265158db0f110fd8c0c27aeba/node_modules/%40radix-ui/react-roving-focus/src/roving-focus-group.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/globe.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/wrench.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-up.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/bot.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/user.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/copy.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle-check.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40opentelemetry%2Bapi%401.9.0_%40playwright%2Btest%401.58.1_react-d_d9c18bd661a1e9b7c9abe9bc5eac27bd/node_modules/next/src/client/use-merged-ref.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40opentelemetry%2Bapi%401.9.0_%40playwright%2Btest%401.58.1_react-d_d9c18bd661a1e9b7c9abe9bc5eac27bd/node_modules/next/src/shared/lib/utils/warn-once.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40opentelemetry%2Bapi%401.9.0_%40playwright%2Btest%401.58.1_react-d_d9c18bd661a1e9b7c9abe9bc5eac27bd/node_modules/next/src/shared/lib/deployment-id.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/trash-2.ts","../../../../../../../src/presentation/web/hooks/use-attachments.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/send-horizontal.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/triangle-alert.ts"],"sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useDirection } from '@radix-ui/react-direction';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst ENTRY_FOCUS = 'rovingFocusGroup.onEntryFocus';\nconst EVENT_OPTIONS = { bubbles: false, cancelable: true };\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'RovingFocusGroup';\n\ntype ItemData = { id: string; focusable: boolean; active: boolean };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n HTMLSpanElement,\n ItemData\n>(GROUP_NAME);\n\ntype ScopedProps<P> = P & { __scopeRovingFocusGroup?: Scope };\nconst [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\n\ntype Orientation = React.AriaAttributes['aria-orientation'];\ntype Direction = 'ltr' | 'rtl';\n\ninterface RovingFocusGroupOptions {\n /**\n * The orientation of the group.\n * Mainly so arrow navigation is done accordingly (left & right vs. up & down)\n */\n orientation?: Orientation;\n /**\n * The direction of navigation between items.\n */\n dir?: Direction;\n /**\n * Whether keyboard navigation should loop around\n * @defaultValue false\n */\n loop?: boolean;\n}\n\ntype RovingContextValue = RovingFocusGroupOptions & {\n currentTabStopId: string | null;\n onItemFocus(tabStopId: string): void;\n onItemShiftTab(): void;\n onFocusableItemAdd(): void;\n onFocusableItemRemove(): void;\n};\n\nconst [RovingFocusProvider, useRovingFocusContext] =\n createRovingFocusGroupContext<RovingContextValue>(GROUP_NAME);\n\ntype RovingFocusGroupElement = RovingFocusGroupImplElement;\ninterface RovingFocusGroupProps extends RovingFocusGroupImplProps {}\n\nconst RovingFocusGroup = React.forwardRef<RovingFocusGroupElement, RovingFocusGroupProps>(\n (props: ScopedProps<RovingFocusGroupProps>, forwardedRef) => {\n return (\n <Collection.Provider scope={props.__scopeRovingFocusGroup}>\n <Collection.Slot scope={props.__scopeRovingFocusGroup}>\n <RovingFocusGroupImpl {...props} ref={forwardedRef} />\n </Collection.Slot>\n </Collection.Provider>\n );\n }\n);\n\nRovingFocusGroup.displayName = GROUP_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype RovingFocusGroupImplElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface RovingFocusGroupImplProps\n extends Omit<PrimitiveDivProps, 'dir'>,\n RovingFocusGroupOptions {\n currentTabStopId?: string | null;\n defaultCurrentTabStopId?: string;\n onCurrentTabStopIdChange?: (tabStopId: string | null) => void;\n onEntryFocus?: (event: Event) => void;\n preventScrollOnEntryFocus?: boolean;\n}\n\nconst RovingFocusGroupImpl = React.forwardRef<\n RovingFocusGroupImplElement,\n RovingFocusGroupImplProps\n>((props: ScopedProps<RovingFocusGroupImplProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef<RovingFocusGroupImplElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId ?? null,\n onChange: onCurrentTabStopIdChange,\n caller: GROUP_NAME,\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n\n return (\n <RovingFocusProvider\n scope={__scopeRovingFocusGroup}\n orientation={orientation}\n dir={direction}\n loop={loop}\n currentTabStopId={currentTabStopId}\n onItemFocus={React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n )}\n onItemShiftTab={React.useCallback(() => setIsTabbingBackOut(true), [])}\n onFocusableItemAdd={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n )}\n onFocusableItemRemove={React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n )}\n >\n <Primitive.div\n tabIndex={isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0}\n data-orientation={orientation}\n {...groupProps}\n ref={composedRefs}\n style={{ outline: 'none', ...props.style }}\n onMouseDown={composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n })}\n onFocus={composeEventHandlers(props.onFocus, (event) => {\n // We normally wouldn't need this check, because we already check\n // that the focus is on the current target and not bubbling to it.\n // We do this because Safari doesn't focus buttons when clicked, and\n // instead, the wrapper will get focused and not through a bubbling event.\n const isKeyboardFocus = !isClickFocusRef.current;\n\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n ) as typeof items;\n const candidateNodes = candidateItems.map((item) => item.ref.current!);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n\n isClickFocusRef.current = false;\n })}\n onBlur={composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))}\n />\n </RovingFocusProvider>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * RovingFocusGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'RovingFocusGroupItem';\n\ntype RovingFocusItemElement = React.ComponentRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface RovingFocusItemProps extends Omit<PrimitiveSpanProps, 'children'> {\n tabStopId?: string;\n focusable?: boolean;\n active?: boolean;\n children?:\n | React.ReactNode\n | ((props: { hasTabStop: boolean; isCurrentTabStop: boolean }) => React.ReactNode);\n}\n\nconst RovingFocusGroupItem = React.forwardRef<RovingFocusItemElement, RovingFocusItemProps>(\n (props: ScopedProps<RovingFocusItemProps>, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n children,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n\n const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n\n return (\n <Collection.ItemSlot\n scope={__scopeRovingFocusGroup}\n id={id}\n focusable={focusable}\n active={active}\n >\n <Primitive.span\n tabIndex={isCurrentTabStop ? 0 : -1}\n data-orientation={context.orientation}\n {...itemProps}\n ref={forwardedRef}\n onMouseDown={composeEventHandlers(props.onMouseDown, (event) => {\n // We prevent focusing non-focusable items on `mousedown`.\n // Even though the item has tabIndex={-1}, that only means take it out of the tab order.\n if (!focusable) event.preventDefault();\n // Safari doesn't focus a button when clicked so we run our logic on mousedown also\n else context.onItemFocus(id);\n })}\n onFocus={composeEventHandlers(props.onFocus, () => context.onItemFocus(id))}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === 'Tab' && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n\n if (event.target !== event.currentTarget) return;\n\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n\n if (focusIntent !== undefined) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (focusIntent === 'last') candidateNodes.reverse();\n else if (focusIntent === 'prev' || focusIntent === 'next') {\n if (focusIntent === 'prev') candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop\n ? wrapArray(candidateNodes, currentIndex + 1)\n : candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n }\n })}\n >\n {typeof children === 'function'\n ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null })\n : children}\n </Primitive.span>\n </Collection.ItemSlot>\n );\n }\n);\n\nRovingFocusGroupItem.displayName = ITEM_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\n// prettier-ignore\nconst MAP_KEY_TO_FOCUS_INTENT: Record<string, FocusIntent> = {\n ArrowLeft: 'prev', ArrowUp: 'prev',\n ArrowRight: 'next', ArrowDown: 'next',\n PageUp: 'first', Home: 'first',\n PageDown: 'last', End: 'last',\n};\n\nfunction getDirectionAwareKey(key: string, dir?: Direction) {\n if (dir !== 'rtl') return key;\n return key === 'ArrowLeft' ? 'ArrowRight' : key === 'ArrowRight' ? 'ArrowLeft' : key;\n}\n\ntype FocusIntent = 'first' | 'last' | 'prev' | 'next';\n\nfunction getFocusIntent(event: React.KeyboardEvent, orientation?: Orientation, dir?: Direction) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === 'vertical' && ['ArrowLeft', 'ArrowRight'].includes(key)) return undefined;\n if (orientation === 'horizontal' && ['ArrowUp', 'ArrowDown'].includes(key)) return undefined;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\n\nfunction focusFirst(candidates: HTMLElement[], preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray<T>(array: T[], startIndex: number) {\n return array.map<T>((_, index) => array[(startIndex + index) % array.length]!);\n}\n\nconst Root = RovingFocusGroup;\nconst Item = RovingFocusGroupItem;\n\nexport {\n createRovingFocusGroupScope,\n //\n RovingFocusGroup,\n RovingFocusGroupItem,\n //\n Root,\n Item,\n};\nexport type { RovingFocusGroupProps, RovingFocusItemProps };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20', key: '13o1zl' }],\n ['path', { d: 'M2 12h20', key: '9i4pu4' }],\n];\n\n/**\n * @component @name Globe\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgMC0yMCIgLz4KICA8cGF0aCBkPSJNMiAxMmgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/globe\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 Globe = createLucideIcon('globe', __iconNode);\n\nexport default Globe;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z',\n key: '1ngwbx',\n },\n ],\n];\n\n/**\n * @component @name Wrench\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wrench\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 Wrench = createLucideIcon('wrench', __iconNode);\n\nexport default Wrench;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm18 15-6-6-6 6', key: '153udz' }]];\n\n/**\n * @component @name ChevronUp\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTUtNi02LTYgNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevron-up\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 ChevronUp = createLucideIcon('chevron-up', __iconNode);\n\nexport default ChevronUp;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 8V4H8', key: 'hb8ula' }],\n ['rect', { width: '16', height: '12', x: '4', y: '8', rx: '2', key: 'enze0r' }],\n ['path', { d: 'M2 14h2', key: 'vft8re' }],\n ['path', { d: 'M20 14h2', key: '4cs60a' }],\n ['path', { d: 'M15 13v2', key: '1xurst' }],\n ['path', { d: 'M9 13v2', key: 'rq6x2g' }],\n];\n\n/**\n * @component @name Bot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgOFY0SDgiIC8+CiAgPHJlY3Qgd2lkdGg9IjE2IiBoZWlnaHQ9IjEyIiB4PSI0IiB5PSI4IiByeD0iMiIgLz4KICA8cGF0aCBkPSJNMiAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxNGgyIiAvPgogIDxwYXRoIGQ9Ik0xNSAxM3YyIiAvPgogIDxwYXRoIGQ9Ik05IDEzdjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bot\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 Bot = createLucideIcon('bot', __iconNode);\n\nexport default Bot;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2', key: '975kel' }],\n ['circle', { cx: '12', cy: '7', r: '4', key: '17ys0d' }],\n];\n\n/**\n * @component @name User\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user\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 User = createLucideIcon('user', __iconNode);\n\nexport default User;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n];\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHg9IjgiIHk9IjgiIHJ4PSIyIiByeT0iMiIgLz4KICA8cGF0aCBkPSJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/copy\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 Copy = createLucideIcon('copy', __iconNode);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/circle\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 Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\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 ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm9 12 2 2 4-4', key: 'dzmm74' }],\n];\n\n/**\n * @component @name CircleCheck\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-check\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 CircleCheck = createLucideIcon('circle-check', __iconNode);\n\nexport default CircleCheck;\n","import { useCallback, useRef, type Ref } from 'react'\n\n// This is a compatibility hook to support React 18 and 19 refs.\n// In 19, a cleanup function from refs may be returned.\n// In 18, returning a cleanup function creates a warning.\n// Since we take userspace refs, we don't know ahead of time if a cleanup function will be returned.\n// This implements cleanup functions with the old behavior in 18.\n// We know refs are always called alternating with `null` and then `T`.\n// So a call with `null` means we need to call the previous cleanup functions.\nexport function useMergedRef<TElement>(\n refA: Ref<TElement>,\n refB: Ref<TElement>\n): Ref<TElement> {\n const cleanupA = useRef<(() => void) | null>(null)\n const cleanupB = useRef<(() => void) | null>(null)\n\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return useCallback(\n (current: TElement | null): void => {\n if (current === null) {\n const cleanupFnA = cleanupA.current\n if (cleanupFnA) {\n cleanupA.current = null\n cleanupFnA()\n }\n const cleanupFnB = cleanupB.current\n if (cleanupFnB) {\n cleanupB.current = null\n cleanupFnB()\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current)\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current)\n }\n }\n },\n [refA, refB]\n )\n}\n\nfunction applyRef<TElement>(\n refA: NonNullable<Ref<TElement>>,\n current: TElement\n) {\n if (typeof refA === 'function') {\n const cleanup = refA(current)\n if (typeof cleanup === 'function') {\n return cleanup\n } else {\n return () => refA(null)\n }\n } else {\n refA.current = current\n return () => {\n refA.current = null\n }\n }\n}\n","let warnOnce = (_: string) => {}\nif (process.env.NODE_ENV !== 'production') {\n const warnings = new Set<string>()\n warnOnce = (msg: string) => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\nexport { warnOnce }\n","// This could also be a variable instead of a function, but some unit tests want to change the ID at\n// runtime. Even though that would never happen in a real deployment.\nexport function getDeploymentId(): string | undefined {\n return process.env.NEXT_DEPLOYMENT_ID\n}\n\nexport function getDeploymentIdQueryOrEmptyString(): string {\n let deploymentId = getDeploymentId()\n if (deploymentId) {\n return `?dpl=${deploymentId}`\n }\n return ''\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n];\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTQgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash-2\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 Trash2 = createLucideIcon('trash-2', __iconNode);\n\nexport default Trash2;\n","'use client';\n\nimport { useState, useCallback, useRef } from 'react';\n\nconst MAX_FILE_SIZE = 10 * 1024 * 1024; // 10 MB\n\n/** Minimal set of known-safe extensions (same as feature-create-drawer). */\nconst ALLOWED_EXTENSIONS = new Set([\n 'txt',\n 'md',\n 'csv',\n 'json',\n 'yaml',\n 'yml',\n 'xml',\n 'html',\n 'css',\n 'js',\n 'ts',\n 'jsx',\n 'tsx',\n 'py',\n 'rb',\n 'go',\n 'rs',\n 'java',\n 'kt',\n 'c',\n 'cpp',\n 'h',\n 'hpp',\n 'cs',\n 'swift',\n 'sh',\n 'bash',\n 'zsh',\n 'fish',\n 'ps1',\n 'bat',\n 'cmd',\n 'sql',\n 'graphql',\n 'proto',\n 'toml',\n 'ini',\n 'cfg',\n 'conf',\n 'env',\n 'dockerfile',\n 'makefile',\n 'cmake',\n 'gradle',\n 'sbt',\n 'lock',\n 'sum',\n 'mod',\n 'png',\n 'jpg',\n 'jpeg',\n 'gif',\n 'svg',\n 'webp',\n 'bmp',\n 'ico',\n 'avif',\n 'pdf',\n 'doc',\n 'docx',\n 'xls',\n 'xlsx',\n 'ppt',\n 'pptx',\n 'odt',\n 'ods',\n 'odp',\n 'zip',\n 'tar',\n 'gz',\n 'bz2',\n 'xz',\n '7z',\n 'rar',\n 'log',\n 'diff',\n 'patch',\n]);\n\nfunction getExtension(filename: string): string | null {\n const idx = filename.lastIndexOf('.');\n return idx > 0 ? filename.slice(idx + 1).toLowerCase() : null;\n}\n\nexport interface FormAttachment {\n id: string;\n name: string;\n size: number;\n mimeType: string;\n path: string;\n loading?: boolean;\n notes?: string;\n}\n\nexport function useAttachments() {\n const [attachments, setAttachments] = useState<FormAttachment[]>([]);\n const [uploadError, setUploadError] = useState<string | null>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n const dragCounterRef = useRef(0);\n const sessionIdRef = useRef(crypto.randomUUID());\n\n const handleFiles = useCallback(async (fileList: File[]) => {\n setUploadError(null);\n\n for (const file of fileList) {\n if (file.size > MAX_FILE_SIZE) {\n setUploadError(`\"${file.name}\" exceeds 10 MB limit`);\n return;\n }\n const ext = getExtension(file.name);\n if (ext && !ALLOWED_EXTENSIONS.has(ext)) {\n setUploadError(`File type \"${ext}\" is not allowed`);\n return;\n }\n }\n\n for (const file of fileList) {\n const tempId = crypto.randomUUID();\n\n setAttachments((prev) => [\n ...prev,\n {\n id: tempId,\n name: file.name,\n size: file.size,\n mimeType: file.type || 'application/octet-stream',\n path: '',\n loading: true,\n },\n ]);\n\n try {\n const formData = new FormData();\n formData.append('file', file);\n formData.append('sessionId', sessionIdRef.current);\n\n const res = await fetch('/api/attachments/upload', {\n method: 'POST',\n body: formData,\n });\n\n if (!res.ok) {\n const body = await res.json().catch(() => ({ error: 'Upload failed' }));\n setAttachments((prev) => prev.filter((a) => a.id !== tempId));\n setUploadError(body.error ?? 'Upload failed');\n return;\n }\n\n const uploaded = await res.json();\n setAttachments((prev) => {\n const isDupe = prev.some((a) => a.id !== tempId && a.path === uploaded.path);\n if (isDupe) return prev.filter((a) => a.id !== tempId);\n return prev.map((a) =>\n a.id === tempId ? { ...uploaded, id: tempId, loading: false } : a\n );\n });\n } catch {\n setAttachments((prev) => prev.filter((a) => a.id !== tempId));\n setUploadError('Upload failed');\n }\n }\n }, []);\n\n const handleDragEnter = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n dragCounterRef.current += 1;\n if (dragCounterRef.current === 1) setIsDragOver(true);\n }, []);\n\n const handleDragLeave = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n dragCounterRef.current -= 1;\n if (dragCounterRef.current === 0) setIsDragOver(false);\n }, []);\n\n const handleDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n }, []);\n\n const handleDrop = useCallback(\n (e: React.DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n dragCounterRef.current = 0;\n setIsDragOver(false);\n const files = Array.from(e.dataTransfer.files);\n if (files.length > 0) void handleFiles(files);\n },\n [handleFiles]\n );\n\n const handlePaste = useCallback(\n (e: React.ClipboardEvent) => {\n const items = e.clipboardData?.items;\n if (!items) return;\n const files: File[] = [];\n for (const item of Array.from(items)) {\n if (item.kind === 'file') {\n const file = item.getAsFile();\n if (file) files.push(file);\n }\n }\n if (files.length > 0) {\n e.preventDefault();\n void handleFiles(files);\n }\n },\n [handleFiles]\n );\n\n const removeAttachment = useCallback((id: string) => {\n setAttachments((prev) => prev.filter((a) => a.id !== id));\n }, []);\n\n const updateNotes = useCallback((id: string, notes: string) => {\n setAttachments((prev) => prev.map((a) => (a.id === id ? { ...a, notes } : a)));\n }, []);\n\n const addAttachment = useCallback((file: Omit<FormAttachment, 'loading'>) => {\n setAttachments((prev) => {\n const isDupe = prev.some((a) => a.path === file.path);\n if (isDupe) return prev;\n return [...prev, { ...file, loading: false }];\n });\n }, []);\n\n const clearAttachments = useCallback(() => {\n setAttachments([]);\n setUploadError(null);\n }, []);\n\n const completedAttachments = attachments.filter((a) => !a.loading);\n\n return {\n attachments,\n completedAttachments,\n uploadError,\n isDragOver,\n handleFiles,\n handleDragEnter,\n handleDragLeave,\n handleDragOver,\n handleDrop,\n handlePaste,\n addAttachment,\n removeAttachment,\n updateNotes,\n clearAttachments,\n };\n}\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z',\n key: '117uat',\n },\n ],\n ['path', { d: 'M6 12h16', key: 's4cdu5' }],\n];\n\n/**\n * @component @name SendHorizontal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMy43MTQgMy4wNDhhLjQ5OC40OTggMCAwIDAtLjY4My42MjdsMi44NDMgNy42MjdhMiAyIDAgMCAxIDAgMS4zOTZsLTIuODQyIDcuNjI3YS40OTguNDk4IDAgMCAwIC42ODIuNjI3bDE4LTguNWEuNS41IDAgMCAwIDAtLjkwNHoiIC8+CiAgPHBhdGggZD0iTTYgMTJoMTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/send-horizontal\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 SendHorizontal = createLucideIcon('send-horizontal', __iconNode);\n\nexport default SendHorizontal;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3',\n key: 'wmoenq',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n];\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiIC8+CiAgPHBhdGggZD0iTTEyIDl2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTdoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle-alert\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 TriangleAlert = createLucideIcon('triangle-alert', __iconNode);\n\nexport default TriangleAlert;\n"],"names":["useMergedRef","refA","refB","cleanupA","useRef","cleanupB","useCallback","current","cleanupFnA","cleanupFnB","applyRef","cleanup","warnOnce","_","process","env","NODE_ENV","warnings","Set","msg","has","console","warn","add","getDeploymentId","getDeploymentIdQueryOrEmptyString","NEXT_DEPLOYMENT_ID","deploymentId"],"mappings":"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","ignoreList":[1,2,3,4,5,6,7,8,10,11,12,13,15]}
@@ -1,3 +0,0 @@
1
- module.exports=[225700,a=>{"use strict";var b=a.i(944592);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],225700)},658761,461791,a=>{"use strict";var b,c=a.i(944592),d=a.i(559653),e=a.i(666873),f=a.i(406175),g=a.i(779406);function h(a,b=globalThis?.document){let d=(0,g.useCallbackRef)(a);c.useEffect(()=>{let a=a=>{"Escape"===a.key&&d(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[d,b])}a.s(["useEscapeKeydown",()=>h],461791);var i=a.i(556365),j="dismissableLayer.update",k=c.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),l=c.forwardRef((a,l)=>{let{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:p,onPointerDownOutside:q,onFocusOutside:r,onInteractOutside:s,onDismiss:t,...u}=a,v=c.useContext(k),[w,x]=c.useState(null),y=w?.ownerDocument??globalThis?.document,[,z]=c.useState({}),A=(0,f.useComposedRefs)(l,a=>x(a)),B=Array.from(v.layers),[C]=[...v.layersWithOutsidePointerEventsDisabled].slice(-1),D=B.indexOf(C),E=w?B.indexOf(w):-1,F=v.layersWithOutsidePointerEventsDisabled.size>0,G=E>=D,H=function(a,b=globalThis?.document){let d=(0,g.useCallbackRef)(a),e=c.useRef(!1),f=c.useRef(()=>{});return c.useEffect(()=>{let a=a=>{if(a.target&&!e.current){let c=function(){n("dismissableLayer.pointerDownOutside",d,e,{discrete:!0})},e={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",f.current),f.current=c,b.addEventListener("click",f.current,{once:!0})):c()}else b.removeEventListener("click",f.current);e.current=!1},c=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(c),b.removeEventListener("pointerdown",a),b.removeEventListener("click",f.current)}},[b,d]),{onPointerDownCapture:()=>e.current=!0}}(a=>{let b=a.target,c=[...v.branches].some(a=>a.contains(b));G&&!c&&(q?.(a),s?.(a),a.defaultPrevented||t?.())},y),I=function(a,b=globalThis?.document){let d=(0,g.useCallbackRef)(a),e=c.useRef(!1);return c.useEffect(()=>{let a=a=>{a.target&&!e.current&&n("dismissableLayer.focusOutside",d,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,d]),{onFocusCapture:()=>e.current=!0,onBlurCapture:()=>e.current=!1}}(a=>{let b=a.target;![...v.branches].some(a=>a.contains(b))&&(r?.(a),s?.(a),a.defaultPrevented||t?.())},y);return h(a=>{E===v.layers.size-1&&(p?.(a),!a.defaultPrevented&&t&&(a.preventDefault(),t()))},y),c.useEffect(()=>{if(w)return o&&(0===v.layersWithOutsidePointerEventsDisabled.size&&(b=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),v.layersWithOutsidePointerEventsDisabled.add(w)),v.layers.add(w),m(),()=>{o&&1===v.layersWithOutsidePointerEventsDisabled.size&&(y.body.style.pointerEvents=b)}},[w,y,o,v]),c.useEffect(()=>()=>{w&&(v.layers.delete(w),v.layersWithOutsidePointerEventsDisabled.delete(w),m())},[w,v]),c.useEffect(()=>{let a=()=>z({});return document.addEventListener(j,a),()=>document.removeEventListener(j,a)},[]),(0,i.jsx)(e.Primitive.div,{...u,ref:A,style:{pointerEvents:F?G?"auto":"none":void 0,...a.style},onFocusCapture:(0,d.composeEventHandlers)(a.onFocusCapture,I.onFocusCapture),onBlurCapture:(0,d.composeEventHandlers)(a.onBlurCapture,I.onBlurCapture),onPointerDownCapture:(0,d.composeEventHandlers)(a.onPointerDownCapture,H.onPointerDownCapture)})});function m(){let a=new CustomEvent(j);document.dispatchEvent(a)}function n(a,b,c,{discrete:d}){let f=c.originalEvent.target,g=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});b&&f.addEventListener(a,b,{once:!0}),d?(0,e.dispatchDiscreteCustomEvent)(f,g):f.dispatchEvent(g)}l.displayName="DismissableLayer",c.forwardRef((a,b)=>{let d=c.useContext(k),g=c.useRef(null),h=(0,f.useComposedRefs)(b,g);return c.useEffect(()=>{let a=g.current;if(a)return d.branches.add(a),()=>{d.branches.delete(a)}},[d.branches]),(0,i.jsx)(e.Primitive.div,{...a,ref:h})}).displayName="DismissableLayerBranch",a.s(["DismissableLayer",()=>l],658761)},759675,a=>{"use strict";let b;var c=a.i(944592),d=a.i(406175),e=a.i(666873),f=a.i(779406),g=a.i(556365),h="focusScope.autoFocusOnMount",i="focusScope.autoFocusOnUnmount",j={bubbles:!1,cancelable:!0},k=c.forwardRef((a,b)=>{let{loop:k=!1,trapped:p=!1,onMountAutoFocus:q,onUnmountAutoFocus:r,...s}=a,[t,u]=c.useState(null),v=(0,f.useCallbackRef)(q),w=(0,f.useCallbackRef)(r),x=c.useRef(null),y=(0,d.useComposedRefs)(b,a=>u(a)),z=c.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;c.useEffect(()=>{if(p){let a=function(a){if(z.paused||!t)return;let b=a.target;t.contains(b)?x.current=b:n(x.current,{select:!0})},b=function(a){if(z.paused||!t)return;let b=a.relatedTarget;null!==b&&(t.contains(b)||n(x.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&n(t)});return t&&c.observe(t,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[p,t,z.paused]),c.useEffect(()=>{if(t){o.add(z);let a=document.activeElement;if(!t.contains(a)){let b=new CustomEvent(h,j);t.addEventListener(h,v),t.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(n(d,{select:b}),document.activeElement!==c)return}(l(t).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&n(t))}return()=>{t.removeEventListener(h,v),setTimeout(()=>{let b=new CustomEvent(i,j);t.addEventListener(i,w),t.dispatchEvent(b),b.defaultPrevented||n(a??document.body,{select:!0}),t.removeEventListener(i,w),o.remove(z)},0)}}},[t,v,w,z]);let A=c.useCallback(a=>{if(!k&&!p||z.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,c=document.activeElement;if(b&&c){var d;let b,e=a.currentTarget,[f,g]=[m(b=l(d=e),d),m(b.reverse(),d)];f&&g?a.shiftKey||c!==g?a.shiftKey&&c===f&&(a.preventDefault(),k&&n(g,{select:!0})):(a.preventDefault(),k&&n(f,{select:!0})):c===e&&a.preventDefault()}},[k,p,z.paused]);return(0,g.jsx)(e.Primitive.div,{tabIndex:-1,...s,ref:y,onKeyDown:A})});function l(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function m(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function n(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}k.displayName="FocusScope";var o=(b=[],{add(a){let c=b[0];a!==c&&c?.pause(),(b=p(b,a)).unshift(a)},remove(a){b=p(b,a),b[0]?.resume()}});function p(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}a.s(["FocusScope",()=>k])},280930,a=>{"use strict";var b=a.i(944592),c=a.i(845207),d=a.i(666873),e=a.i(461476),f=a.i(556365),g=b.forwardRef((a,g)=>{let{container:h,...i}=a,[j,k]=b.useState(!1);(0,e.useLayoutEffect)(()=>k(!0),[]);let l=h||j&&globalThis?.document?.body;return l?c.default.createPortal((0,f.jsx)(d.Primitive.div,{...i,ref:g}),l):null});g.displayName="Portal",a.s(["Portal",()=>g])},51473,a=>{"use strict";var b=a.i(944592),c=0;function d(){b.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??e()),document.body.insertAdjacentElement("beforeend",a[1]??e()),c++,()=>{1===c&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),c--}},[])}function e(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}a.s(["useFocusGuards",()=>d])},445291,a=>{"use strict";var b,c,d,e,f,g,h,i=function(){return(i=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function j(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var k=("function"==typeof SuppressedError&&SuppressedError,a.i(944592)),l="right-scroll-bar-position",m="width-before-scroll-bar";function n(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var o=k.useEffect,p=new WeakMap,q=(void 0===b&&(b={}),(void 0===c&&(c=function(a){return a}),d=[],e=!1,f={read:function(){if(e)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return d.length?d[d.length-1]:null},useMedium:function(a){var b=c(a,e);return d.push(b),function(){d=d.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(e=!0;d.length;){var b=d;d=[],b.forEach(a)}d={push:function(b){return a(b)},filter:function(){return d}}},assignMedium:function(a){e=!0;var b=[];if(d.length){var c=d;d=[],c.forEach(a),b=d}var f=function(){var c=b;b=[],c.forEach(a)},g=function(){return Promise.resolve().then(f)};g(),d={push:function(a){b.push(a),g()},filter:function(a){return b=b.filter(a),d}}}}).options=i({async:!0,ssr:!1},b),f),r=function(){},s=k.forwardRef(function(a,b){var c,d,e,f,g=k.useRef(null),h=k.useState({onScrollCapture:r,onWheelCapture:r,onTouchMoveCapture:r}),l=h[0],m=h[1],s=a.forwardProps,t=a.children,u=a.className,v=a.removeScrollBar,w=a.enabled,x=a.shards,y=a.sideCar,z=a.noRelative,A=a.noIsolation,B=a.inert,C=a.allowPinchZoom,D=a.as,E=a.gapMode,F=j(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),G=(c=[g,b],d=function(a){return c.forEach(function(b){return n(b,a)})},(e=(0,k.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,o(function(){var a=p.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||n(a,null)}),d.forEach(function(a){b.has(a)||n(a,e)})}p.set(f,c)},[c]),f),H=i(i({},F),l);return k.createElement(k.Fragment,null,w&&k.createElement(y,{sideCar:q,removeScrollBar:v,shards:x,noRelative:z,noIsolation:A,inert:B,setCallbacks:m,allowPinchZoom:!!C,lockRef:g,gapMode:E}),s?k.cloneElement(k.Children.only(t),i(i({},H),{ref:G})):k.createElement(void 0===D?"div":D,i({},H,{className:u,ref:G}),t))});s.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},s.classNames={fullWidth:m,zeroRight:l};var t=function(a){var b=a.sideCar,c=j(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return k.createElement(d,i({},c))};t.isSideCarExport=!0;var u=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=h||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},v=function(){var a=u();return function(b,c){k.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},w=function(){var a=v();return function(b){return a(b.styles,b.dynamic),null}},x={left:0,top:0,right:0,gap:0},y=w(),z="data-scroll-locked",A=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(z,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(l," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(m," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(l," .").concat(l," {\n right: 0 ").concat(d,";\n }\n \n .").concat(m," .").concat(m," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(z,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},B=function(){var a=parseInt(document.body.getAttribute(z)||"0",10);return isFinite(a)?a:0},C=function(){k.useEffect(function(){return document.body.setAttribute(z,(B()+1).toString()),function(){var a=B()-1;a<=0?document.body.removeAttribute(z):document.body.setAttribute(z,a.toString())}},[])},D=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;C();var f=k.useMemo(function(){return void 0===e,x},[e]);return k.createElement(y,{styles:A(f,!b,e,c?"":"!important")})},E=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},F=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),G(a,d)){var e=H(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},G=function(a,b){return"v"===a?E(b,"overflowY"):E(b,"overflowX")},H=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},I=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=H(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&G(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},J=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},K=function(a){return[a.deltaX,a.deltaY]},L=function(a){return a&&"current"in a?a.current:a},M=0,N=[];let O=(g=function(a){var b=k.useRef([]),c=k.useRef([0,0]),d=k.useRef(),e=k.useState(M++)[0],f=k.useState(w)[0],g=k.useRef(a);k.useEffect(function(){g.current=a},[a]),k.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(L),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=k.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=J(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=F(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=F(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return I(p,b,a,"h"===p?i:j,!0)},[]),i=k.useCallback(function(a){if(N.length&&N[N.length-1]===f){var c="deltaY"in a?K(a):J(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(L).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=k.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),l=k.useCallback(function(a){c.current=J(a),d.current=void 0},[]),m=k.useCallback(function(b){j(b.type,K(b),b.target,h(b,a.lockRef.current))},[]),n=k.useCallback(function(b){j(b.type,J(b),b.target,h(b,a.lockRef.current))},[]);k.useEffect(function(){return N.push(f),a.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:n}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",l,!1),function(){N=N.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",l,!1)}},[]);var o=a.removeScrollBar,p=a.inert;return k.createElement(k.Fragment,null,p?k.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?k.createElement(D,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},q.useMedium(g),t);var P=k.forwardRef(function(a,b){return k.createElement(s,i({},a,{ref:b,sideCar:O}))});P.classNames=s.classNames,a.s(["RemoveScroll",0,P],445291)},516164,a=>{"use strict";var b=new WeakMap,c=new WeakMap,d={},e=0,f=function(a){return a&&(a.host||f(a.parentNode))},g=function(a,g,h,i){var j=(Array.isArray(a)?a:[a]).map(function(a){if(g.contains(a))return a;var b=f(a);return b&&g.contains(b)?b:(console.error("aria-hidden",a,"in not contained inside",g,". Doing nothing"),null)}).filter(function(a){return!!a});d[h]||(d[h]=new WeakMap);var k=d[h],l=[],m=new Set,n=new Set(j),o=function(a){!a||m.has(a)||(m.add(a),o(a.parentNode))};j.forEach(o);var p=function(a){!a||n.has(a)||Array.prototype.forEach.call(a.children,function(a){if(m.has(a))p(a);else try{var d=a.getAttribute(i),e=null!==d&&"false"!==d,f=(b.get(a)||0)+1,g=(k.get(a)||0)+1;b.set(a,f),k.set(a,g),l.push(a),1===f&&e&&c.set(a,!0),1===g&&a.setAttribute(h,"true"),e||a.setAttribute(i,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return p(g),m.clear(),e++,function(){l.forEach(function(a){var d=b.get(a)-1,e=k.get(a)-1;b.set(a,d),k.set(a,e),d||(c.has(a)||a.removeAttribute(i),c.delete(a)),e||a.removeAttribute(h)}),--e||(b=new WeakMap,b=new WeakMap,c=new WeakMap,d={})}},h=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),g(d,e,c,"aria-hidden")):function(){return null}};a.s(["hideOthers",()=>h])},918183,729375,136907,a=>{"use strict";let b=["top","right","bottom","left"],c=b.reduce((a,b)=>a.concat(b,b+"-start",b+"-end"),[]),d=Math.min,e=Math.max,f=Math.round,g=Math.floor,h=a=>({x:a,y:a}),i={left:"right",right:"left",bottom:"top",top:"bottom"},j={start:"end",end:"start"};function k(a,b){return"function"==typeof a?a(b):a}function l(a){return a.split("-")[0]}function m(a){return a.split("-")[1]}function n(a){return"x"===a?"y":"x"}function o(a){return"y"===a?"height":"width"}let p=new Set(["top","bottom"]);function q(a){return p.has(l(a))?"y":"x"}function r(a,b,c){void 0===c&&(c=!1);let d=m(a),e=n(q(a)),f=o(e),g="x"===e?d===(c?"end":"start")?"right":"left":"start"===d?"bottom":"top";return b.reference[f]>b.floating[f]&&(g=x(g)),[g,x(g)]}function s(a){return a.replace(/start|end/g,a=>j[a])}let t=["left","right"],u=["right","left"],v=["top","bottom"],w=["bottom","top"];function x(a){return a.replace(/left|right|bottom|top/g,a=>i[a])}function y(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function z(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function A(a,b,c){let d,{reference:e,floating:f}=a,g=q(b),h=n(q(b)),i=o(h),j=l(b),k="y"===g,p=e.x+e.width/2-f.width/2,r=e.y+e.height/2-f.height/2,s=e[i]/2-f[i]/2;switch(j){case"top":d={x:p,y:e.y-f.height};break;case"bottom":d={x:p,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:r};break;case"left":d={x:e.x-f.width,y:r};break;default:d={x:e.x,y:e.y}}switch(m(b)){case"start":d[h]-=s*(c&&k?-1:1);break;case"end":d[h]+=s*(c&&k?-1:1)}return d}async function B(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:l="viewport",elementContext:m="floating",altBoundary:n=!1,padding:o=0}=k(b,a),p=y(o),q=h[n?"floating"===m?"reference":"floating":m],r=z(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(q)))||c?q:q.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:l,strategy:i})),s="floating"===m?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,t=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),u=await (null==f.isElement?void 0:f.isElement(t))&&await (null==f.getScale?void 0:f.getScale(t))||{x:1,y:1},v=z(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:s,offsetParent:t,strategy:i}):s);return{top:(r.top-v.top+p.top)/u.y,bottom:(v.bottom-r.bottom+p.bottom)/u.y,left:(r.left-v.left+p.left)/u.x,right:(v.right-r.right+p.right)/u.x}}let C=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=f.filter(Boolean),i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=A(j,d,i),m=d,n={},o=0;for(let c=0;c<h.length;c++){var p;let{name:f,fn:q}=h[c],{x:r,y:s,data:t,reset:u}=await q({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:n,rects:j,platform:{...g,detectOverflow:null!=(p=g.detectOverflow)?p:B},elements:{reference:a,floating:b}});k=null!=r?r:k,l=null!=s?s:l,n={...n,[f]:{...n[f],...t}},u&&o<=50&&(o++,"object"==typeof u&&(u.placement&&(m=u.placement),u.rects&&(j=!0===u.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):u.rects),{x:k,y:l}=A(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:n}};function D(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function E(a){return b.some(b=>a[b]>=0)}function F(a){let b=d(...a.map(a=>a.left)),c=d(...a.map(a=>a.top));return{x:b,y:c,width:e(...a.map(a=>a.right))-b,height:e(...a.map(a=>a.bottom))-c}}let G=new Set(["left","top"]);async function H(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=l(c),h=m(c),i="y"===q(c),j=G.has(g)?-1:1,n=f&&i?-1:1,o=k(b,a),{mainAxis:p,crossAxis:r,alignmentAxis:s}="number"==typeof o?{mainAxis:o,crossAxis:0,alignmentAxis:null}:{mainAxis:o.mainAxis||0,crossAxis:o.crossAxis||0,alignmentAxis:o.alignmentAxis};return h&&"number"==typeof s&&(r="end"===h?-1*s:s),i?{x:r*n,y:p*j}:{x:p*j,y:r*n}}function I(a){return function(a){return!1}(a)?(a.nodeName||"").toLowerCase():"#document"}function J(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function K(a){var b;return null==(b=(function(a){return!1}(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function L(a){return!1}let M=new Set(["inline","contents"]);function N(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=Y(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&!M.has(e)}let O=new Set(["table","td","th"]),P=[":popover-open",":modal"];function Q(a){return P.some(b=>{try{return a.matches(b)}catch(a){return!1}})}let R=["transform","translate","scale","rotate","perspective"],S=["transform","translate","scale","rotate","perspective","filter"],T=["paint","layout","strict","content"];function U(a){let b=V(),c=a;return R.some(a=>!!c[a]&&"none"!==c[a])||!!c.containerType&&"normal"!==c.containerType||!b&&!!c.backdropFilter&&"none"!==c.backdropFilter||!b&&!!c.filter&&"none"!==c.filter||S.some(a=>(c.willChange||"").includes(a))||T.some(a=>(c.contain||"").includes(a))}function V(){return!("u"<typeof CSS)&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let W=new Set(["html","body","#document"]);function X(a){return W.has(I(a))}function Y(a){return J(a).getComputedStyle(a)}function Z(a){return{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function $(a){if("html"===I(a))return a;let b=a.assignedSlot||a.parentNode||!1||K(a);return b}function _(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=$(b);return X(c)?b.ownerDocument?b.ownerDocument.body:b.body:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=J(e);if(f){let a=aa(g);return b.concat(g,g.visualViewport||[],N(e)?e:[],a&&c?_(a):[])}return b.concat(e,_(e,[],c))}function aa(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function ab(a){let b=Y(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=!1,g=e?a.offsetWidth:c,h=e?a.offsetHeight:d,i=f(c)!==g||f(d)!==h;return i&&(c=g,d=h),{width:c,height:d,$:i}}function ac(a){return 0,a.contextElement}function ad(a){let b=ac(a);1;return h(1)}let ae=h(0);function af(a){let b=J(a);return V()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:ae}function ag(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=ac(a),i=h(1);b&&(d||(i=ad(a)));let j=(void 0===(e=c)&&(e=!1),d&&(!e||d===J(g))&&e)?af(g):h(0),k=(f.left+j.x)/i.x,l=(f.top+j.y)/i.y,m=f.width/i.x,n=f.height/i.y;if(g){let a=J(g),b=d,c=a,e=aa(c);for(;e&&d&&b!==c;){let a=ad(e),b=e.getBoundingClientRect(),d=Y(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;k*=a.x,l*=a.y,m*=a.x,n*=a.y,k+=f,l+=g,e=aa(c=J(e))}}return z({width:m,height:n,x:k,y:l})}function ah(a,b){let c=Z(a).scrollLeft;return b?b.left+c:ag(K(a)).left+c}function ai(a,b){let c=a.getBoundingClientRect();return{x:c.left+b.scrollLeft-ah(a,c),y:c.top+b.scrollTop}}function aj(a,b,c){var d;let f;if("viewport"===b)f=function(a,b){let c=J(a),d=K(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=V();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}let j=ah(d);if(j<=0){let a=d.ownerDocument,b=a.body,c=getComputedStyle(b),e="CSS1Compat"===a.compatMode&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,g=Math.abs(d.clientWidth-b.clientWidth-e);g<=25&&(f-=g)}else j<=25&&(f+=j);return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b){let b,c,g,h,i,j,k;d=K(a),b=K(d),c=Z(d),g=d.ownerDocument.body,h=e(b.scrollWidth,b.clientWidth,g.scrollWidth,g.clientWidth),i=e(b.scrollHeight,b.clientHeight,g.scrollHeight,g.clientHeight),j=-c.scrollLeft+ah(d),k=-c.scrollTop,"rtl"===Y(g).direction&&(j+=e(b.clientWidth,g.clientWidth)-h),f={width:h,height:i,x:j,y:k}}else{1;{let c=af(a);f={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}}return z(f)}function ak(a){return"static"===Y(a).position}function al(a,b){1;return null}function am(a,b){var c;let d=J(a);if(Q(a))return d;1;{let b=$(a);for(;b&&!X(b);){0;b=$(b)}return d}}let an=async function(a){let b=this.getOffsetParent||am,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){var d;let e=(d=0,!1),f=K(b),g="fixed"===c,i=ag(a,!0,g,b),j={scrollLeft:0,scrollTop:0},k=h(0);if(e||!e&&!g)if(("body"!==I(b)||N(f))&&(j=Z(b)),e){let a=ag(b,!0,g,b);k.x=a.x+b.clientLeft,k.y=a.y+b.clientTop}else f&&(k.x=ah(f));g&&!e&&f&&(k.x=ah(f));let l=!f||e||g?h(0):ai(f,j);return{x:i.left+j.scrollLeft-k.x-l.x,y:i.top+j.scrollTop-k.y-l.y,width:i.width,height:i.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},ao={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){var b,c;let{elements:d,rect:e,offsetParent:f,strategy:g}=a,i="fixed"===g,j=K(f),k=!!d&&Q(d.floating);if(f===j||k&&i)return e;let l={scrollLeft:0,scrollTop:0},m=h(1),n=h(0),o=(b=0,!1);(o||!o&&!i)&&(("body"!==I(f)||N(j))&&(l=Z(f)),c=0,0);let p=!j||o||i?h(0):ai(j,l);return{width:e.width*m.x,height:e.height*m.y,x:e.x*m.x-l.scrollLeft*m.x+n.x+p.x,y:e.y*m.y-l.scrollTop*m.y+n.y+p.y}},getDocumentElement:K,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:f,strategy:g}=a,h=[..."clippingAncestors"===c?Q(b)?[]:function(a,b){var c;let d=b.get(a);if(d)return d;let e=_(a,[],!1).filter(a=>{var b;return b=0,!1}),f="fixed"===Y(a).position,g=f?$(a):a;return c=0,b.set(a,e),e}(b,this._c):[].concat(c),f],i=h[0],j=h.reduce((a,c)=>{let f=aj(b,c,g);return a.top=e(f.top,a.top),a.right=d(f.right,a.right),a.bottom=d(f.bottom,a.bottom),a.left=e(f.left,a.left),a},aj(b,i,g));return{width:j.right-j.left,height:j.bottom-j.top,x:j.left,y:j.top}},getOffsetParent:am,getElementRects:an,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=ab(a);return{width:b,height:c}},getScale:ad,isElement:L,isRTL:function(a){return"rtl"===Y(a).direction}};function ap(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}function aq(a,b,c,f){let h;void 0===f&&(f={});let{ancestorScroll:i=!0,ancestorResize:j=!0,elementResize:k="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:m=!1}=f,n=ac(a),o=i||j?[...n?_(n):[],..._(b)]:[];o.forEach(a=>{i&&a.addEventListener("scroll",c,{passive:!0}),j&&a.addEventListener("resize",c)});let p=n&&l?function(a,b){let c,f=null,h=K(a);function i(){var a;clearTimeout(c),null==(a=f)||a.disconnect(),f=null}return!function j(k,l){void 0===k&&(k=!1),void 0===l&&(l=1),i();let m=a.getBoundingClientRect(),{left:n,top:o,width:p,height:q}=m;if(k||b(),!p||!q)return;let r={rootMargin:-g(o)+"px "+-g(h.clientWidth-(n+p))+"px "+-g(h.clientHeight-(o+q))+"px "+-g(n)+"px",threshold:e(0,d(1,l))||1},s=!0;function t(b){let d=b[0].intersectionRatio;if(d!==l){if(!s)return j();d?j(!1,d):c=setTimeout(()=>{j(!1,1e-7)},1e3)}1!==d||ap(m,a.getBoundingClientRect())||j(),s=!1}try{f=new IntersectionObserver(t,{...r,root:h.ownerDocument})}catch(a){f=new IntersectionObserver(t,r)}f.observe(a)}(!0),i}(n,c):null,q=-1,r=null;k&&(r=new ResizeObserver(a=>{let[d]=a;d&&d.target===n&&r&&(r.unobserve(b),cancelAnimationFrame(q),q=requestAnimationFrame(()=>{var a;null==(a=r)||a.observe(b)})),c()}),n&&!m&&r.observe(n),r.observe(b));let s=m?ag(a):null;return m&&function b(){let d=ag(a);s&&!ap(s,d)&&c(),s=d,h=requestAnimationFrame(b)}(),c(),()=>{var a;o.forEach(a=>{i&&a.removeEventListener("scroll",c),j&&a.removeEventListener("resize",c)}),null==p||p(),null==(a=r)||a.disconnect(),r=null,m&&cancelAnimationFrame(h)}}let ar=function(a){return void 0===a&&(a=0),{name:"offset",options:a,async fn(b){var c,d;let{x:e,y:f,placement:g,middlewareData:h}=b,i=await H(b,a);return g===(null==(c=h.offset)?void 0:c.placement)&&null!=(d=h.arrow)&&d.alignmentOffset?{}:{x:e+i.x,y:f+i.y,data:{...i,placement:g}}}}},as=function(a){return void 0===a&&(a={}),{name:"autoPlacement",options:a,async fn(b){var d,e,f,g;let{rects:h,middlewareData:i,placement:j,platform:n,elements:o}=b,{crossAxis:p=!1,alignment:q,allowedPlacements:t=c,autoAlignment:u=!0,...v}=k(a,b),w=void 0!==q||t===c?((g=q||null)?[...t.filter(a=>m(a)===g),...t.filter(a=>m(a)!==g)]:t.filter(a=>l(a)===a)).filter(a=>!g||m(a)===g||!!u&&s(a)!==a):t,x=await n.detectOverflow(b,v),y=(null==(d=i.autoPlacement)?void 0:d.index)||0,z=w[y];if(null==z)return{};let A=r(z,h,await (null==n.isRTL?void 0:n.isRTL(o.floating)));if(j!==z)return{reset:{placement:w[0]}};let B=[x[l(z)],x[A[0]],x[A[1]]],C=[...(null==(e=i.autoPlacement)?void 0:e.overflows)||[],{placement:z,overflows:B}],D=w[y+1];if(D)return{data:{index:y+1,overflows:C},reset:{placement:D}};let E=C.map(a=>{let b=m(a.placement);return[a.placement,b&&p?a.overflows.slice(0,2).reduce((a,b)=>a+b,0):a.overflows[0],a.overflows]}).sort((a,b)=>a[1]-b[1]),F=(null==(f=E.filter(a=>a[2].slice(0,m(a[0])?2:3).every(a=>a<=0))[0])?void 0:f[0])||E[0][0];return F!==j?{data:{index:y+1,overflows:C},reset:{placement:F}}:{}}}},at=function(a){return void 0===a&&(a={}),{name:"shift",options:a,async fn(b){let{x:c,y:f,placement:g,platform:h}=b,{mainAxis:i=!0,crossAxis:j=!1,limiter:m={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...o}=k(a,b),p={x:c,y:f},r=await h.detectOverflow(b,o),s=q(l(g)),t=n(s),u=p[t],v=p[s];if(i){let a="y"===t?"top":"left",b="y"===t?"bottom":"right",c=u+r[a],f=u-r[b];u=e(c,d(u,f))}if(j){let a="y"===s?"top":"left",b="y"===s?"bottom":"right",c=v+r[a],f=v-r[b];v=e(c,d(v,f))}let w=m.fn({...b,[t]:u,[s]:v});return{...w,data:{x:w.x-c,y:w.y-f,enabled:{[t]:i,[s]:j}}}}}},au=function(a){return void 0===a&&(a={}),{name:"flip",options:a,async fn(b){var c,d,e,f,g;let h,i,j,{placement:n,middlewareData:o,rects:p,initialPlacement:y,platform:z,elements:A}=b,{mainAxis:B=!0,crossAxis:C=!0,fallbackPlacements:D,fallbackStrategy:E="bestFit",fallbackAxisSideDirection:F="none",flipAlignment:G=!0,...H}=k(a,b);if(null!=(c=o.arrow)&&c.alignmentOffset)return{};let I=l(n),J=q(y),K=l(y)===y,L=await (null==z.isRTL?void 0:z.isRTL(A.floating)),M=D||(K||!G?[x(y)]:(h=x(y),[s(y),h,s(h)])),N="none"!==F;!D&&N&&M.push(...(i=m(y),j=function(a,b,c){switch(a){case"top":case"bottom":if(c)return b?u:t;return b?t:u;case"left":case"right":return b?v:w;default:return[]}}(l(y),"start"===F,L),i&&(j=j.map(a=>a+"-"+i),G&&(j=j.concat(j.map(s)))),j));let O=[y,...M],P=await z.detectOverflow(b,H),Q=[],R=(null==(d=o.flip)?void 0:d.overflows)||[];if(B&&Q.push(P[I]),C){let a=r(n,p,L);Q.push(P[a[0]],P[a[1]])}if(R=[...R,{placement:n,overflows:Q}],!Q.every(a=>a<=0)){let a=((null==(e=o.flip)?void 0:e.index)||0)+1,b=O[a];if(b&&("alignment"!==C||J===q(b)||R.every(a=>q(a.placement)!==J||a.overflows[0]>0)))return{data:{index:a,overflows:R},reset:{placement:b}};let c=null==(f=R.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:f.placement;if(!c)switch(E){case"bestFit":{let a=null==(g=R.filter(a=>{if(N){let b=q(a.placement);return b===J||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:g[0];a&&(c=a);break}case"initialPlacement":c=y}if(n!==c)return{reset:{placement:c}}}return{}}}},av=function(a){return void 0===a&&(a={}),{name:"size",options:a,async fn(b){var c,f;let g,h,{placement:i,rects:j,platform:n,elements:o}=b,{apply:p=()=>{},...r}=k(a,b),s=await n.detectOverflow(b,r),t=l(i),u=m(i),v="y"===q(i),{width:w,height:x}=j.floating;"top"===t||"bottom"===t?(g=t,h=u===(await (null==n.isRTL?void 0:n.isRTL(o.floating))?"start":"end")?"left":"right"):(h=t,g="end"===u?"top":"bottom");let y=x-s.top-s.bottom,z=w-s.left-s.right,A=d(x-s[g],y),B=d(w-s[h],z),C=!b.middlewareData.shift,D=A,E=B;if(null!=(c=b.middlewareData.shift)&&c.enabled.x&&(E=z),null!=(f=b.middlewareData.shift)&&f.enabled.y&&(D=y),C&&!u){let a=e(s.left,0),b=e(s.right,0),c=e(s.top,0),d=e(s.bottom,0);v?E=w-2*(0!==a||0!==b?a+b:e(s.left,s.right)):D=x-2*(0!==c||0!==d?c+d:e(s.top,s.bottom))}await p({...b,availableWidth:E,availableHeight:D});let F=await n.getDimensions(o.floating);return w!==F.width||x!==F.height?{reset:{rects:!0}}:{}}}},aw=function(a){return void 0===a&&(a={}),{name:"hide",options:a,async fn(b){let{rects:c,platform:d}=b,{strategy:e="referenceHidden",...f}=k(a,b);switch(e){case"referenceHidden":{let a=D(await d.detectOverflow(b,{...f,elementContext:"reference"}),c.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:E(a)}}}case"escaped":{let a=D(await d.detectOverflow(b,{...f,altBoundary:!0}),c.floating);return{data:{escapedOffsets:a,escaped:E(a)}}}default:return{}}}}},ax=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:f,placement:g,rects:h,platform:i,elements:j,middlewareData:l}=b,{element:p,padding:r=0}=k(a,b)||{};if(null==p)return{};let s=y(r),t={x:c,y:f},u=n(q(g)),v=o(u),w=await i.getDimensions(p),x="y"===u,z=x?"clientHeight":"clientWidth",A=h.reference[v]+h.reference[u]-t[u]-h.floating[v],B=t[u]-h.reference[u],C=await (null==i.getOffsetParent?void 0:i.getOffsetParent(p)),D=C?C[z]:0;D&&await (null==i.isElement?void 0:i.isElement(C))||(D=j.floating[z]||h.floating[v]);let E=D/2-w[v]/2-1,F=d(s[x?"top":"left"],E),G=d(s[x?"bottom":"right"],E),H=D-w[v]-G,I=D/2-w[v]/2+(A/2-B/2),J=e(F,d(I,H)),K=!l.arrow&&null!=m(g)&&I!==J&&h.reference[v]/2-(I<F?F:G)-w[v]/2<0,L=K?I<F?I-F:I-H:0;return{[u]:t[u]+L,data:{[u]:J,centerOffset:I-J-L,...K&&{alignmentOffset:L}},reset:K}}}),ay=function(a){return void 0===a&&(a={}),{name:"inline",options:a,async fn(b){let{placement:c,elements:f,rects:g,platform:h,strategy:i}=b,{padding:j=2,x:m,y:n}=k(a,b),o=Array.from(await (null==h.getClientRects?void 0:h.getClientRects(f.reference))||[]),p=function(a){let b=a.slice().sort((a,b)=>a.y-b.y),c=[],d=null;for(let a=0;a<b.length;a++){let e=b[a];!d||e.y-d.y>d.height/2?c.push([e]):c[c.length-1].push(e),d=e}return c.map(a=>z(F(a)))}(o),r=z(F(o)),s=y(j),t=await h.getElementRects({reference:{getBoundingClientRect:function(){if(2===p.length&&p[0].left>p[1].right&&null!=m&&null!=n)return p.find(a=>m>a.left-s.left&&m<a.right+s.right&&n>a.top-s.top&&n<a.bottom+s.bottom)||r;if(p.length>=2){if("y"===q(c)){let a=p[0],b=p[p.length-1],d="top"===l(c),e=a.top,f=b.bottom,g=d?a.left:b.left,h=d?a.right:b.right;return{top:e,bottom:f,left:g,right:h,width:h-g,height:f-e,x:g,y:e}}let a="left"===l(c),b=e(...p.map(a=>a.right)),f=d(...p.map(a=>a.left)),g=p.filter(c=>a?c.left===f:c.right===b),h=g[0].top,i=g[g.length-1].bottom;return{top:h,bottom:i,left:f,right:b,width:b-f,height:i-h,x:f,y:h}}return r}},floating:f.floating,strategy:i});return g.reference.x!==t.reference.x||g.reference.y!==t.reference.y||g.reference.width!==t.reference.width||g.reference.height!==t.reference.height?{reset:{rects:t}}:{}}}},az=function(a){return void 0===a&&(a={}),{options:a,fn(b){let{x:c,y:d,placement:e,rects:f,middlewareData:g}=b,{offset:h=0,mainAxis:i=!0,crossAxis:j=!0}=k(a,b),m={x:c,y:d},o=q(e),p=n(o),r=m[p],s=m[o],t=k(h,b),u="number"==typeof t?{mainAxis:t,crossAxis:0}:{mainAxis:0,crossAxis:0,...t};if(i){let a="y"===p?"height":"width",b=f.reference[p]-f.floating[a]+u.mainAxis,c=f.reference[p]+f.reference[a]-u.mainAxis;r<b?r=b:r>c&&(r=c)}if(j){var v,w;let a="y"===p?"width":"height",b=G.has(l(e)),c=f.reference[o]-f.floating[a]+(b&&(null==(v=g.offset)?void 0:v[o])||0)+(b?0:u.crossAxis),d=f.reference[o]+f.reference[a]+(b?0:(null==(w=g.offset)?void 0:w[o])||0)-(b?u.crossAxis:0);s<c?s=c:s>d&&(s=d)}return{[p]:r,[o]:s}}}},aA=(a,b,c)=>{let d=new Map,e={platform:ao,...c},f={...e.platform,_c:d};return C(a,b,{...e,platform:f})};a.s(["arrow",()=>ax,"autoPlacement",()=>as,"autoUpdate",()=>aq,"computePosition",()=>aA,"flip",()=>au,"hide",()=>aw,"inline",()=>ay,"limitShift",()=>az,"offset",()=>ar,"shift",()=>at,"size",()=>av],729375);var aB=a.i(944592),aC=a.i(845207),aD="u">typeof document?aB.useLayoutEffect:function(){};function aE(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!aE(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!aE(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function aF(a,b){let c=1;return Math.round(b*c)/c}function aG(a){let b=aB.useRef(a);return aD(()=>{b.current=a}),b}function aH(a){void 0===a&&(a={});let{placement:b="bottom",strategy:c="absolute",middleware:d=[],platform:e,elements:{reference:f,floating:g}={},transform:h=!0,whileElementsMounted:i,open:j}=a,[k,l]=aB.useState({x:0,y:0,strategy:c,placement:b,middlewareData:{},isPositioned:!1}),[m,n]=aB.useState(d);aE(m,d)||n(d);let[o,p]=aB.useState(null),[q,r]=aB.useState(null),s=aB.useCallback(a=>{a!==w.current&&(w.current=a,p(a))},[]),t=aB.useCallback(a=>{a!==x.current&&(x.current=a,r(a))},[]),u=f||o,v=g||q,w=aB.useRef(null),x=aB.useRef(null),y=aB.useRef(k),z=null!=i,A=aG(i),B=aG(e),C=aG(j),D=aB.useCallback(()=>{if(!w.current||!x.current)return;let a={placement:b,strategy:c,middleware:m};B.current&&(a.platform=B.current),aA(w.current,x.current,a).then(a=>{let b={...a,isPositioned:!1!==C.current};E.current&&!aE(y.current,b)&&(y.current=b,aC.flushSync(()=>{l(b)}))})},[m,b,c,B,C]);aD(()=>{!1===j&&y.current.isPositioned&&(y.current.isPositioned=!1,l(a=>({...a,isPositioned:!1})))},[j]);let E=aB.useRef(!1);aD(()=>(E.current=!0,()=>{E.current=!1}),[]),aD(()=>{if(u&&(w.current=u),v&&(x.current=v),u&&v){if(A.current)return A.current(u,v,D);D()}},[u,v,D,A,z]);let F=aB.useMemo(()=>({reference:w,floating:x,setReference:s,setFloating:t}),[s,t]),G=aB.useMemo(()=>({reference:u,floating:v}),[u,v]),H=aB.useMemo(()=>{let a={position:c,left:0,top:0};if(!G.floating)return a;let b=aF(G.floating,k.x),d=aF(G.floating,k.y);if(h)return{...a,transform:"translate("+b+"px, "+d+"px)",...(G.floating,false)};return{position:c,left:b,top:d}},[c,h,G.floating,k.x,k.y]);return aB.useMemo(()=>({...k,update:D,refs:F,elements:G,floatingStyles:H}),[k,D,F,G,H])}let aI=(a,b)=>({...ar(a),options:[a,b]}),aJ=(a,b)=>({...at(a),options:[a,b]}),aK=(a,b)=>({...az(a),options:[a,b]}),aL=(a,b)=>({...au(a),options:[a,b]}),aM=(a,b)=>({...av(a),options:[a,b]}),aN=(a,b)=>({...aw(a),options:[a,b]}),aO=(a,b)=>({name:"arrow",options:a,fn(b){let{element:c,padding:d}="function"==typeof a?a(b):a;return c&&({}).hasOwnProperty.call(c,"current")?null!=c.current?ax({element:c.current,padding:d}).fn(b):{}:c?ax({element:c,padding:d}).fn(b):{}},options:[a,b]});a.s(["arrow",()=>aO,"flip",()=>aL,"hide",()=>aN,"limitShift",()=>aK,"offset",()=>aI,"shift",()=>aJ,"size",()=>aM,"useFloating",()=>aH],918183);var aP=a.i(666873),aQ=a.i(556365),aR=aB.forwardRef((a,b)=>{let{children:c,width:d=10,height:e=5,...f}=a;return(0,aQ.jsx)(aP.Primitive.svg,{...f,ref:b,width:d,height:e,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?c:(0,aQ.jsx)("polygon",{points:"0,0 30,0 15,10"})})});aR.displayName="Arrow",a.s(["Root",()=>aR],136907)},474432,a=>{"use strict";var b=a.i(944592),c=a.i(461476);function d(a){let[d,e]=b.useState(void 0);return(0,c.useLayoutEffect)(()=>{if(a){e({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let c,d;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;c=b.inlineSize,d=b.blockSize}else c=a.offsetWidth,d=a.offsetHeight;e({width:c,height:d})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}e(void 0)},[a]),d}a.s(["useSize",()=>d])},575988,a=>{"use strict";var b=a.i(944592),c=a.i(918183),d=a.i(729375),e=a.i(136907),f=a.i(406175),g=a.i(307420),h=a.i(666873),i=a.i(779406),j=a.i(461476),k=a.i(474432),l=a.i(556365),m="Popper",[n,o]=(0,g.createContextScope)(m),[p,q]=n(m),r=a=>{let{__scopePopper:c,children:d}=a,[e,f]=b.useState(null);return(0,l.jsx)(p,{scope:c,anchor:e,onAnchorChange:f,children:d})};r.displayName=m;var s="PopperAnchor",t=b.forwardRef((a,c)=>{let{__scopePopper:d,virtualRef:e,...g}=a,i=q(s,d),j=b.useRef(null),k=(0,f.useComposedRefs)(c,j),m=b.useRef(null);return b.useEffect(()=>{let a=m.current;m.current=e?.current||j.current,a!==m.current&&i.onAnchorChange(m.current)}),e?null:(0,l.jsx)(h.Primitive.div,{...g,ref:k})});t.displayName=s;var u="PopperContent",[v,w]=n(u),x=b.forwardRef((a,e)=>{let{__scopePopper:g,side:m="bottom",sideOffset:n=0,align:o="center",alignOffset:p=0,arrowPadding:r=0,avoidCollisions:s=!0,collisionBoundary:t=[],collisionPadding:w=0,sticky:x="partial",hideWhenDetached:y=!1,updatePositionStrategy:z="optimized",onPlaced:A,...E}=a,F=q(u,g),[G,H]=b.useState(null),I=(0,f.useComposedRefs)(e,a=>H(a)),[J,K]=b.useState(null),L=(0,k.useSize)(J),M=L?.width??0,N=L?.height??0,O="number"==typeof w?w:{top:0,right:0,bottom:0,left:0,...w},P=Array.isArray(t)?t:[t],Q=P.length>0,R={padding:O,boundary:P.filter(B),altBoundary:Q},{refs:S,floatingStyles:T,placement:U,isPositioned:V,middlewareData:W}=(0,c.useFloating)({strategy:"fixed",placement:m+("center"!==o?"-"+o:""),whileElementsMounted:(...a)=>(0,d.autoUpdate)(...a,{animationFrame:"always"===z}),elements:{reference:F.anchor},middleware:[(0,c.offset)({mainAxis:n+N,alignmentAxis:p}),s&&(0,c.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===x?(0,c.limitShift)():void 0,...R}),s&&(0,c.flip)({...R}),(0,c.size)({...R,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}}),J&&(0,c.arrow)({element:J,padding:r}),C({arrowWidth:M,arrowHeight:N}),y&&(0,c.hide)({strategy:"referenceHidden",...R})]}),[X,Y]=D(U),Z=(0,i.useCallbackRef)(A);(0,j.useLayoutEffect)(()=>{V&&Z?.()},[V,Z]);let $=W.arrow?.x,_=W.arrow?.y,aa=W.arrow?.centerOffset!==0,[ab,ac]=b.useState();return(0,j.useLayoutEffect)(()=>{G&&ac(window.getComputedStyle(G).zIndex)},[G]),(0,l.jsx)("div",{ref:S.setFloating,"data-radix-popper-content-wrapper":"",style:{...T,transform:V?T.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ab,"--radix-popper-transform-origin":[W.transformOrigin?.x,W.transformOrigin?.y].join(" "),...W.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,l.jsx)(v,{scope:g,placedSide:X,onArrowChange:K,arrowX:$,arrowY:_,shouldHideArrow:aa,children:(0,l.jsx)(h.Primitive.div,{"data-side":X,"data-align":Y,...E,ref:I,style:{...E.style,animation:V?void 0:"none"}})})})});x.displayName=u;var y="PopperArrow",z={top:"bottom",right:"left",bottom:"top",left:"right"},A=b.forwardRef(function(a,b){let{__scopePopper:c,...d}=a,f=w(y,c),g=z[f.placedSide];return(0,l.jsx)("span",{ref:f.onArrowChange,style:{position:"absolute",left:f.arrowX,top:f.arrowY,[g]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[f.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[f.placedSide],visibility:f.shouldHideArrow?"hidden":void 0},children:(0,l.jsx)(e.Root,{...d,ref:b,style:{...d.style,display:"block"}})})});function B(a){return null!==a}A.displayName=y;var C=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=D(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function D(a){let[b,c="center"]=a.split("-");return[b,c]}a.s(["Anchor",()=>t,"Arrow",()=>A,"Content",()=>x,"Root",()=>r,"createPopperScope",()=>o])},650049,a=>{"use strict";var b=a.i(944592),c=a.i(666873),d=a.i(556365),e=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),f=b.forwardRef((a,b)=>(0,d.jsx)(c.Primitive.span,{...a,ref:b,style:{...e,...a.style}}));f.displayName="VisuallyHidden",a.s(["Root",()=>f,"VISUALLY_HIDDEN_STYLES",()=>e,"VisuallyHidden",()=>f])}];
2
-
3
- //# sourceMappingURL=node_modules__pnpm_747b43ac._.js.map