@jcjeon/integration-cli 0.2.0 → 0.2.1

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 (820) hide show
  1. package/apps/server/dist/app.controller.d.ts +6 -0
  2. package/apps/server/dist/app.controller.js +35 -0
  3. package/apps/server/dist/app.controller.js.map +1 -0
  4. package/apps/server/dist/app.module.d.ts +2 -0
  5. package/apps/server/dist/app.module.js +30 -0
  6. package/apps/server/dist/app.module.js.map +1 -0
  7. package/apps/server/dist/app.service.d.ts +3 -0
  8. package/apps/server/dist/app.service.js +20 -0
  9. package/apps/server/dist/app.service.js.map +1 -0
  10. package/apps/server/dist/common/ji-paths.d.ts +22 -0
  11. package/apps/server/dist/common/ji-paths.js +77 -0
  12. package/apps/server/dist/common/ji-paths.js.map +1 -0
  13. package/apps/server/dist/database/database.module.d.ts +2 -0
  14. package/apps/server/dist/database/database.module.js +38 -0
  15. package/apps/server/dist/database/database.module.js.map +1 -0
  16. package/apps/server/dist/database/entities/agent-changelog.entity.d.ts +14 -0
  17. package/apps/server/dist/database/entities/agent-changelog.entity.js +75 -0
  18. package/apps/server/dist/database/entities/agent-changelog.entity.js.map +1 -0
  19. package/apps/server/dist/database/entities/agent-session.entity.d.ts +10 -0
  20. package/apps/server/dist/database/entities/agent-session.entity.js +60 -0
  21. package/apps/server/dist/database/entities/agent-session.entity.js.map +1 -0
  22. package/apps/server/dist/database/entities/conversation.entity.d.ts +12 -0
  23. package/apps/server/dist/database/entities/conversation.entity.js +66 -0
  24. package/apps/server/dist/database/entities/conversation.entity.js.map +1 -0
  25. package/apps/server/dist/database/entities/session.entity.d.ts +6 -0
  26. package/apps/server/dist/database/entities/session.entity.js +40 -0
  27. package/apps/server/dist/database/entities/session.entity.js.map +1 -0
  28. package/apps/server/dist/database/entities/task-agent-run.entity.d.ts +15 -0
  29. package/apps/server/dist/database/entities/task-agent-run.entity.js +77 -0
  30. package/apps/server/dist/database/entities/task-agent-run.entity.js.map +1 -0
  31. package/apps/server/dist/database/entities/task-agent.entity.d.ts +16 -0
  32. package/apps/server/dist/database/entities/task-agent.entity.js +76 -0
  33. package/apps/server/dist/database/entities/task-agent.entity.js.map +1 -0
  34. package/apps/server/dist/database/entities/task-requirement.entity.d.ts +10 -0
  35. package/apps/server/dist/database/entities/task-requirement.entity.js +56 -0
  36. package/apps/server/dist/database/entities/task-requirement.entity.js.map +1 -0
  37. package/apps/server/dist/database/entities/task-run.entity.d.ts +13 -0
  38. package/apps/server/dist/database/entities/task-run.entity.js +67 -0
  39. package/apps/server/dist/database/entities/task-run.entity.js.map +1 -0
  40. package/apps/server/dist/database/entities/task.entity.d.ts +14 -0
  41. package/apps/server/dist/database/entities/task.entity.js +72 -0
  42. package/apps/server/dist/database/entities/task.entity.js.map +1 -0
  43. package/apps/server/dist/main.d.ts +1 -0
  44. package/apps/server/dist/main.js +81 -0
  45. package/apps/server/dist/main.js.map +1 -0
  46. package/apps/server/dist/modules/agents/agents.module.d.ts +2 -0
  47. package/apps/server/dist/modules/agents/agents.module.js +23 -0
  48. package/apps/server/dist/modules/agents/agents.module.js.map +1 -0
  49. package/apps/server/dist/modules/agents/claude/claude-auth.manager.d.ts +15 -0
  50. package/apps/server/dist/modules/agents/claude/claude-auth.manager.js +71 -0
  51. package/apps/server/dist/modules/agents/claude/claude-auth.manager.js.map +1 -0
  52. package/apps/server/dist/modules/agents/claude/claude-pty.manager.d.ts +29 -0
  53. package/apps/server/dist/modules/agents/claude/claude-pty.manager.js +372 -0
  54. package/apps/server/dist/modules/agents/claude/claude-pty.manager.js.map +1 -0
  55. package/apps/server/dist/modules/agents/claude/claude.controller.d.ts +19 -0
  56. package/apps/server/dist/modules/agents/claude/claude.controller.js +125 -0
  57. package/apps/server/dist/modules/agents/claude/claude.controller.js.map +1 -0
  58. package/apps/server/dist/modules/agents/claude/claude.gateway.d.ts +27 -0
  59. package/apps/server/dist/modules/agents/claude/claude.gateway.js +148 -0
  60. package/apps/server/dist/modules/agents/claude/claude.gateway.js.map +1 -0
  61. package/apps/server/dist/modules/agents/claude/claude.module.d.ts +2 -0
  62. package/apps/server/dist/modules/agents/claude/claude.module.js +30 -0
  63. package/apps/server/dist/modules/agents/claude/claude.module.js.map +1 -0
  64. package/apps/server/dist/modules/agents/claude/claude.service.d.ts +28 -0
  65. package/apps/server/dist/modules/agents/claude/claude.service.js +94 -0
  66. package/apps/server/dist/modules/agents/claude/claude.service.js.map +1 -0
  67. package/apps/server/dist/modules/agents/claude/dto/create-session.dto.d.ts +6 -0
  68. package/apps/server/dist/modules/agents/claude/dto/create-session.dto.js +46 -0
  69. package/apps/server/dist/modules/agents/claude/dto/create-session.dto.js.map +1 -0
  70. package/apps/server/dist/modules/agents/claude/dto/resize-session.dto.d.ts +4 -0
  71. package/apps/server/dist/modules/agents/claude/dto/resize-session.dto.js +31 -0
  72. package/apps/server/dist/modules/agents/claude/dto/resize-session.dto.js.map +1 -0
  73. package/apps/server/dist/modules/agents/claude/dto/send-input.dto.d.ts +3 -0
  74. package/apps/server/dist/modules/agents/claude/dto/send-input.dto.js +25 -0
  75. package/apps/server/dist/modules/agents/claude/dto/send-input.dto.js.map +1 -0
  76. package/apps/server/dist/modules/agents/claude/interfaces/claude-session.interface.d.ts +22 -0
  77. package/apps/server/dist/modules/agents/claude/interfaces/claude-session.interface.js +3 -0
  78. package/apps/server/dist/modules/agents/claude/interfaces/claude-session.interface.js.map +1 -0
  79. package/apps/server/dist/modules/agents/claude/interfaces/pty-event.interface.d.ts +9 -0
  80. package/apps/server/dist/modules/agents/claude/interfaces/pty-event.interface.js +3 -0
  81. package/apps/server/dist/modules/agents/claude/interfaces/pty-event.interface.js.map +1 -0
  82. package/apps/server/dist/modules/agents/claude/interfaces/stream-event.interface.d.ts +53 -0
  83. package/apps/server/dist/modules/agents/claude/interfaces/stream-event.interface.js +3 -0
  84. package/apps/server/dist/modules/agents/claude/interfaces/stream-event.interface.js.map +1 -0
  85. package/apps/server/dist/modules/agents/codex/codex-auth.manager.d.ts +16 -0
  86. package/apps/server/dist/modules/agents/codex/codex-auth.manager.js +136 -0
  87. package/apps/server/dist/modules/agents/codex/codex-auth.manager.js.map +1 -0
  88. package/apps/server/dist/modules/agents/codex/codex-session.manager.d.ts +37 -0
  89. package/apps/server/dist/modules/agents/codex/codex-session.manager.js +319 -0
  90. package/apps/server/dist/modules/agents/codex/codex-session.manager.js.map +1 -0
  91. package/apps/server/dist/modules/agents/codex/codex.controller.d.ts +19 -0
  92. package/apps/server/dist/modules/agents/codex/codex.controller.js +95 -0
  93. package/apps/server/dist/modules/agents/codex/codex.controller.js.map +1 -0
  94. package/apps/server/dist/modules/agents/codex/codex.gateway.d.ts +27 -0
  95. package/apps/server/dist/modules/agents/codex/codex.gateway.js +123 -0
  96. package/apps/server/dist/modules/agents/codex/codex.gateway.js.map +1 -0
  97. package/apps/server/dist/modules/agents/codex/codex.module.d.ts +2 -0
  98. package/apps/server/dist/modules/agents/codex/codex.module.js +29 -0
  99. package/apps/server/dist/modules/agents/codex/codex.module.js.map +1 -0
  100. package/apps/server/dist/modules/agents/codex/dto/configure-auth.dto.d.ts +3 -0
  101. package/apps/server/dist/modules/agents/codex/dto/configure-auth.dto.js +23 -0
  102. package/apps/server/dist/modules/agents/codex/dto/configure-auth.dto.js.map +1 -0
  103. package/apps/server/dist/modules/agents/gemini/dto/configure-auth.dto.d.ts +5 -0
  104. package/apps/server/dist/modules/agents/gemini/dto/configure-auth.dto.js +31 -0
  105. package/apps/server/dist/modules/agents/gemini/dto/configure-auth.dto.js.map +1 -0
  106. package/apps/server/dist/modules/agents/gemini/dto/create-session.dto.d.ts +3 -0
  107. package/apps/server/dist/modules/agents/gemini/dto/create-session.dto.js +25 -0
  108. package/apps/server/dist/modules/agents/gemini/dto/create-session.dto.js.map +1 -0
  109. package/apps/server/dist/modules/agents/gemini/dto/send-input.dto.d.ts +3 -0
  110. package/apps/server/dist/modules/agents/gemini/dto/send-input.dto.js +25 -0
  111. package/apps/server/dist/modules/agents/gemini/dto/send-input.dto.js.map +1 -0
  112. package/apps/server/dist/modules/agents/gemini/gemini-auth.manager.d.ts +20 -0
  113. package/apps/server/dist/modules/agents/gemini/gemini-auth.manager.js +154 -0
  114. package/apps/server/dist/modules/agents/gemini/gemini-auth.manager.js.map +1 -0
  115. package/apps/server/dist/modules/agents/gemini/gemini-session.manager.d.ts +31 -0
  116. package/apps/server/dist/modules/agents/gemini/gemini-session.manager.js +304 -0
  117. package/apps/server/dist/modules/agents/gemini/gemini-session.manager.js.map +1 -0
  118. package/apps/server/dist/modules/agents/gemini/gemini.controller.d.ts +19 -0
  119. package/apps/server/dist/modules/agents/gemini/gemini.controller.js +135 -0
  120. package/apps/server/dist/modules/agents/gemini/gemini.controller.js.map +1 -0
  121. package/apps/server/dist/modules/agents/gemini/gemini.gateway.d.ts +24 -0
  122. package/apps/server/dist/modules/agents/gemini/gemini.gateway.js +142 -0
  123. package/apps/server/dist/modules/agents/gemini/gemini.gateway.js.map +1 -0
  124. package/apps/server/dist/modules/agents/gemini/gemini.module.d.ts +2 -0
  125. package/apps/server/dist/modules/agents/gemini/gemini.module.js +29 -0
  126. package/apps/server/dist/modules/agents/gemini/gemini.module.js.map +1 -0
  127. package/apps/server/dist/modules/agents/gemini/interfaces/gemini-session.interface.d.ts +16 -0
  128. package/apps/server/dist/modules/agents/gemini/interfaces/gemini-session.interface.js +3 -0
  129. package/apps/server/dist/modules/agents/gemini/interfaces/gemini-session.interface.js.map +1 -0
  130. package/apps/server/dist/modules/agents/gemini/interfaces/stream-event.interface.d.ts +12 -0
  131. package/apps/server/dist/modules/agents/gemini/interfaces/stream-event.interface.js +3 -0
  132. package/apps/server/dist/modules/agents/gemini/interfaces/stream-event.interface.js.map +1 -0
  133. package/apps/server/dist/modules/changelog/changelog.controller.d.ts +7 -0
  134. package/apps/server/dist/modules/changelog/changelog.controller.js +50 -0
  135. package/apps/server/dist/modules/changelog/changelog.controller.js.map +1 -0
  136. package/apps/server/dist/modules/changelog/changelog.module.d.ts +2 -0
  137. package/apps/server/dist/modules/changelog/changelog.module.js +26 -0
  138. package/apps/server/dist/modules/changelog/changelog.module.js.map +1 -0
  139. package/apps/server/dist/modules/changelog/changelog.service.d.ts +68 -0
  140. package/apps/server/dist/modules/changelog/changelog.service.js +598 -0
  141. package/apps/server/dist/modules/changelog/changelog.service.js.map +1 -0
  142. package/apps/server/dist/modules/conversations/conversation.controller.d.ts +11 -0
  143. package/apps/server/dist/modules/conversations/conversation.controller.js +95 -0
  144. package/apps/server/dist/modules/conversations/conversation.controller.js.map +1 -0
  145. package/apps/server/dist/modules/conversations/conversation.module.d.ts +2 -0
  146. package/apps/server/dist/modules/conversations/conversation.module.js +26 -0
  147. package/apps/server/dist/modules/conversations/conversation.module.js.map +1 -0
  148. package/apps/server/dist/modules/conversations/conversation.service.d.ts +13 -0
  149. package/apps/server/dist/modules/conversations/conversation.service.js +61 -0
  150. package/apps/server/dist/modules/conversations/conversation.service.js.map +1 -0
  151. package/apps/server/dist/modules/conversations/dto/create-conversation.dto.d.ts +10 -0
  152. package/apps/server/dist/modules/conversations/dto/create-conversation.dto.js +64 -0
  153. package/apps/server/dist/modules/conversations/dto/create-conversation.dto.js.map +1 -0
  154. package/apps/server/dist/modules/conversations/enums/conversation.enum.d.ts +12 -0
  155. package/apps/server/dist/modules/conversations/enums/conversation.enum.js +18 -0
  156. package/apps/server/dist/modules/conversations/enums/conversation.enum.js.map +1 -0
  157. package/apps/server/dist/modules/fs/fs.controller.d.ts +6 -0
  158. package/apps/server/dist/modules/fs/fs.controller.js +85 -0
  159. package/apps/server/dist/modules/fs/fs.controller.js.map +1 -0
  160. package/apps/server/dist/modules/fs/fs.module.d.ts +2 -0
  161. package/apps/server/dist/modules/fs/fs.module.js +20 -0
  162. package/apps/server/dist/modules/fs/fs.module.js.map +1 -0
  163. package/apps/server/dist/modules/harness/dto/save-harness.dto.d.ts +4 -0
  164. package/apps/server/dist/modules/harness/dto/save-harness.dto.js +27 -0
  165. package/apps/server/dist/modules/harness/dto/save-harness.dto.js.map +1 -0
  166. package/apps/server/dist/modules/harness/harness.controller.d.ts +14 -0
  167. package/apps/server/dist/modules/harness/harness.controller.js +72 -0
  168. package/apps/server/dist/modules/harness/harness.controller.js.map +1 -0
  169. package/apps/server/dist/modules/harness/harness.module.d.ts +2 -0
  170. package/apps/server/dist/modules/harness/harness.module.js +23 -0
  171. package/apps/server/dist/modules/harness/harness.module.js.map +1 -0
  172. package/apps/server/dist/modules/harness/harness.service.d.ts +20 -0
  173. package/apps/server/dist/modules/harness/harness.service.js +134 -0
  174. package/apps/server/dist/modules/harness/harness.service.js.map +1 -0
  175. package/apps/server/dist/modules/sessions/session.controller.d.ts +12 -0
  176. package/apps/server/dist/modules/sessions/session.controller.js +79 -0
  177. package/apps/server/dist/modules/sessions/session.controller.js.map +1 -0
  178. package/apps/server/dist/modules/sessions/session.module.d.ts +2 -0
  179. package/apps/server/dist/modules/sessions/session.module.js +26 -0
  180. package/apps/server/dist/modules/sessions/session.module.js.map +1 -0
  181. package/apps/server/dist/modules/sessions/session.service.d.ts +9 -0
  182. package/apps/server/dist/modules/sessions/session.service.js +49 -0
  183. package/apps/server/dist/modules/sessions/session.service.js.map +1 -0
  184. package/apps/server/dist/modules/tasks/dto/create-task.dto.d.ts +15 -0
  185. package/apps/server/dist/modules/tasks/dto/create-task.dto.js +88 -0
  186. package/apps/server/dist/modules/tasks/dto/create-task.dto.js.map +1 -0
  187. package/apps/server/dist/modules/tasks/dto/execute-task.dto.d.ts +7 -0
  188. package/apps/server/dist/modules/tasks/dto/execute-task.dto.js +43 -0
  189. package/apps/server/dist/modules/tasks/dto/execute-task.dto.js.map +1 -0
  190. package/apps/server/dist/modules/tasks/dto/merge-file.dto.d.ts +3 -0
  191. package/apps/server/dist/modules/tasks/dto/merge-file.dto.js +23 -0
  192. package/apps/server/dist/modules/tasks/dto/merge-file.dto.js.map +1 -0
  193. package/apps/server/dist/modules/tasks/dto/rerun-task.dto.d.ts +4 -0
  194. package/apps/server/dist/modules/tasks/dto/rerun-task.dto.js +32 -0
  195. package/apps/server/dist/modules/tasks/dto/rerun-task.dto.js.map +1 -0
  196. package/apps/server/dist/modules/tasks/dto/update-task.dto.d.ts +15 -0
  197. package/apps/server/dist/modules/tasks/dto/update-task.dto.js +89 -0
  198. package/apps/server/dist/modules/tasks/dto/update-task.dto.js.map +1 -0
  199. package/apps/server/dist/modules/tasks/task-execution.service.d.ts +105 -0
  200. package/apps/server/dist/modules/tasks/task-execution.service.js +842 -0
  201. package/apps/server/dist/modules/tasks/task-execution.service.js.map +1 -0
  202. package/apps/server/dist/modules/tasks/task.gateway.d.ts +17 -0
  203. package/apps/server/dist/modules/tasks/task.gateway.js +126 -0
  204. package/apps/server/dist/modules/tasks/task.gateway.js.map +1 -0
  205. package/apps/server/dist/modules/tasks/tasks.controller.d.ts +29 -0
  206. package/apps/server/dist/modules/tasks/tasks.controller.js +209 -0
  207. package/apps/server/dist/modules/tasks/tasks.controller.js.map +1 -0
  208. package/apps/server/dist/modules/tasks/tasks.module.d.ts +2 -0
  209. package/apps/server/dist/modules/tasks/tasks.module.js +42 -0
  210. package/apps/server/dist/modules/tasks/tasks.module.js.map +1 -0
  211. package/apps/server/dist/modules/tasks/tasks.service.d.ts +47 -0
  212. package/apps/server/dist/modules/tasks/tasks.service.js +341 -0
  213. package/apps/server/dist/modules/tasks/tasks.service.js.map +1 -0
  214. package/apps/server/dist/tsconfig.build.tsbuildinfo +1 -0
  215. package/apps/web/.next/BUILD_ID +1 -0
  216. package/apps/web/.next/app-path-routes-manifest.json +12 -0
  217. package/apps/web/.next/build/chunks/[root-of-the-server]__0cstldc._.js +206 -0
  218. package/apps/web/.next/build/chunks/[root-of-the-server]__0cstldc._.js.map +8 -0
  219. package/apps/web/.next/build/chunks/[root-of-the-server]__0s3ts0r._.js +500 -0
  220. package/apps/web/.next/build/chunks/[root-of-the-server]__0s3ts0r._.js.map +11 -0
  221. package/apps/web/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0xqnjlz._.js +13 -0
  222. package/apps/web/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0xqnjlz._.js.map +5 -0
  223. package/apps/web/.next/build/chunks/[turbopack]_runtime.js +890 -0
  224. package/apps/web/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
  225. package/apps/web/.next/build/chunks/node_modules_13sb.px._.js +6820 -0
  226. package/apps/web/.next/build/chunks/node_modules_13sb.px._.js.map +47 -0
  227. package/apps/web/.next/build/package.json +1 -0
  228. package/apps/web/.next/build/postcss.js +6 -0
  229. package/apps/web/.next/build/postcss.js.map +5 -0
  230. package/apps/web/.next/build-manifest.json +21 -0
  231. package/apps/web/.next/diagnostics/build-diagnostics.json +6 -0
  232. package/apps/web/.next/diagnostics/framework.json +1 -0
  233. package/apps/web/.next/diagnostics/route-bundle-stats.json +118 -0
  234. package/apps/web/.next/export-marker.json +6 -0
  235. package/apps/web/.next/fallback-build-manifest.json +13 -0
  236. package/apps/web/.next/images-manifest.json +68 -0
  237. package/apps/web/.next/next-minimal-server.js.nft.json +1 -0
  238. package/apps/web/.next/next-server.js.nft.json +1 -0
  239. package/apps/web/.next/package.json +1 -0
  240. package/apps/web/.next/prerender-manifest.json +234 -0
  241. package/apps/web/.next/required-server-files.js +332 -0
  242. package/apps/web/.next/required-server-files.json +332 -0
  243. package/apps/web/.next/routes-manifest.json +108 -0
  244. package/apps/web/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  245. package/apps/web/.next/server/app/_global-error/page/build-manifest.json +17 -0
  246. package/apps/web/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  247. package/apps/web/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  248. package/apps/web/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  249. package/apps/web/.next/server/app/_global-error/page.js +10 -0
  250. package/apps/web/.next/server/app/_global-error/page.js.map +5 -0
  251. package/apps/web/.next/server/app/_global-error/page.js.nft.json +1 -0
  252. package/apps/web/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  253. package/apps/web/.next/server/app/_global-error.html +1 -0
  254. package/apps/web/.next/server/app/_global-error.meta +15 -0
  255. package/apps/web/.next/server/app/_global-error.rsc +15 -0
  256. package/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  257. package/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  258. package/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
  259. package/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  260. package/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  261. package/apps/web/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  262. package/apps/web/.next/server/app/_not-found/page/build-manifest.json +17 -0
  263. package/apps/web/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  264. package/apps/web/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  265. package/apps/web/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  266. package/apps/web/.next/server/app/_not-found/page.js +13 -0
  267. package/apps/web/.next/server/app/_not-found/page.js.map +5 -0
  268. package/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -0
  269. package/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  270. package/apps/web/.next/server/app/_not-found.html +1 -0
  271. package/apps/web/.next/server/app/_not-found.meta +16 -0
  272. package/apps/web/.next/server/app/_not-found.rsc +19 -0
  273. package/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +19 -0
  274. package/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  275. package/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +8 -0
  276. package/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  277. package/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  278. package/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
  279. package/apps/web/.next/server/app/claude/page/app-paths-manifest.json +3 -0
  280. package/apps/web/.next/server/app/claude/page/build-manifest.json +17 -0
  281. package/apps/web/.next/server/app/claude/page/next-font-manifest.json +11 -0
  282. package/apps/web/.next/server/app/claude/page/react-loadable-manifest.json +1 -0
  283. package/apps/web/.next/server/app/claude/page/server-reference-manifest.json +4 -0
  284. package/apps/web/.next/server/app/claude/page.js +14 -0
  285. package/apps/web/.next/server/app/claude/page.js.map +5 -0
  286. package/apps/web/.next/server/app/claude/page.js.nft.json +1 -0
  287. package/apps/web/.next/server/app/claude/page_client-reference-manifest.js +3 -0
  288. package/apps/web/.next/server/app/claude.html +1 -0
  289. package/apps/web/.next/server/app/claude.meta +15 -0
  290. package/apps/web/.next/server/app/claude.rsc +22 -0
  291. package/apps/web/.next/server/app/claude.segments/_full.segment.rsc +22 -0
  292. package/apps/web/.next/server/app/claude.segments/_head.segment.rsc +6 -0
  293. package/apps/web/.next/server/app/claude.segments/_index.segment.rsc +8 -0
  294. package/apps/web/.next/server/app/claude.segments/_tree.segment.rsc +5 -0
  295. package/apps/web/.next/server/app/claude.segments/claude/__PAGE__.segment.rsc +6 -0
  296. package/apps/web/.next/server/app/claude.segments/claude.segment.rsc +5 -0
  297. package/apps/web/.next/server/app/codex/page/app-paths-manifest.json +3 -0
  298. package/apps/web/.next/server/app/codex/page/build-manifest.json +17 -0
  299. package/apps/web/.next/server/app/codex/page/next-font-manifest.json +11 -0
  300. package/apps/web/.next/server/app/codex/page/react-loadable-manifest.json +1 -0
  301. package/apps/web/.next/server/app/codex/page/server-reference-manifest.json +4 -0
  302. package/apps/web/.next/server/app/codex/page.js +14 -0
  303. package/apps/web/.next/server/app/codex/page.js.map +5 -0
  304. package/apps/web/.next/server/app/codex/page.js.nft.json +1 -0
  305. package/apps/web/.next/server/app/codex/page_client-reference-manifest.js +3 -0
  306. package/apps/web/.next/server/app/codex.html +1 -0
  307. package/apps/web/.next/server/app/codex.meta +15 -0
  308. package/apps/web/.next/server/app/codex.rsc +25 -0
  309. package/apps/web/.next/server/app/codex.segments/_full.segment.rsc +25 -0
  310. package/apps/web/.next/server/app/codex.segments/_head.segment.rsc +6 -0
  311. package/apps/web/.next/server/app/codex.segments/_index.segment.rsc +8 -0
  312. package/apps/web/.next/server/app/codex.segments/_tree.segment.rsc +5 -0
  313. package/apps/web/.next/server/app/codex.segments/codex/__PAGE__.segment.rsc +9 -0
  314. package/apps/web/.next/server/app/codex.segments/codex.segment.rsc +5 -0
  315. package/apps/web/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  316. package/apps/web/.next/server/app/favicon.ico/route/build-manifest.json +9 -0
  317. package/apps/web/.next/server/app/favicon.ico/route.js +6 -0
  318. package/apps/web/.next/server/app/favicon.ico/route.js.map +5 -0
  319. package/apps/web/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  320. package/apps/web/.next/server/app/favicon.ico.meta +1 -0
  321. package/apps/web/.next/server/app/gemini/page/app-paths-manifest.json +3 -0
  322. package/apps/web/.next/server/app/gemini/page/build-manifest.json +17 -0
  323. package/apps/web/.next/server/app/gemini/page/next-font-manifest.json +11 -0
  324. package/apps/web/.next/server/app/gemini/page/react-loadable-manifest.json +1 -0
  325. package/apps/web/.next/server/app/gemini/page/server-reference-manifest.json +4 -0
  326. package/apps/web/.next/server/app/gemini/page.js +14 -0
  327. package/apps/web/.next/server/app/gemini/page.js.map +5 -0
  328. package/apps/web/.next/server/app/gemini/page.js.nft.json +1 -0
  329. package/apps/web/.next/server/app/gemini/page_client-reference-manifest.js +3 -0
  330. package/apps/web/.next/server/app/gemini.html +1 -0
  331. package/apps/web/.next/server/app/gemini.meta +15 -0
  332. package/apps/web/.next/server/app/gemini.rsc +25 -0
  333. package/apps/web/.next/server/app/gemini.segments/_full.segment.rsc +25 -0
  334. package/apps/web/.next/server/app/gemini.segments/_head.segment.rsc +6 -0
  335. package/apps/web/.next/server/app/gemini.segments/_index.segment.rsc +8 -0
  336. package/apps/web/.next/server/app/gemini.segments/_tree.segment.rsc +5 -0
  337. package/apps/web/.next/server/app/gemini.segments/gemini/__PAGE__.segment.rsc +9 -0
  338. package/apps/web/.next/server/app/gemini.segments/gemini.segment.rsc +5 -0
  339. package/apps/web/.next/server/app/index.html +1 -0
  340. package/apps/web/.next/server/app/index.meta +14 -0
  341. package/apps/web/.next/server/app/index.rsc +23 -0
  342. package/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  343. package/apps/web/.next/server/app/index.segments/_full.segment.rsc +23 -0
  344. package/apps/web/.next/server/app/index.segments/_head.segment.rsc +6 -0
  345. package/apps/web/.next/server/app/index.segments/_index.segment.rsc +8 -0
  346. package/apps/web/.next/server/app/index.segments/_tree.segment.rsc +5 -0
  347. package/apps/web/.next/server/app/login/page/app-paths-manifest.json +3 -0
  348. package/apps/web/.next/server/app/login/page/build-manifest.json +17 -0
  349. package/apps/web/.next/server/app/login/page/next-font-manifest.json +11 -0
  350. package/apps/web/.next/server/app/login/page/react-loadable-manifest.json +1 -0
  351. package/apps/web/.next/server/app/login/page/server-reference-manifest.json +4 -0
  352. package/apps/web/.next/server/app/login/page.js +14 -0
  353. package/apps/web/.next/server/app/login/page.js.map +5 -0
  354. package/apps/web/.next/server/app/login/page.js.nft.json +1 -0
  355. package/apps/web/.next/server/app/login/page_client-reference-manifest.js +3 -0
  356. package/apps/web/.next/server/app/login.html +1 -0
  357. package/apps/web/.next/server/app/login.meta +15 -0
  358. package/apps/web/.next/server/app/login.rsc +25 -0
  359. package/apps/web/.next/server/app/login.segments/_full.segment.rsc +25 -0
  360. package/apps/web/.next/server/app/login.segments/_head.segment.rsc +6 -0
  361. package/apps/web/.next/server/app/login.segments/_index.segment.rsc +8 -0
  362. package/apps/web/.next/server/app/login.segments/_tree.segment.rsc +5 -0
  363. package/apps/web/.next/server/app/login.segments/login/__PAGE__.segment.rsc +9 -0
  364. package/apps/web/.next/server/app/login.segments/login.segment.rsc +5 -0
  365. package/apps/web/.next/server/app/page/app-paths-manifest.json +3 -0
  366. package/apps/web/.next/server/app/page/build-manifest.json +17 -0
  367. package/apps/web/.next/server/app/page/next-font-manifest.json +11 -0
  368. package/apps/web/.next/server/app/page/react-loadable-manifest.json +1 -0
  369. package/apps/web/.next/server/app/page/server-reference-manifest.json +4 -0
  370. package/apps/web/.next/server/app/page.js +14 -0
  371. package/apps/web/.next/server/app/page.js.map +5 -0
  372. package/apps/web/.next/server/app/page.js.nft.json +1 -0
  373. package/apps/web/.next/server/app/page_client-reference-manifest.js +3 -0
  374. package/apps/web/.next/server/app/task/[id]/page/app-paths-manifest.json +3 -0
  375. package/apps/web/.next/server/app/task/[id]/page/build-manifest.json +17 -0
  376. package/apps/web/.next/server/app/task/[id]/page/next-font-manifest.json +11 -0
  377. package/apps/web/.next/server/app/task/[id]/page/react-loadable-manifest.json +1 -0
  378. package/apps/web/.next/server/app/task/[id]/page/server-reference-manifest.json +4 -0
  379. package/apps/web/.next/server/app/task/[id]/page.js +14 -0
  380. package/apps/web/.next/server/app/task/[id]/page.js.map +5 -0
  381. package/apps/web/.next/server/app/task/[id]/page.js.nft.json +1 -0
  382. package/apps/web/.next/server/app/task/[id]/page_client-reference-manifest.js +3 -0
  383. package/apps/web/.next/server/app/test/page/app-paths-manifest.json +3 -0
  384. package/apps/web/.next/server/app/test/page/build-manifest.json +17 -0
  385. package/apps/web/.next/server/app/test/page/next-font-manifest.json +11 -0
  386. package/apps/web/.next/server/app/test/page/react-loadable-manifest.json +1 -0
  387. package/apps/web/.next/server/app/test/page/server-reference-manifest.json +4 -0
  388. package/apps/web/.next/server/app/test/page.js +14 -0
  389. package/apps/web/.next/server/app/test/page.js.map +5 -0
  390. package/apps/web/.next/server/app/test/page.js.nft.json +1 -0
  391. package/apps/web/.next/server/app/test/page_client-reference-manifest.js +3 -0
  392. package/apps/web/.next/server/app/test.html +1 -0
  393. package/apps/web/.next/server/app/test.meta +15 -0
  394. package/apps/web/.next/server/app/test.rsc +25 -0
  395. package/apps/web/.next/server/app/test.segments/_full.segment.rsc +25 -0
  396. package/apps/web/.next/server/app/test.segments/_head.segment.rsc +6 -0
  397. package/apps/web/.next/server/app/test.segments/_index.segment.rsc +8 -0
  398. package/apps/web/.next/server/app/test.segments/_tree.segment.rsc +5 -0
  399. package/apps/web/.next/server/app/test.segments/test/__PAGE__.segment.rsc +9 -0
  400. package/apps/web/.next/server/app/test.segments/test.segment.rsc +5 -0
  401. package/apps/web/.next/server/app-paths-manifest.json +12 -0
  402. package/apps/web/.next/server/chunks/[externals]_next_dist_0arv.vj._.js +3 -0
  403. package/apps/web/.next/server/chunks/[externals]_next_dist_0arv.vj._.js.map +1 -0
  404. package/apps/web/.next/server/chunks/[root-of-the-server]__0xjvedo._.js +13 -0
  405. package/apps/web/.next/server/chunks/[root-of-the-server]__0xjvedo._.js.map +1 -0
  406. package/apps/web/.next/server/chunks/[turbopack]_runtime.js +903 -0
  407. package/apps/web/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
  408. package/apps/web/.next/server/chunks/apps_web__next-internal_server_app_favicon_ico_route_actions_0h5n1et.js +3 -0
  409. package/apps/web/.next/server/chunks/apps_web__next-internal_server_app_favicon_ico_route_actions_0h5n1et.js.map +1 -0
  410. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__00707zu._.js +3 -0
  411. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__00707zu._.js.map +1 -0
  412. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__02w1lqw._.js +33 -0
  413. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__02w1lqw._.js.map +1 -0
  414. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__058frv2._.js +3 -0
  415. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__058frv2._.js.map +1 -0
  416. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05mnfv7._.js +3 -0
  417. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05mnfv7._.js.map +1 -0
  418. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05w0js1._.js +3 -0
  419. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05w0js1._.js.map +1 -0
  420. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05y8~sf._.js +3 -0
  421. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05y8~sf._.js.map +1 -0
  422. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0a~4k2j._.js +8 -0
  423. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0a~4k2j._.js.map +1 -0
  424. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0bzgqz2._.js +3 -0
  425. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0bzgqz2._.js.map +1 -0
  426. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0csq2e.._.js +3 -0
  427. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0csq2e.._.js.map +1 -0
  428. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0dgn1-d._.js +8 -0
  429. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0dgn1-d._.js.map +1 -0
  430. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g.z8rw._.js +3 -0
  431. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g.z8rw._.js.map +1 -0
  432. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g7.yrd._.js +3 -0
  433. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g7.yrd._.js.map +1 -0
  434. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ill7bp._.js +4 -0
  435. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ill7bp._.js.map +1 -0
  436. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0lxs646._.js +33 -0
  437. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0lxs646._.js.map +1 -0
  438. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0osecwm._.js +3 -0
  439. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0osecwm._.js.map +1 -0
  440. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0x5.eah._.js +3 -0
  441. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0x5.eah._.js.map +1 -0
  442. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__10mg911._.js +9 -0
  443. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__10mg911._.js.map +1 -0
  444. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__10xopfz._.js +3 -0
  445. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__10xopfz._.js.map +1 -0
  446. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__11illgy._.js +3 -0
  447. package/apps/web/.next/server/chunks/ssr/[root-of-the-server]__11illgy._.js.map +1 -0
  448. package/apps/web/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  449. package/apps/web/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
  450. package/apps/web/.next/server/chunks/ssr/_0hy8~s0._.js +6 -0
  451. package/apps/web/.next/server/chunks/ssr/_0hy8~s0._.js.map +1 -0
  452. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app__global-error_page_actions_0.u5cfa.js +3 -0
  453. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app__global-error_page_actions_0.u5cfa.js.map +1 -0
  454. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app__not-found_page_actions_0appun9.js +3 -0
  455. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app__not-found_page_actions_0appun9.js.map +1 -0
  456. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_claude_page_actions_0_uv-yn.js +3 -0
  457. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_claude_page_actions_0_uv-yn.js.map +1 -0
  458. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_codex_page_actions_0ace7zi.js +3 -0
  459. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_codex_page_actions_0ace7zi.js.map +1 -0
  460. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_gemini_page_actions_0ux-r~z.js +3 -0
  461. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_gemini_page_actions_0ux-r~z.js.map +1 -0
  462. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_login_page_actions_0srfp5v.js +3 -0
  463. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_login_page_actions_0srfp5v.js.map +1 -0
  464. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_page_actions_0rm5_5w.js +3 -0
  465. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_page_actions_0rm5_5w.js.map +1 -0
  466. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_task_[id]_page_actions_0bd_3_p.js +3 -0
  467. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_task_[id]_page_actions_0bd_3_p.js.map +1 -0
  468. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_test_page_actions_0pn8asm.js +3 -0
  469. package/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_test_page_actions_0pn8asm.js.map +1 -0
  470. package/apps/web/.next/server/chunks/ssr/apps_web_src_0s6cw51._.js +8 -0
  471. package/apps/web/.next/server/chunks/ssr/apps_web_src_0s6cw51._.js.map +1 -0
  472. package/apps/web/.next/server/chunks/ssr/apps_web_src_app_login_page_tsx_07oskhj._.js +3 -0
  473. package/apps/web/.next/server/chunks/ssr/apps_web_src_app_login_page_tsx_07oskhj._.js.map +1 -0
  474. package/apps/web/.next/server/chunks/ssr/apps_web_src_app_page_tsx_0kq.zh9._.js +3 -0
  475. package/apps/web/.next/server/chunks/ssr/apps_web_src_app_page_tsx_0kq.zh9._.js.map +1 -0
  476. package/apps/web/.next/server/chunks/ssr/apps_web_src_app_test_page_tsx_04ji_kt._.js +3 -0
  477. package/apps/web/.next/server/chunks/ssr/apps_web_src_app_test_page_tsx_04ji_kt._.js.map +1 -0
  478. package/apps/web/.next/server/chunks/ssr/apps_web_src_features_02y94.o._.js +3 -0
  479. package/apps/web/.next/server/chunks/ssr/apps_web_src_features_02y94.o._.js.map +1 -0
  480. package/apps/web/.next/server/chunks/ssr/apps_web_src_features_0y6q6xu._.js +3 -0
  481. package/apps/web/.next/server/chunks/ssr/apps_web_src_features_0y6q6xu._.js.map +1 -0
  482. package/apps/web/.next/server/chunks/ssr/node_modules_09w7yel._.js +33 -0
  483. package/apps/web/.next/server/chunks/ssr/node_modules_09w7yel._.js.map +1 -0
  484. package/apps/web/.next/server/chunks/ssr/node_modules_0ck2~9g._.js +3 -0
  485. package/apps/web/.next/server/chunks/ssr/node_modules_0ck2~9g._.js.map +1 -0
  486. package/apps/web/.next/server/chunks/ssr/node_modules_0i2xw~e._.js +3 -0
  487. package/apps/web/.next/server/chunks/ssr/node_modules_0i2xw~e._.js.map +1 -0
  488. package/apps/web/.next/server/chunks/ssr/node_modules_0vtdjw7._.js +3 -0
  489. package/apps/web/.next/server/chunks/ssr/node_modules_0vtdjw7._.js.map +1 -0
  490. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_03nkrli._.js +19 -0
  491. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_03nkrli._.js.map +1 -0
  492. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js +6 -0
  493. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_0h9llsw._.js.map +1 -0
  494. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js +3 -0
  495. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js.map +1 -0
  496. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js +3 -0
  497. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js.map +1 -0
  498. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js +3 -0
  499. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js.map +1 -0
  500. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
  501. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js.map +1 -0
  502. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01s3o34.js +4 -0
  503. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_01s3o34.js.map +1 -0
  504. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ax1b3s.js +4 -0
  505. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ax1b3s.js.map +1 -0
  506. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0gl78zj.js +4 -0
  507. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0gl78zj.js.map +1 -0
  508. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j~tyzr.js +4 -0
  509. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0j~tyzr.js.map +1 -0
  510. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0khf96-.js +4 -0
  511. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0khf96-.js.map +1 -0
  512. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qgz_85.js +4 -0
  513. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0qgz_85.js.map +1 -0
  514. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0unh3f-.js +4 -0
  515. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0unh3f-.js.map +1 -0
  516. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0uq606i.js +4 -0
  517. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0uq606i.js.map +1 -0
  518. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_128e6.l.js +4 -0
  519. package/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_128e6.l.js.map +1 -0
  520. package/apps/web/.next/server/functions-config-manifest.json +4 -0
  521. package/apps/web/.next/server/interception-route-rewrite-manifest.js +1 -0
  522. package/apps/web/.next/server/middleware-build-manifest.js +21 -0
  523. package/apps/web/.next/server/middleware-manifest.json +6 -0
  524. package/apps/web/.next/server/next-font-manifest.js +1 -0
  525. package/apps/web/.next/server/next-font-manifest.json +39 -0
  526. package/apps/web/.next/server/pages/404.html +1 -0
  527. package/apps/web/.next/server/pages/500.html +1 -0
  528. package/apps/web/.next/server/pages-manifest.json +4 -0
  529. package/apps/web/.next/server/prefetch-hints.json +1 -0
  530. package/apps/web/.next/server/server-reference-manifest.js +1 -0
  531. package/apps/web/.next/server/server-reference-manifest.json +5 -0
  532. package/apps/web/.next/static/chunks/01xlw8hd842-c.js +1 -0
  533. package/apps/web/.next/static/chunks/03~yq9q893hmn.js +1 -0
  534. package/apps/web/.next/static/chunks/04w-clkdzn_sn.js +6 -0
  535. package/apps/web/.next/static/chunks/066jf0nk75nic.css +2 -0
  536. package/apps/web/.next/static/chunks/0bmpc66o4m-9z.js +1 -0
  537. package/apps/web/.next/static/chunks/0cctfc2jrxq_0.js +1 -0
  538. package/apps/web/.next/static/chunks/0dk1ec~jpoxa3.css +1 -0
  539. package/apps/web/.next/static/chunks/0e992tq36rg-i.js +6 -0
  540. package/apps/web/.next/static/chunks/0ieuc6bs-l0iy.js +7 -0
  541. package/apps/web/.next/static/chunks/0nd5y.4d2gl8g.js +1 -0
  542. package/apps/web/.next/static/chunks/0o-t4yw-v8ahl.js +6 -0
  543. package/apps/web/.next/static/chunks/0pqt~8bl3ukh4.js +4 -0
  544. package/apps/web/.next/static/chunks/0rjn.~e6pvni1.js +2 -0
  545. package/apps/web/.next/static/chunks/0t2xr05rlu96l.js +1 -0
  546. package/apps/web/.next/static/chunks/0uuu-x.ka3jyt.js +1 -0
  547. package/apps/web/.next/static/chunks/0x15z029u118o.js +1 -0
  548. package/apps/web/.next/static/chunks/0~.kxojjn0k1x.js +1 -0
  549. package/apps/web/.next/static/chunks/10t1c-qsk.cdw.js +1 -0
  550. package/apps/web/.next/static/chunks/14zwv8duu059g.js +31 -0
  551. package/apps/web/.next/static/chunks/turbopack-0gpa2pyrgntw-.js +1 -0
  552. package/apps/web/.next/static/fdXuROcW6IkgkI61bg3UM/_buildManifest.js +11 -0
  553. package/apps/web/.next/static/fdXuROcW6IkgkI61bg3UM/_clientMiddlewareManifest.js +1 -0
  554. package/apps/web/.next/static/fdXuROcW6IkgkI61bg3UM/_ssgManifest.js +1 -0
  555. package/apps/web/.next/static/media/4fa387ec64143e14-s.0wkzw~je483f-.woff2 +0 -0
  556. package/apps/web/.next/static/media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2 +0 -0
  557. package/apps/web/.next/static/media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2 +0 -0
  558. package/apps/web/.next/static/media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2 +0 -0
  559. package/apps/web/.next/static/media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2 +0 -0
  560. package/apps/web/.next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2 +0 -0
  561. package/apps/web/.next/static/media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2 +0 -0
  562. package/apps/web/.next/static/media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2 +0 -0
  563. package/apps/web/.next/static/media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2 +0 -0
  564. package/apps/web/.next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2 +0 -0
  565. package/apps/web/.next/static/media/favicon.0x3dzn~oxb6tn.ico +0 -0
  566. package/apps/web/.next/static/media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2 +0 -0
  567. package/apps/web/.next/trace +1 -0
  568. package/apps/web/.next/trace-build +1 -0
  569. package/apps/web/.next/turbopack +0 -0
  570. package/apps/web/.next/types/cache-life.d.ts +145 -0
  571. package/apps/web/.next/types/routes.d.ts +63 -0
  572. package/apps/web/.next/types/validator.ts +115 -0
  573. package/package.json +28 -42
  574. package/packages/cli/dist/commands/init.d.ts +1 -2
  575. package/packages/cli/dist/commands/init.js +14 -16
  576. package/packages/cli/dist/commands/start.js +41 -26
  577. package/packages/cli/dist/index.js +6 -23
  578. package/packages/cli/dist/utils/package-root.d.ts +3 -0
  579. package/packages/cli/dist/utils/package-root.js +62 -0
  580. package/.gitignore +0 -23
  581. package/.npmignore +0 -21
  582. package/.prettierignore +0 -6
  583. package/.prettierrc +0 -26
  584. package/AGENTS.md +0 -10
  585. package/CLAUDE.md +0 -10
  586. package/apps/server/eslint.config.mjs +0 -20
  587. package/apps/server/nest-cli.json +0 -8
  588. package/apps/server/package.json +0 -89
  589. package/apps/server/scripts/postinstall.js +0 -53
  590. package/apps/server/src/__mocks__/glob.js +0 -6
  591. package/apps/server/src/__mocks__/uuid.js +0 -5
  592. package/apps/server/src/app.controller.spec.ts +0 -24
  593. package/apps/server/src/app.controller.ts +0 -13
  594. package/apps/server/src/app.module.ts +0 -18
  595. package/apps/server/src/app.service.ts +0 -8
  596. package/apps/server/src/common/ji-paths.ts +0 -41
  597. package/apps/server/src/database/database.module.ts +0 -27
  598. package/apps/server/src/database/entities/agent-changelog.entity.ts +0 -39
  599. package/apps/server/src/database/entities/agent-session.entity.ts +0 -29
  600. package/apps/server/src/database/entities/conversation.entity.ts +0 -41
  601. package/apps/server/src/database/entities/session.entity.ts +0 -16
  602. package/apps/server/src/database/entities/task-agent-run.entity.ts +0 -40
  603. package/apps/server/src/database/entities/task-agent.entity.ts +0 -42
  604. package/apps/server/src/database/entities/task-requirement.entity.ts +0 -27
  605. package/apps/server/src/database/entities/task-run.entity.ts +0 -41
  606. package/apps/server/src/database/entities/task.entity.ts +0 -44
  607. package/apps/server/src/main.ts +0 -65
  608. package/apps/server/src/modules/agents/agent-model-settings.spec.ts +0 -80
  609. package/apps/server/src/modules/agents/agents.module.ts +0 -11
  610. package/apps/server/src/modules/agents/claude/claude-auth.manager.ts +0 -83
  611. package/apps/server/src/modules/agents/claude/claude-pty.manager.ts +0 -380
  612. package/apps/server/src/modules/agents/claude/claude.controller.ts +0 -85
  613. package/apps/server/src/modules/agents/claude/claude.gateway.ts +0 -158
  614. package/apps/server/src/modules/agents/claude/claude.module.ts +0 -18
  615. package/apps/server/src/modules/agents/claude/claude.service.ts +0 -67
  616. package/apps/server/src/modules/agents/claude/dto/create-session.dto.ts +0 -24
  617. package/apps/server/src/modules/agents/claude/dto/resize-session.dto.ts +0 -13
  618. package/apps/server/src/modules/agents/claude/dto/send-input.dto.ts +0 -9
  619. package/apps/server/src/modules/agents/claude/interfaces/claude-session.interface.ts +0 -26
  620. package/apps/server/src/modules/agents/claude/interfaces/pty-event.interface.ts +0 -10
  621. package/apps/server/src/modules/agents/claude/interfaces/stream-event.interface.ts +0 -61
  622. package/apps/server/src/modules/agents/codex/codex-auth.manager.ts +0 -107
  623. package/apps/server/src/modules/agents/codex/codex-session.manager.ts +0 -357
  624. package/apps/server/src/modules/agents/codex/codex.controller.ts +0 -64
  625. package/apps/server/src/modules/agents/codex/codex.gateway.ts +0 -97
  626. package/apps/server/src/modules/agents/codex/codex.module.ts +0 -17
  627. package/apps/server/src/modules/agents/codex/dto/configure-auth.dto.ts +0 -7
  628. package/apps/server/src/modules/agents/gemini/dto/configure-auth.dto.ts +0 -15
  629. package/apps/server/src/modules/agents/gemini/dto/create-session.dto.ts +0 -9
  630. package/apps/server/src/modules/agents/gemini/dto/send-input.dto.ts +0 -9
  631. package/apps/server/src/modules/agents/gemini/gemini-auth.manager.ts +0 -157
  632. package/apps/server/src/modules/agents/gemini/gemini-session.manager.ts +0 -287
  633. package/apps/server/src/modules/agents/gemini/gemini.controller.ts +0 -93
  634. package/apps/server/src/modules/agents/gemini/gemini.gateway.ts +0 -149
  635. package/apps/server/src/modules/agents/gemini/gemini.module.ts +0 -17
  636. package/apps/server/src/modules/agents/gemini/interfaces/gemini-session.interface.ts +0 -18
  637. package/apps/server/src/modules/agents/gemini/interfaces/stream-event.interface.ts +0 -14
  638. package/apps/server/src/modules/agents/session-termination.spec.ts +0 -103
  639. package/apps/server/src/modules/changelog/changelog.controller.ts +0 -20
  640. package/apps/server/src/modules/changelog/changelog.module.ts +0 -14
  641. package/apps/server/src/modules/changelog/changelog.service.spec.ts +0 -531
  642. package/apps/server/src/modules/changelog/changelog.service.ts +0 -690
  643. package/apps/server/src/modules/conversations/conversation.controller.spec.ts +0 -106
  644. package/apps/server/src/modules/conversations/conversation.controller.ts +0 -60
  645. package/apps/server/src/modules/conversations/conversation.module.ts +0 -14
  646. package/apps/server/src/modules/conversations/conversation.service.spec.ts +0 -176
  647. package/apps/server/src/modules/conversations/conversation.service.ts +0 -54
  648. package/apps/server/src/modules/conversations/dto/create-conversation.dto.ts +0 -37
  649. package/apps/server/src/modules/conversations/enums/conversation.enum.ts +0 -13
  650. package/apps/server/src/modules/fs/fs.controller.ts +0 -29
  651. package/apps/server/src/modules/fs/fs.module.ts +0 -8
  652. package/apps/server/src/modules/harness/dto/save-harness.dto.ts +0 -9
  653. package/apps/server/src/modules/harness/harness.controller.spec.ts +0 -95
  654. package/apps/server/src/modules/harness/harness.controller.ts +0 -35
  655. package/apps/server/src/modules/harness/harness.module.ts +0 -11
  656. package/apps/server/src/modules/harness/harness.service.spec.ts +0 -217
  657. package/apps/server/src/modules/harness/harness.service.ts +0 -112
  658. package/apps/server/src/modules/sessions/session.controller.spec.ts +0 -68
  659. package/apps/server/src/modules/sessions/session.controller.ts +0 -43
  660. package/apps/server/src/modules/sessions/session.module.ts +0 -14
  661. package/apps/server/src/modules/sessions/session.service.spec.ts +0 -106
  662. package/apps/server/src/modules/sessions/session.service.ts +0 -35
  663. package/apps/server/src/modules/tasks/dto/create-task.dto.ts +0 -54
  664. package/apps/server/src/modules/tasks/dto/execute-task.dto.ts +0 -22
  665. package/apps/server/src/modules/tasks/dto/merge-file.dto.ts +0 -7
  666. package/apps/server/src/modules/tasks/dto/rerun-task.dto.ts +0 -14
  667. package/apps/server/src/modules/tasks/dto/update-task.dto.ts +0 -55
  668. package/apps/server/src/modules/tasks/task-execution.service.ts +0 -978
  669. package/apps/server/src/modules/tasks/task.gateway.ts +0 -140
  670. package/apps/server/src/modules/tasks/tasks.controller.spec.ts +0 -210
  671. package/apps/server/src/modules/tasks/tasks.controller.ts +0 -139
  672. package/apps/server/src/modules/tasks/tasks.module.ts +0 -30
  673. package/apps/server/src/modules/tasks/tasks.service.spec.ts +0 -552
  674. package/apps/server/src/modules/tasks/tasks.service.ts +0 -333
  675. package/apps/server/test/app.e2e-spec.ts +0 -28
  676. package/apps/server/test/jest-e2e.json +0 -9
  677. package/apps/server/tsconfig.build.json +0 -4
  678. package/apps/server/tsconfig.json +0 -13
  679. package/apps/web/AGENTS.md +0 -7
  680. package/apps/web/CLAUDE.md +0 -1
  681. package/apps/web/eslint.config.mjs +0 -21
  682. package/apps/web/next-env.d.ts +0 -6
  683. package/apps/web/postcss.config.mjs +0 -7
  684. package/apps/web/src/app/claude/page.tsx +0 -5
  685. package/apps/web/src/app/codex/page.tsx +0 -126
  686. package/apps/web/src/app/gemini/page.tsx +0 -130
  687. package/apps/web/src/app/globals.css +0 -149
  688. package/apps/web/src/app/layout.tsx +0 -40
  689. package/apps/web/src/app/login/page.tsx +0 -67
  690. package/apps/web/src/app/page.tsx +0 -497
  691. package/apps/web/src/app/task/[id]/page.tsx +0 -11
  692. package/apps/web/src/app/test/page.tsx +0 -298
  693. package/apps/web/src/components/ui/Modal.tsx +0 -78
  694. package/apps/web/src/components/ui/WorkingDirPicker.tsx +0 -195
  695. package/apps/web/src/components/ui/__tests__/Modal.test.tsx +0 -68
  696. package/apps/web/src/features/auth/api/__tests__/auth.api.test.ts +0 -83
  697. package/apps/web/src/features/auth/api/auth.api.ts +0 -81
  698. package/apps/web/src/features/auth/hooks/__tests__/useClaudeAuth.test.ts +0 -166
  699. package/apps/web/src/features/auth/hooks/__tests__/useCodexAuth.test.ts +0 -127
  700. package/apps/web/src/features/auth/hooks/__tests__/useGeminiAuth.test.ts +0 -120
  701. package/apps/web/src/features/auth/hooks/useClaudeAuth.ts +0 -88
  702. package/apps/web/src/features/auth/hooks/useCodexAuth.ts +0 -149
  703. package/apps/web/src/features/auth/hooks/useGeminiAuth.ts +0 -125
  704. package/apps/web/src/features/auth/ui/CodexLoginPanel.tsx +0 -302
  705. package/apps/web/src/features/auth/ui/GeminiLoginPanel.tsx +0 -316
  706. package/apps/web/src/features/auth/ui/LoginForm.tsx +0 -190
  707. package/apps/web/src/features/auth/ui/LoginPanel.tsx +0 -114
  708. package/apps/web/src/features/auth/ui/__tests__/LoginPanel.test.tsx +0 -105
  709. package/apps/web/src/features/chat/api/__tests__/sessions.api.test.ts +0 -187
  710. package/apps/web/src/features/chat/api/sessions.api.ts +0 -161
  711. package/apps/web/src/features/chat/container/ClaudePageContainer.tsx +0 -152
  712. package/apps/web/src/features/chat/hooks/__tests__/useCodexSessions.test.ts +0 -131
  713. package/apps/web/src/features/chat/hooks/__tests__/useGeminiSessions.test.ts +0 -130
  714. package/apps/web/src/features/chat/hooks/useAgentModelSettings.ts +0 -54
  715. package/apps/web/src/features/chat/hooks/useClaudeSessions.ts +0 -323
  716. package/apps/web/src/features/chat/hooks/useCodexSessions.ts +0 -275
  717. package/apps/web/src/features/chat/hooks/useGeminiSessions.ts +0 -255
  718. package/apps/web/src/features/chat/hooks/useSessionCommand.ts +0 -66
  719. package/apps/web/src/features/chat/hooks/useSessionRename.ts +0 -61
  720. package/apps/web/src/features/chat/hooks/useSessionWorkingDirectories.ts +0 -34
  721. package/apps/web/src/features/chat/hooks/useUnifiedSessions.ts +0 -156
  722. package/apps/web/src/features/chat/lib/agentModelOptions.ts +0 -72
  723. package/apps/web/src/features/chat/ui/AgentModelPicker.tsx +0 -134
  724. package/apps/web/src/features/chat/ui/AgentSelectModal.tsx +0 -236
  725. package/apps/web/src/features/chat/ui/ChatInput.tsx +0 -162
  726. package/apps/web/src/features/chat/ui/ChatMessage.tsx +0 -204
  727. package/apps/web/src/features/chat/ui/ChatWorkspace.tsx +0 -207
  728. package/apps/web/src/features/chat/ui/CheckingSkeleton.tsx +0 -44
  729. package/apps/web/src/features/chat/ui/ClaudeLoginView.tsx +0 -44
  730. package/apps/web/src/features/chat/ui/PermissionCard.tsx +0 -37
  731. package/apps/web/src/features/chat/ui/SessionSidebar.tsx +0 -280
  732. package/apps/web/src/features/chat/ui/__tests__/AgentSelectModal.test.tsx +0 -58
  733. package/apps/web/src/features/chat/ui/__tests__/ChatInput.test.tsx +0 -134
  734. package/apps/web/src/features/chat/ui/__tests__/ChatMessage.test.tsx +0 -106
  735. package/apps/web/src/features/chat/ui/__tests__/ChatWorkspace.test.tsx +0 -66
  736. package/apps/web/src/features/diff/ui/DiffFileRow.tsx +0 -73
  737. package/apps/web/src/features/diff/ui/DiffHunk.tsx +0 -61
  738. package/apps/web/src/features/diff/ui/FileChangeBadge.tsx +0 -23
  739. package/apps/web/src/features/diff/ui/__tests__/DiffFileRow.test.tsx +0 -40
  740. package/apps/web/src/features/diff/ui/__tests__/DiffHunk.test.tsx +0 -24
  741. package/apps/web/src/features/diff/ui/__tests__/FileChangeBadge.test.tsx +0 -16
  742. package/apps/web/src/features/fs/api/fs.api.ts +0 -14
  743. package/apps/web/src/features/fs/hooks/useDirBrowser.ts +0 -50
  744. package/apps/web/src/features/harness/api/__tests__/harness.api.test.ts +0 -73
  745. package/apps/web/src/features/harness/api/harness.api.ts +0 -46
  746. package/apps/web/src/features/harness/hooks/__tests__/useHarness.test.ts +0 -65
  747. package/apps/web/src/features/harness/hooks/useHarness.ts +0 -66
  748. package/apps/web/src/features/harness/ui/HarnessModal.tsx +0 -171
  749. package/apps/web/src/features/harness/ui/__tests__/HarnessModal.test.tsx +0 -46
  750. package/apps/web/src/features/status/ui/AgentStatusModal.tsx +0 -267
  751. package/apps/web/src/features/status/ui/__tests__/AgentStatusModal.test.tsx +0 -71
  752. package/apps/web/src/features/tasks/api/__tests__/changelog.api.test.ts +0 -89
  753. package/apps/web/src/features/tasks/api/__tests__/tasks.api.test.ts +0 -282
  754. package/apps/web/src/features/tasks/api/changelog.api.ts +0 -52
  755. package/apps/web/src/features/tasks/api/tasks.api.ts +0 -175
  756. package/apps/web/src/features/tasks/container/TaskDetailPageContainer.tsx +0 -69
  757. package/apps/web/src/features/tasks/hooks/__tests__/useChangelogCodeCopy.test.ts +0 -48
  758. package/apps/web/src/features/tasks/hooks/__tests__/useTaskChangelog.test.ts +0 -48
  759. package/apps/web/src/features/tasks/hooks/__tests__/useTaskCreate.test.ts +0 -217
  760. package/apps/web/src/features/tasks/hooks/__tests__/useTaskEdit.test.ts +0 -152
  761. package/apps/web/src/features/tasks/hooks/__tests__/useTaskExecution.test.ts +0 -143
  762. package/apps/web/src/features/tasks/hooks/__tests__/useTaskList.test.ts +0 -168
  763. package/apps/web/src/features/tasks/hooks/__tests__/useTaskNotification.test.ts +0 -125
  764. package/apps/web/src/features/tasks/hooks/__tests__/useTaskRuns.test.ts +0 -51
  765. package/apps/web/src/features/tasks/hooks/useChangelogCodeCopy.ts +0 -52
  766. package/apps/web/src/features/tasks/hooks/useCopyToClipboard.ts +0 -47
  767. package/apps/web/src/features/tasks/hooks/useTaskChangelog.ts +0 -32
  768. package/apps/web/src/features/tasks/hooks/useTaskCreate.ts +0 -137
  769. package/apps/web/src/features/tasks/hooks/useTaskDetail.ts +0 -217
  770. package/apps/web/src/features/tasks/hooks/useTaskEdit.ts +0 -130
  771. package/apps/web/src/features/tasks/hooks/useTaskExecution.ts +0 -137
  772. package/apps/web/src/features/tasks/hooks/useTaskList.ts +0 -159
  773. package/apps/web/src/features/tasks/hooks/useTaskNotification.ts +0 -80
  774. package/apps/web/src/features/tasks/hooks/useTaskRuns.ts +0 -32
  775. package/apps/web/src/features/tasks/ui/AgentOutputPanel.tsx +0 -203
  776. package/apps/web/src/features/tasks/ui/AgentRoleSelect.tsx +0 -97
  777. package/apps/web/src/features/tasks/ui/ChangelogPanel.tsx +0 -321
  778. package/apps/web/src/features/tasks/ui/RunHistoryPanel.tsx +0 -193
  779. package/apps/web/src/features/tasks/ui/TaskCreateModal.tsx +0 -205
  780. package/apps/web/src/features/tasks/ui/TaskDetailView.tsx +0 -413
  781. package/apps/web/src/features/tasks/ui/TaskEditModal.tsx +0 -165
  782. package/apps/web/src/features/tasks/ui/TaskListModal.tsx +0 -591
  783. package/apps/web/src/features/tasks/ui/__tests__/AgentRoleSelect.test.tsx +0 -91
  784. package/apps/web/src/features/tasks/ui/__tests__/ChangelogPanel.test.tsx +0 -94
  785. package/apps/web/src/features/tasks/ui/__tests__/RunHistoryPanel.test.tsx +0 -71
  786. package/apps/web/src/features/tasks/ui/__tests__/TaskCreateModal.test.tsx +0 -153
  787. package/apps/web/src/features/tasks/ui/__tests__/TaskEditModal.test.tsx +0 -75
  788. package/apps/web/src/features/tasks/ui/__tests__/TaskListModal.test.tsx +0 -243
  789. package/apps/web/src/hooks/useWorkingDir.ts +0 -28
  790. package/apps/web/src/lib/__tests__/ansi.test.ts +0 -88
  791. package/apps/web/src/lib/ansi.ts +0 -105
  792. package/apps/web/src/lib/constants.ts +0 -4
  793. package/apps/web/src/lib/quota.ts +0 -22
  794. package/apps/web/src/lib/theme.tsx +0 -78
  795. package/apps/web/src/lib/toast.tsx +0 -175
  796. package/apps/web/src/store/agentStatusStore.ts +0 -38
  797. package/apps/web/tsconfig.json +0 -18
  798. package/apps/web/vitest.config.ts +0 -25
  799. package/apps/web/vitest.setup.ts +0 -10
  800. package/packages/cli/dist/utils/project-init.d.ts +0 -12
  801. package/packages/cli/dist/utils/project-init.js +0 -258
  802. package/packages/cli/package.json +0 -30
  803. package/packages/cli/src/commands/check.ts +0 -77
  804. package/packages/cli/src/commands/init.ts +0 -209
  805. package/packages/cli/src/commands/start.ts +0 -183
  806. package/packages/cli/src/index.ts +0 -91
  807. package/packages/cli/src/utils/agent-tools.ts +0 -201
  808. package/packages/cli/src/utils/project-init.ts +0 -252
  809. package/packages/cli/src/utils/proxy.ts +0 -123
  810. package/packages/cli/tsconfig.json +0 -14
  811. package/packages/eslint-config/base.mjs +0 -31
  812. package/packages/eslint-config/nest.mjs +0 -55
  813. package/packages/eslint-config/next.mjs +0 -23
  814. package/packages/eslint-config/package.json +0 -20
  815. package/packages/typescript-config/base.json +0 -16
  816. package/packages/typescript-config/nestjs.json +0 -17
  817. package/packages/typescript-config/nextjs.json +0 -15
  818. package/packages/typescript-config/package.json +0 -11
  819. package/turbo.json +0 -28
  820. /package/apps/web/{src/app/favicon.ico → .next/server/app/favicon.ico.body} +0 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sections": [
5
+ {"offset": {"line": 17, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared/runtime/runtime-utils.ts"],"sourcesContent":["/**\n * This file contains runtime types and functions that are shared between all\n * TurboPack ECMAScript runtimes.\n *\n * It will be prepended to the runtime code of each runtime.\n */\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-types.d.ts\" />\n\ntype EsmNamespaceObject = Record<string, any>\n\n/**\n * Describes why a module was instantiated.\n * Shared between browser and Node.js runtimes.\n */\nenum SourceType {\n /**\n * The module was instantiated because it was included in an evaluated chunk's\n * runtime.\n * SourceData is a ChunkPath.\n */\n Runtime = 0,\n /**\n * The module was instantiated because a parent module imported it.\n * SourceData is a ModuleId.\n */\n Parent = 1,\n /**\n * The module was instantiated because it was included in a chunk's hot module\n * update.\n * SourceData is an array of ModuleIds or undefined.\n */\n Update = 2,\n}\n\ntype SourceData = ChunkPath | ModuleId | ModuleId[] | undefined\n\n// @ts-ignore Defined in `dev-base.ts`\ndeclare function getOrInstantiateModuleFromParent<M>(\n id: ModuleId,\n sourceModule: M\n): M\n\n// @ts-ignore Defined in `hmr-runtime.ts` (dev mode only)\ndeclare let devModuleCache: Record<ModuleId, any> | undefined\n\n/**\n * Flag indicating which module object type to create when a module is merged. Set to `true`\n * by each runtime that uses ModuleWithDirection (browser dev-base.ts, nodejs dev-base.ts,\n * nodejs build-base.ts). Browser production (build-base.ts) leaves it as `false` since it\n * uses plain Module objects.\n */\nlet createModuleWithDirectionFlag = false\n\nconst REEXPORTED_OBJECTS = new WeakMap<Module, ReexportedObjects>()\n\n/**\n * Constructs the `__turbopack_context__` object for a module.\n */\nfunction Context(\n this: TurbopackBaseContext<Module>,\n module: Module,\n exports: Exports\n) {\n this.m = module\n // We need to store this here instead of accessing it from the module object to:\n // 1. Make it available to factories directly, since we rewrite `this` to\n // `__turbopack_context__.e` in CJS modules.\n // 2. Support async modules which rewrite `module.exports` to a promise, so we\n // can still access the original exports object from functions like\n // `esmExport`\n // Ideally we could find a new approach for async modules and drop this property altogether.\n this.e = exports\n}\nconst contextPrototype = Context.prototype as TurbopackBaseContext<Module>\n\ntype ModuleContextMap = Record<ModuleId, ModuleContextEntry>\n\ninterface ModuleContextEntry {\n id: () => ModuleId\n module: () => any\n}\n\ninterface ModuleContext {\n // require call\n (moduleId: string): Exports | EsmNamespaceObject\n\n // async import call\n import(moduleId: string): Promise<Exports | EsmNamespaceObject>\n\n keys(): ModuleId[]\n\n resolve(moduleId: string): ModuleId\n}\n\ntype GetOrInstantiateModuleFromParent<M extends Module> = (\n moduleId: M['id'],\n parentModule: M\n) => M\n\ndeclare function getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): Module\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty\nconst toStringTag = typeof Symbol !== 'undefined' && Symbol.toStringTag\n\nfunction defineProp(\n obj: any,\n name: PropertyKey,\n options: PropertyDescriptor & ThisType<any>\n) {\n if (!hasOwnProperty.call(obj, name)) Object.defineProperty(obj, name, options)\n}\n\nfunction getOverwrittenModule(\n moduleCache: ModuleCache<Module>,\n id: ModuleId\n): Module {\n let module = moduleCache[id]\n if (!module) {\n if (createModuleWithDirectionFlag) {\n // set in development modes for hmr support\n module = createModuleWithDirection(id)\n } else {\n module = createModuleObject(id)\n }\n moduleCache[id] = module\n }\n return module\n}\n\n/**\n * Creates the module object. Only done here to ensure all module objects have the same shape.\n */\nfunction createModuleObject(id: ModuleId): Module {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n }\n}\n\nfunction createModuleWithDirection(id: ModuleId): ModuleWithDirection {\n return {\n exports: {},\n error: undefined,\n id,\n namespaceObject: undefined,\n parents: [],\n children: [],\n }\n}\n\ntype BindingTag = 0\nconst BindingTag_Value = 0 as BindingTag\n\n// an arbitrary sequence of bindings as\n// - a prop name\n// - BindingTag_Value, a value to be bound directly, or\n// - 1 or 2 functions to bind as getters and sdetters\ntype EsmBindings = Array<\n string | BindingTag | (() => unknown) | ((v: unknown) => void) | unknown\n>\n\n/**\n * Adds the getters to the exports object.\n */\nfunction esm(exports: Exports, bindings: EsmBindings) {\n defineProp(exports, '__esModule', { value: true })\n if (toStringTag) defineProp(exports, toStringTag, { value: 'Module' })\n let i = 0\n while (i < bindings.length) {\n const propName = bindings[i++] as string\n const tagOrFunction = bindings[i++]\n if (typeof tagOrFunction === 'number') {\n if (tagOrFunction === BindingTag_Value) {\n defineProp(exports, propName, {\n value: bindings[i++],\n enumerable: true,\n writable: false,\n })\n } else {\n throw new Error(`unexpected tag: ${tagOrFunction}`)\n }\n } else {\n const getterFn = tagOrFunction as () => unknown\n if (typeof bindings[i] === 'function') {\n const setterFn = bindings[i++] as (v: unknown) => void\n defineProp(exports, propName, {\n get: getterFn,\n set: setterFn,\n enumerable: true,\n })\n } else {\n defineProp(exports, propName, {\n get: getterFn,\n enumerable: true,\n })\n }\n }\n }\n Object.seal(exports)\n}\n\n/**\n * Makes the module an ESM with exports\n */\nfunction esmExport(\n this: TurbopackBaseContext<Module>,\n bindings: EsmBindings,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Module['exports']\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n module.namespaceObject = exports\n esm(exports, bindings)\n}\ncontextPrototype.s = esmExport\n\ntype ReexportedObjects = Record<PropertyKey, unknown>[]\nfunction ensureDynamicExports(\n module: Module,\n exports: Exports\n): ReexportedObjects {\n let reexportedObjects: ReexportedObjects | undefined =\n REEXPORTED_OBJECTS.get(module)\n\n if (!reexportedObjects) {\n REEXPORTED_OBJECTS.set(module, (reexportedObjects = []))\n module.exports = module.namespaceObject = new Proxy(exports, {\n get(target, prop) {\n if (\n hasOwnProperty.call(target, prop) ||\n prop === 'default' ||\n prop === '__esModule'\n ) {\n return Reflect.get(target, prop)\n }\n for (const obj of reexportedObjects!) {\n const value = Reflect.get(obj, prop)\n if (value !== undefined) return value\n }\n return undefined\n },\n ownKeys(target) {\n const keys = Reflect.ownKeys(target)\n for (const obj of reexportedObjects!) {\n for (const key of Reflect.ownKeys(obj)) {\n if (key !== 'default' && !keys.includes(key)) keys.push(key)\n }\n }\n return keys\n },\n })\n }\n return reexportedObjects\n}\n\n/**\n * Dynamically exports properties from an object\n */\nfunction dynamicExport(\n this: TurbopackBaseContext<Module>,\n object: Record<string, any>,\n id: ModuleId | undefined\n) {\n let module: Module\n let exports: Exports\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n exports = module.exports\n } else {\n module = this.m\n exports = this.e\n }\n const reexportedObjects = ensureDynamicExports(module, exports)\n\n if (typeof object === 'object' && object !== null) {\n reexportedObjects.push(object)\n }\n}\ncontextPrototype.j = dynamicExport\n\nfunction exportValue(\n this: TurbopackBaseContext<Module>,\n value: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = value\n}\ncontextPrototype.v = exportValue\n\nfunction exportNamespace(\n this: TurbopackBaseContext<Module>,\n namespace: any,\n id: ModuleId | undefined\n) {\n let module: Module\n if (id != null) {\n module = getOverwrittenModule(this.c, id)\n } else {\n module = this.m\n }\n module.exports = module.namespaceObject = namespace\n}\ncontextPrototype.n = exportNamespace\n\nfunction createGetter(obj: Record<string | symbol, any>, key: string | symbol) {\n return () => obj[key]\n}\n\n/**\n * @returns prototype of the object\n */\nconst getProto: (obj: any) => any = Object.getPrototypeOf\n ? (obj) => Object.getPrototypeOf(obj)\n : (obj) => obj.__proto__\n\n/** Prototypes that are not expanded for exports */\nconst LEAF_PROTOTYPES = [null, getProto({}), getProto([]), getProto(getProto)]\n\n/**\n * @param raw\n * @param ns\n * @param allowExportDefault\n * * `false`: will have the raw module as default export\n * * `true`: will have the default property as default export\n */\nfunction interopEsm(\n raw: Exports,\n ns: EsmNamespaceObject,\n allowExportDefault?: boolean\n) {\n const bindings: EsmBindings = []\n let defaultLocation = -1\n for (\n let current = raw;\n (typeof current === 'object' || typeof current === 'function') &&\n !LEAF_PROTOTYPES.includes(current);\n current = getProto(current)\n ) {\n for (const key of Object.getOwnPropertyNames(current)) {\n bindings.push(key, createGetter(raw, key))\n if (defaultLocation === -1 && key === 'default') {\n defaultLocation = bindings.length - 1\n }\n }\n }\n\n // this is not really correct\n // we should set the `default` getter if the imported module is a `.cjs file`\n if (!(allowExportDefault && defaultLocation >= 0)) {\n // Replace the binding with one for the namespace itself in order to preserve iteration order.\n if (defaultLocation >= 0) {\n // Replace the getter with the value\n bindings.splice(defaultLocation, 1, BindingTag_Value, raw)\n } else {\n bindings.push('default', BindingTag_Value, raw)\n }\n }\n\n esm(ns, bindings)\n return ns\n}\n\nfunction createNS(raw: Module['exports']): EsmNamespaceObject {\n if (typeof raw === 'function') {\n return function (this: any, ...args: any[]) {\n return raw.apply(this, args)\n }\n } else {\n return Object.create(null)\n }\n}\n\nfunction esmImport(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exclude<Module['namespaceObject'], undefined> {\n const module = getOrInstantiateModuleFromParent(id, this.m)\n\n // any ES module has to have `module.namespaceObject` defined.\n if (module.namespaceObject) return module.namespaceObject\n\n // only ESM can be an async module, so we don't need to worry about exports being a promise here.\n const raw = module.exports\n return (module.namespaceObject = interopEsm(\n raw,\n createNS(raw),\n raw && (raw as any).__esModule\n ))\n}\ncontextPrototype.i = esmImport\n\nfunction asyncLoader(\n this: TurbopackBaseContext<Module>,\n moduleId: ModuleId\n): Promise<Exports> {\n const loader = this.r(moduleId) as (\n importFunction: EsmImport\n ) => Promise<Exports>\n return loader(esmImport.bind(this))\n}\ncontextPrototype.A = asyncLoader\n\n// Add a simple runtime require so that environments without one can still pass\n// `typeof require` CommonJS checks so that exports are correctly registered.\nconst runtimeRequire =\n // @ts-ignore\n typeof require === 'function'\n ? // @ts-ignore\n require\n : function require() {\n throw new Error('Unexpected use of runtime require')\n }\ncontextPrototype.t = runtimeRequire\n\nfunction commonJsRequire(\n this: TurbopackBaseContext<Module>,\n id: ModuleId\n): Exports {\n return getOrInstantiateModuleFromParent(id, this.m).exports\n}\ncontextPrototype.r = commonJsRequire\n\n/**\n * Remove fragments and query parameters since they are never part of the context map keys\n *\n * This matches how we parse patterns at resolving time. Arguably we should only do this for\n * strings passed to `import` but the resolve does it for `import` and `require` and so we do\n * here as well.\n */\nfunction parseRequest(request: string): string {\n // Per the URI spec fragments can contain `?` characters, so we should trim it off first\n // https://datatracker.ietf.org/doc/html/rfc3986#section-3.5\n const hashIndex = request.indexOf('#')\n if (hashIndex !== -1) {\n request = request.substring(0, hashIndex)\n }\n\n const queryIndex = request.indexOf('?')\n if (queryIndex !== -1) {\n request = request.substring(0, queryIndex)\n }\n\n return request\n}\n/**\n * `require.context` and require/import expression runtime.\n */\nfunction moduleContext(map: ModuleContextMap): ModuleContext {\n function moduleContext(id: string): Exports {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].module()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.keys = (): string[] => {\n return Object.keys(map)\n }\n\n moduleContext.resolve = (id: string): ModuleId => {\n id = parseRequest(id)\n if (hasOwnProperty.call(map, id)) {\n return map[id].id()\n }\n\n const e = new Error(`Cannot find module '${id}'`)\n ;(e as any).code = 'MODULE_NOT_FOUND'\n throw e\n }\n\n moduleContext.import = async (id: string) => {\n return await (moduleContext(id) as Promise<Exports>)\n }\n\n return moduleContext\n}\ncontextPrototype.f = moduleContext\n\n/**\n * Returns the path of a chunk defined by its data.\n */\nfunction getChunkPath(chunkData: ChunkData): ChunkPath {\n return typeof chunkData === 'string' ? chunkData : chunkData.path\n}\n\nfunction isPromise<T = any>(maybePromise: any): maybePromise is Promise<T> {\n return (\n maybePromise != null &&\n typeof maybePromise === 'object' &&\n 'then' in maybePromise &&\n typeof maybePromise.then === 'function'\n )\n}\n\nfunction isAsyncModuleExt<T extends {}>(obj: T): obj is AsyncModuleExt & T {\n return turbopackQueues in obj\n}\n\nfunction createPromise<T>() {\n let resolve: (value: T | PromiseLike<T>) => void\n let reject: (reason?: any) => void\n\n const promise = new Promise<T>((res, rej) => {\n reject = rej\n resolve = res\n })\n\n return {\n promise,\n resolve: resolve!,\n reject: reject!,\n }\n}\n\n// Load the CompressedmoduleFactories of a chunk into the `moduleFactories` Map.\n// The CompressedModuleFactories format is\n// - 1 or more module ids\n// - a module factory function\n// So walking this is a little complex but the flat structure is also fast to\n// traverse, we can use `typeof` operators to distinguish the two cases.\nfunction installCompressedModuleFactories(\n chunkModules: CompressedModuleFactories,\n offset: number,\n moduleFactories: ModuleFactories,\n newModuleId?: (id: ModuleId) => void\n) {\n let i = offset\n while (i < chunkModules.length) {\n let end = i + 1\n // Find our factory function\n while (\n end < chunkModules.length &&\n typeof chunkModules[end] !== 'function'\n ) {\n end++\n }\n if (end === chunkModules.length) {\n throw new Error('malformed chunk format, expected a factory function')\n }\n\n // Install the factory for each module ID that doesn't already have one.\n // When some IDs in this group already have a factory, reuse that existing\n // group factory for the missing IDs to keep all IDs in the group consistent.\n // Otherwise, install the factory from this chunk.\n const moduleFactoryFn = chunkModules[end] as Function\n let existingGroupFactory: Function | undefined = undefined\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n const existingFactory = moduleFactories.get(id)\n if (existingFactory) {\n existingGroupFactory = existingFactory\n break\n }\n }\n const factoryToInstall = existingGroupFactory ?? moduleFactoryFn\n\n let didInstallFactory = false\n for (let j = i; j < end; j++) {\n const id = chunkModules[j] as ModuleId\n if (!moduleFactories.has(id)) {\n if (!didInstallFactory) {\n if (factoryToInstall === moduleFactoryFn) {\n applyModuleFactoryName(moduleFactoryFn)\n }\n didInstallFactory = true\n }\n moduleFactories.set(id, factoryToInstall)\n newModuleId?.(id)\n }\n }\n i = end + 1 // end is pointing at the last factory advance to the next id or the end of the array.\n }\n}\n\n// everything below is adapted from webpack\n// https://github.com/webpack/webpack/blob/6be4065ade1e252c1d8dcba4af0f43e32af1bdc1/lib/runtime/AsyncModuleRuntimeModule.js#L13\n\nconst turbopackQueues = Symbol('turbopack queues')\nconst turbopackExports = Symbol('turbopack exports')\nconst turbopackError = Symbol('turbopack error')\n\nconst enum QueueStatus {\n Unknown = -1,\n Unresolved = 0,\n Resolved = 1,\n}\n\ntype AsyncQueueFn = (() => void) & { queueCount: number }\ntype AsyncQueue = AsyncQueueFn[] & {\n status: QueueStatus\n}\n\nfunction resolveQueue(queue?: AsyncQueue) {\n if (queue && queue.status !== QueueStatus.Resolved) {\n queue.status = QueueStatus.Resolved\n queue.forEach((fn) => fn.queueCount--)\n queue.forEach((fn) => (fn.queueCount-- ? fn.queueCount++ : fn()))\n }\n}\n\ntype Dep = Exports | AsyncModulePromise | Promise<Exports>\n\ntype AsyncModuleExt = {\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => void\n [turbopackExports]: Exports\n [turbopackError]?: any\n}\n\ntype AsyncModulePromise<T = Exports> = Promise<T> & AsyncModuleExt\n\nfunction wrapDeps(deps: Dep[]): AsyncModuleExt[] {\n return deps.map((dep): AsyncModuleExt => {\n if (dep !== null && typeof dep === 'object') {\n if (isAsyncModuleExt(dep)) return dep\n if (isPromise(dep)) {\n const queue: AsyncQueue = Object.assign([], {\n status: QueueStatus.Unresolved,\n })\n\n const obj: AsyncModuleExt = {\n [turbopackExports]: {},\n [turbopackQueues]: (fn: (queue: AsyncQueue) => void) => fn(queue),\n }\n\n dep.then(\n (res) => {\n obj[turbopackExports] = res\n resolveQueue(queue)\n },\n (err) => {\n obj[turbopackError] = err\n resolveQueue(queue)\n }\n )\n\n return obj\n }\n }\n\n return {\n [turbopackExports]: dep,\n [turbopackQueues]: () => {},\n }\n })\n}\n\nfunction asyncModule(\n this: TurbopackBaseContext<Module>,\n body: (\n handleAsyncDependencies: (\n deps: Dep[]\n ) => Exports[] | Promise<() => Exports[]>,\n asyncResult: (err?: any) => void\n ) => void,\n hasAwait: boolean\n) {\n const module = this.m\n const queue: AsyncQueue | undefined = hasAwait\n ? Object.assign([], { status: QueueStatus.Unknown })\n : undefined\n\n const depQueues: Set<AsyncQueue> = new Set()\n\n const { resolve, reject, promise: rawPromise } = createPromise<Exports>()\n\n const promise: AsyncModulePromise = Object.assign(rawPromise, {\n [turbopackExports]: module.exports,\n [turbopackQueues]: (fn) => {\n queue && fn(queue)\n depQueues.forEach(fn)\n promise['catch'](() => {})\n },\n } satisfies AsyncModuleExt)\n\n const attributes: PropertyDescriptor = {\n get(): any {\n return promise\n },\n set(v: any) {\n // Calling `esmExport` leads to this.\n if (v !== promise) {\n promise[turbopackExports] = v\n }\n },\n }\n\n Object.defineProperty(module, 'exports', attributes)\n Object.defineProperty(module, 'namespaceObject', attributes)\n\n function handleAsyncDependencies(deps: Dep[]) {\n const currentDeps = wrapDeps(deps)\n\n const getResult = () =>\n currentDeps.map((d) => {\n if (d[turbopackError]) throw d[turbopackError]\n return d[turbopackExports]\n })\n\n const { promise, resolve } = createPromise<() => Exports[]>()\n\n const fn: AsyncQueueFn = Object.assign(() => resolve(getResult), {\n queueCount: 0,\n })\n\n function fnQueue(q: AsyncQueue) {\n if (q !== queue && !depQueues.has(q)) {\n depQueues.add(q)\n if (q && q.status === QueueStatus.Unresolved) {\n fn.queueCount++\n q.push(fn)\n }\n }\n }\n\n currentDeps.map((dep) => dep[turbopackQueues](fnQueue))\n\n return fn.queueCount ? promise : getResult()\n }\n\n function asyncResult(err?: any) {\n if (err) {\n reject((promise[turbopackError] = err))\n } else {\n resolve(promise[turbopackExports])\n }\n\n resolveQueue(queue)\n }\n\n body(handleAsyncDependencies, asyncResult)\n\n if (queue && queue.status === QueueStatus.Unknown) {\n queue.status = QueueStatus.Unresolved\n }\n}\ncontextPrototype.a = asyncModule\n\n/**\n * A pseudo \"fake\" URL object to resolve to its relative path.\n *\n * When UrlRewriteBehavior is set to relative, calls to the `new URL()` will construct url without base using this\n * runtime function to generate context-agnostic urls between different rendering context, i.e ssr / client to avoid\n * hydration mismatch.\n *\n * This is based on webpack's existing implementation:\n * https://github.com/webpack/webpack/blob/87660921808566ef3b8796f8df61bd79fc026108/lib/runtime/RelativeUrlRuntimeModule.js\n */\nconst relativeURL = function relativeURL(this: any, inputUrl: string) {\n const realUrl = new URL(inputUrl, 'x:/')\n const values: Record<string, any> = {}\n for (const key in realUrl) values[key] = (realUrl as any)[key]\n values.href = inputUrl\n values.pathname = inputUrl.replace(/[?#].*/, '')\n values.origin = values.protocol = ''\n values.toString = values.toJSON = (..._args: Array<any>) => inputUrl\n for (const key in values)\n Object.defineProperty(this, key, {\n enumerable: true,\n configurable: true,\n value: values[key],\n })\n}\nrelativeURL.prototype = URL.prototype\ncontextPrototype.U = relativeURL\n\n/**\n * Utility function to ensure all variants of an enum are handled.\n */\nfunction invariant(never: never, computeMessage: (arg: any) => string): never {\n throw new Error(`Invariant: ${computeMessage(never)}`)\n}\n\n/**\n * Constructs an error message for when a module factory is not available.\n */\nfunction factoryNotAvailableMessage(\n moduleId: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): string {\n let instantiationReason: string\n switch (sourceType) {\n case SourceType.Runtime:\n instantiationReason = `as a runtime entry of chunk ${sourceData}`\n break\n case SourceType.Parent:\n instantiationReason = `because it was required from module ${sourceData}`\n break\n case SourceType.Update:\n instantiationReason = 'because of an HMR update'\n break\n default:\n invariant(\n sourceType,\n (sourceType) => `Unknown source type: ${sourceType}`\n )\n }\n return `Module ${moduleId} was instantiated ${instantiationReason}, but the module factory is not available.`\n}\n\n/**\n * A stub function to make `require` available but non-functional in ESM.\n */\nfunction requireStub(_moduleId: ModuleId): never {\n throw new Error('dynamic usage of require is not supported')\n}\ncontextPrototype.z = requireStub\n\n// Make `globalThis` available to the module in a way that cannot be shadowed by a local variable.\ncontextPrototype.g = globalThis\n\ntype ContextConstructor<M> = {\n new (module: Module, exports: Exports): TurbopackBaseContext<M>\n}\n\nfunction applyModuleFactoryName(factory: Function) {\n // Give the module factory a nice name to improve stack traces.\n Object.defineProperty(factory, 'name', {\n value: 'module evaluation',\n })\n}\n"],"names":["SourceType","createModuleWithDirectionFlag","REEXPORTED_OBJECTS","WeakMap","Context","module","exports","m","e","contextPrototype","prototype","hasOwnProperty","Object","toStringTag","Symbol","defineProp","obj","name","options","call","defineProperty","getOverwrittenModule","moduleCache","id","createModuleWithDirection","createModuleObject","error","undefined","namespaceObject","parents","children","BindingTag_Value","esm","bindings","value","i","length","propName","tagOrFunction","enumerable","writable","Error","getterFn","setterFn","get","set","seal","esmExport","c","s","ensureDynamicExports","reexportedObjects","Proxy","target","prop","Reflect","ownKeys","keys","key","includes","push","dynamicExport","object","j","exportValue","v","exportNamespace","namespace","n","createGetter","getProto","getPrototypeOf","__proto__","LEAF_PROTOTYPES","interopEsm","raw","ns","allowExportDefault","defaultLocation","current","getOwnPropertyNames","splice","createNS","args","apply","create","esmImport","getOrInstantiateModuleFromParent","__esModule","asyncLoader","moduleId","loader","r","bind","A","runtimeRequire","require","require1","t","commonJsRequire","parseRequest","request","hashIndex","indexOf","substring","queryIndex","moduleContext","map","code","resolve","import","f","getChunkPath","chunkData","path","isPromise","maybePromise","then","isAsyncModuleExt","turbopackQueues","createPromise","reject","promise","Promise","res","rej","installCompressedModuleFactories","chunkModules","offset","moduleFactories","newModuleId","end","moduleFactoryFn","existingGroupFactory","existingFactory","factoryToInstall","didInstallFactory","has","applyModuleFactoryName","turbopackExports","turbopackError","resolveQueue","queue","status","forEach","fn","queueCount","wrapDeps","deps","dep","assign","err","asyncModule","body","hasAwait","depQueues","Set","rawPromise","attributes","handleAsyncDependencies","currentDeps","getResult","d","fnQueue","q","add","asyncResult","a","relativeURL","inputUrl","realUrl","URL","values","href","pathname","replace","origin","protocol","toString","toJSON","_args","configurable","U","invariant","never","computeMessage","factoryNotAvailableMessage","sourceType","sourceData","instantiationReason","requireStub","_moduleId","z","g","globalThis","factory"],"mappings":"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","ignoreList":[0]}},
6
+ {"offset": {"line": 593, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/base-externals-utils.ts"],"sourcesContent":["/// <reference path=\"../shared/runtime/runtime-utils.ts\" />\n\n/// A 'base' utilities to support runtime can have externals.\n/// Currently this is for node.js / edge runtime both.\n/// If a fn requires node.js specific behavior, it should be placed in `node-external-utils` instead.\n\nasync function externalImport(id: DependencySpecifier) {\n let raw\n try {\n raw = await import(id)\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (raw && raw.__esModule && raw.default && 'default' in raw.default) {\n return interopEsm(raw.default, createNS(raw), true)\n }\n\n return raw\n}\ncontextPrototype.y = externalImport\n\nfunction externalRequire(\n id: ModuleId,\n thunk: () => any,\n esm: boolean = false\n): Exports | EsmNamespaceObject {\n let raw\n try {\n raw = thunk()\n } catch (err) {\n // TODO(alexkirsz) This can happen when a client-side module tries to load\n // an external module we don't provide a shim for (e.g. querystring, url).\n // For now, we fail semi-silently, but in the future this should be a\n // compilation error.\n throw new Error(`Failed to load external module ${id}: ${err}`)\n }\n\n if (!esm || raw.__esModule) {\n return raw\n }\n\n return interopEsm(raw, createNS(raw), true)\n}\n\nexternalRequire.resolve = (\n id: string,\n options?: {\n paths?: string[]\n }\n) => {\n return require.resolve(id, options)\n}\ncontextPrototype.x = externalRequire\n"],"names":["externalImport","id","raw","err","Error","__esModule","default","interopEsm","createNS","contextPrototype","y","externalRequire","thunk","esm","resolve","options","require","x"],"mappings":"AAAA,2DAA2D;AAE3D,6DAA6D;AAC7D,sDAAsD;AACtD,qGAAqG;AAErG,eAAeA,eAAeC,EAAuB;IACnD,IAAIC;IACJ,IAAI;QACFA,MAAM,MAAM,MAAM,CAACD;IACrB,EAAE,OAAOE,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAID,OAAOA,IAAIG,UAAU,IAAIH,IAAII,OAAO,IAAI,aAAaJ,IAAII,OAAO,EAAE;QACpE,OAAOC,WAAWL,IAAII,OAAO,EAAEE,SAASN,MAAM;IAChD;IAEA,OAAOA;AACT;AACAO,iBAAiBC,CAAC,GAAGV;AAErB,SAASW,gBACPV,EAAY,EACZW,KAAgB,EAChBC,MAAe,KAAK;IAEpB,IAAIX;IACJ,IAAI;QACFA,MAAMU;IACR,EAAE,OAAOT,KAAK;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,IAAIC,MAAM,CAAC,+BAA+B,EAAEH,GAAG,EAAE,EAAEE,KAAK;IAChE;IAEA,IAAI,CAACU,OAAOX,IAAIG,UAAU,EAAE;QAC1B,OAAOH;IACT;IAEA,OAAOK,WAAWL,KAAKM,SAASN,MAAM;AACxC;AAEAS,gBAAgBG,OAAO,GAAG,CACxBb,IACAc;IAIA,OAAOC,QAAQF,OAAO,CAACb,IAAIc;AAC7B;AACAN,iBAAiBQ,CAAC,GAAGN","ignoreList":[0]}},
7
+ {"offset": {"line": 634, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-externals-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\ndeclare var RUNTIME_PUBLIC_PATH: string\ndeclare var RELATIVE_ROOT_PATH: string\ndeclare var ASSET_PREFIX: string\n\nconst path = require('path')\n\nconst relativePathToRuntimeRoot = path.relative(RUNTIME_PUBLIC_PATH, '.')\n// Compute the relative path to the `distDir`.\nconst relativePathToDistRoot = path.join(\n relativePathToRuntimeRoot,\n RELATIVE_ROOT_PATH\n)\nconst RUNTIME_ROOT = path.resolve(__filename, relativePathToRuntimeRoot)\n// Compute the absolute path to the root, by stripping distDir from the absolute path to this file.\nconst ABSOLUTE_ROOT = path.resolve(__filename, relativePathToDistRoot)\n\n/**\n * Returns an absolute path to the given module path.\n * Module path should be relative, either path to a file or a directory.\n *\n * This fn allows to calculate an absolute path for some global static values, such as\n * `__dirname` or `import.meta.url` that Turbopack will not embeds in compile time.\n * See ImportMetaBinding::code_generation for the usage.\n */\nfunction resolveAbsolutePath(modulePath?: string): string {\n if (modulePath) {\n return path.join(ABSOLUTE_ROOT, modulePath)\n }\n return ABSOLUTE_ROOT\n}\nContext.prototype.P = resolveAbsolutePath\n"],"names":["path","require","relativePathToRuntimeRoot","relative","RUNTIME_PUBLIC_PATH","relativePathToDistRoot","join","RELATIVE_ROOT_PATH","RUNTIME_ROOT","resolve","__filename","ABSOLUTE_ROOT","resolveAbsolutePath","modulePath","Context","prototype","P"],"mappings":"AAAA,oDAAoD,GAMpD,MAAMA,OAAOC,QAAQ;AAErB,MAAMC,4BAA4BF,KAAKG,QAAQ,CAACC,qBAAqB;AACrE,8CAA8C;AAC9C,MAAMC,yBAAyBL,KAAKM,IAAI,CACtCJ,2BACAK;AAEF,MAAMC,eAAeR,KAAKS,OAAO,CAACC,YAAYR;AAC9C,mGAAmG;AACnG,MAAMS,gBAAgBX,KAAKS,OAAO,CAACC,YAAYL;AAE/C;;;;;;;CAOC,GACD,SAASO,oBAAoBC,UAAmB;IAC9C,IAAIA,YAAY;QACd,OAAOb,KAAKM,IAAI,CAACK,eAAeE;IAClC;IACA,OAAOF;AACT;AACAG,QAAQC,SAAS,CAACC,CAAC,GAAGJ","ignoreList":[0]}},
8
+ {"offset": {"line": 655, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/shared-node/node-wasm-utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../shared/runtime/runtime-utils.ts\" />\n\nfunction readWebAssemblyAsResponse(path: string) {\n const { createReadStream } = require('fs') as typeof import('fs')\n const { Readable } = require('stream') as typeof import('stream')\n\n const stream = createReadStream(path)\n\n // @ts-ignore unfortunately there's a slight type mismatch with the stream.\n return new Response(Readable.toWeb(stream), {\n headers: {\n 'content-type': 'application/wasm',\n },\n })\n}\n\nasync function compileWebAssemblyFromPath(\n path: string\n): Promise<WebAssembly.Module> {\n const response = readWebAssemblyAsResponse(path)\n\n return await WebAssembly.compileStreaming(response)\n}\n\nasync function instantiateWebAssemblyFromPath(\n path: string,\n importsObj: WebAssembly.Imports\n): Promise<Exports> {\n const response = readWebAssemblyAsResponse(path)\n\n const { instance } = await WebAssembly.instantiateStreaming(\n response,\n importsObj\n )\n\n return instance.exports\n}\n"],"names":["readWebAssemblyAsResponse","path","createReadStream","require","Readable","stream","Response","toWeb","headers","compileWebAssemblyFromPath","response","WebAssembly","compileStreaming","instantiateWebAssemblyFromPath","importsObj","instance","instantiateStreaming","exports"],"mappings":"AAAA,oDAAoD,GAEpD,2DAA2D;AAE3D,SAASA,0BAA0BC,IAAY;IAC7C,MAAM,EAAEC,gBAAgB,EAAE,GAAGC,QAAQ;IACrC,MAAM,EAAEC,QAAQ,EAAE,GAAGD,QAAQ;IAE7B,MAAME,SAASH,iBAAiBD;IAEhC,2EAA2E;IAC3E,OAAO,IAAIK,SAASF,SAASG,KAAK,CAACF,SAAS;QAC1CG,SAAS;YACP,gBAAgB;QAClB;IACF;AACF;AAEA,eAAeC,2BACbR,IAAY;IAEZ,MAAMS,WAAWV,0BAA0BC;IAE3C,OAAO,MAAMU,YAAYC,gBAAgB,CAACF;AAC5C;AAEA,eAAeG,+BACbZ,IAAY,EACZa,UAA+B;IAE/B,MAAMJ,WAAWV,0BAA0BC;IAE3C,MAAM,EAAEc,QAAQ,EAAE,GAAG,MAAMJ,YAAYK,oBAAoB,CACzDN,UACAI;IAGF,OAAOC,SAASE,OAAO;AACzB","ignoreList":[0]}},
9
+ {"offset": {"line": 676, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/runtime-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"../../shared/runtime/runtime-utils.ts\" />\n/// <reference path=\"../../shared-node/base-externals-utils.ts\" />\n/// <reference path=\"../../shared-node/node-externals-utils.ts\" />\n/// <reference path=\"../../shared-node/node-wasm-utils.ts\" />\n/// <reference path=\"./nodejs-globals.d.ts\" />\n\n/**\n * Base Node.js runtime shared between production and development.\n * Contains chunk loading, module caching, and other non-HMR functionality.\n */\n\nprocess.env.TURBOPACK = '1'\n\nconst url = require('url') as typeof import('url')\n\nconst moduleFactories: ModuleFactories = new Map()\nconst moduleCache: ModuleCache<Module> = Object.create(null)\n\n/**\n * Returns an absolute path to the given module's id.\n */\nfunction resolvePathFromModule(\n this: TurbopackBaseContext<Module>,\n moduleId: string\n): string {\n const exported = this.r(moduleId)\n const exportedPath = exported?.default ?? exported\n if (typeof exportedPath !== 'string') {\n return exported as any\n }\n\n const strippedAssetPrefix = exportedPath.slice(ASSET_PREFIX.length)\n const resolved = path.resolve(RUNTIME_ROOT, strippedAssetPrefix)\n\n return url.pathToFileURL(resolved).href\n}\n\n/**\n * Exports a URL value. No suffix is added in Node.js runtime.\n */\nfunction exportUrl(\n this: TurbopackBaseContext<Module>,\n urlValue: string,\n id: ModuleId | undefined\n) {\n exportValue.call(this, urlValue, id)\n}\n\nfunction loadRuntimeChunk(sourcePath: ChunkPath, chunkData: ChunkData): void {\n if (typeof chunkData === 'string') {\n loadRuntimeChunkPath(sourcePath, chunkData)\n } else {\n loadRuntimeChunkPath(sourcePath, chunkData.path)\n }\n}\n\nconst loadedChunks = new Set<ChunkPath>()\nconst unsupportedLoadChunk = Promise.resolve(undefined)\nconst loadedChunk: Promise<void> = Promise.resolve(undefined)\nconst chunkCache = new Map<ChunkPath, Promise<void>>()\n\nfunction clearChunkCache() {\n chunkCache.clear()\n loadedChunks.clear()\n}\n\nfunction loadRuntimeChunkPath(\n sourcePath: ChunkPath,\n chunkPath: ChunkPath\n): void {\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return\n }\n\n if (loadedChunks.has(chunkPath)) {\n return\n }\n\n try {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n loadedChunks.add(chunkPath)\n } catch (cause) {\n let errorMessage = `Failed to load chunk ${chunkPath}`\n\n if (sourcePath) {\n errorMessage += ` from runtime for chunk ${sourcePath}`\n }\n\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n throw error\n }\n}\n\nfunction loadChunkAsync<TModule extends Module>(\n this: TurbopackBaseContext<TModule>,\n chunkData: ChunkData\n): Promise<void> {\n const chunkPath = typeof chunkData === 'string' ? chunkData : chunkData.path\n if (!isJs(chunkPath)) {\n // We only support loading JS chunks in Node.js.\n // This branch can be hit when trying to load a CSS chunk.\n return unsupportedLoadChunk\n }\n\n let entry = chunkCache.get(chunkPath)\n if (entry === undefined) {\n try {\n // resolve to an absolute path to simplify `require` handling\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n // TODO: consider switching to `import()` to enable concurrent chunk loading and async file io\n // However this is incompatible with hot reloading (since `import` doesn't use the require cache)\n const chunkModules: CompressedModuleFactories = require(resolved)\n installCompressedModuleFactories(chunkModules, 0, moduleFactories)\n entry = loadedChunk\n } catch (cause) {\n const errorMessage = `Failed to load chunk ${chunkPath} from module ${this.m.id}`\n const error = new Error(errorMessage, { cause })\n error.name = 'ChunkLoadError'\n\n // Cache the failure promise, future requests will also get this same rejection\n entry = Promise.reject(error)\n }\n chunkCache.set(chunkPath, entry)\n }\n // TODO: Return an instrumented Promise that React can use instead of relying on referential equality.\n return entry\n}\ncontextPrototype.l = loadChunkAsync\n\nfunction loadChunkAsyncByUrl<TModule extends Module>(\n this: TurbopackBaseContext<TModule>,\n chunkUrl: string\n) {\n const path = url.fileURLToPath(new URL(chunkUrl, RUNTIME_ROOT)) as ChunkPath\n return loadChunkAsync.call(this, path)\n}\ncontextPrototype.L = loadChunkAsyncByUrl\n\nfunction loadWebAssembly(\n chunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module,\n imports: WebAssembly.Imports\n) {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n\n return instantiateWebAssemblyFromPath(resolved, imports)\n}\ncontextPrototype.w = loadWebAssembly\n\nfunction loadWebAssemblyModule(\n chunkPath: ChunkPath,\n _edgeModule: () => WebAssembly.Module\n) {\n const resolved = path.resolve(RUNTIME_ROOT, chunkPath)\n\n return compileWebAssemblyFromPath(resolved)\n}\ncontextPrototype.u = loadWebAssemblyModule\n\n/**\n * Creates a Node.js worker thread by instantiating the given WorkerConstructor\n * with the appropriate path and options, including forwarded globals.\n *\n * @param WorkerConstructor The Worker constructor from worker_threads\n * @param workerPath Path to the worker entry chunk\n * @param workerOptions options to pass to the Worker constructor (optional)\n */\nfunction createWorker(\n WorkerConstructor: { new (path: string, options?: object): unknown },\n workerPath: string,\n workerOptions?: { workerData?: unknown; [key: string]: unknown }\n): unknown {\n // Build the forwarded globals object\n const forwardedGlobals: Record<string, unknown> = {}\n for (const name of WORKER_FORWARDED_GLOBALS) {\n forwardedGlobals[name] = (globalThis as Record<string, unknown>)[name]\n }\n\n // Merge workerData with forwarded globals\n const existingWorkerData = workerOptions?.workerData || {}\n const options = {\n ...workerOptions,\n workerData: {\n ...(typeof existingWorkerData === 'object' ? existingWorkerData : {}),\n __turbopack_globals__: forwardedGlobals,\n },\n }\n\n return new WorkerConstructor(workerPath, options)\n}\n\nconst regexJsUrl = /\\.js(?:\\?[^#]*)?(?:#.*)?$/\n/**\n * Checks if a given path/URL ends with .js, optionally followed by ?query or #fragment.\n */\nfunction isJs(chunkUrlOrPath: ChunkUrl | ChunkPath): boolean {\n return regexJsUrl.test(chunkUrlOrPath)\n}\n"],"names":["process","env","TURBOPACK","url","require","moduleFactories","Map","moduleCache","Object","create","resolvePathFromModule","moduleId","exported","r","exportedPath","default","strippedAssetPrefix","slice","ASSET_PREFIX","length","resolved","path","resolve","RUNTIME_ROOT","pathToFileURL","href","exportUrl","urlValue","id","exportValue","call","loadRuntimeChunk","sourcePath","chunkData","loadRuntimeChunkPath","loadedChunks","Set","unsupportedLoadChunk","Promise","undefined","loadedChunk","chunkCache","clearChunkCache","clear","chunkPath","isJs","has","chunkModules","installCompressedModuleFactories","add","cause","errorMessage","error","Error","name","loadChunkAsync","entry","get","m","reject","set","contextPrototype","l","loadChunkAsyncByUrl","chunkUrl","path1","fileURLToPath","URL","L","loadWebAssembly","_edgeModule","imports","instantiateWebAssemblyFromPath","w","loadWebAssemblyModule","compileWebAssemblyFromPath","u","createWorker","WorkerConstructor","workerPath","workerOptions","forwardedGlobals","WORKER_FORWARDED_GLOBALS","globalThis","existingWorkerData","workerData","options","__turbopack_globals__","regexJsUrl","chunkUrlOrPath","test"],"mappings":"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","ignoreList":[0]}},
10
+ {"offset": {"line": 823, "column": 0}, "map": {"version":3,"sources":["turbopack:///[turbopack]/nodejs/runtime/build-base.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/// <reference path=\"./runtime-base.ts\" />\n\n/**\n * Production Node.js runtime.\n * Uses ModuleWithDirection and simple module instantiation without HMR support.\n */\n\n// moduleCache and moduleFactories are declared in runtime-base.ts\n\n// this is read in runtime-utils.ts so it creates a module with direction for hmr\ncreateModuleWithDirectionFlag = true\n\ninterface TurbopackNodeBuildContext\n extends TurbopackBaseContext<ModuleWithDirection> {\n R: ResolvePathFromModule\n x: ExternalRequire\n y: ExternalImport\n C: typeof clearChunkCache\n}\n\nconst nodeContextPrototype = Context.prototype as TurbopackNodeBuildContext\n\nnodeContextPrototype.q = exportUrl\nnodeContextPrototype.M = moduleFactories\n// Cast moduleCache to ModuleWithDirection for production mode\nnodeContextPrototype.c = moduleCache as ModuleCache<ModuleWithDirection>\nnodeContextPrototype.R = resolvePathFromModule\nnodeContextPrototype.b = createWorker\nnodeContextPrototype.C = clearChunkCache\n\nfunction instantiateModule(\n id: ModuleId,\n sourceType: SourceType,\n sourceData: SourceData\n): ModuleWithDirection {\n const moduleFactory = moduleFactories.get(id)\n if (typeof moduleFactory !== 'function') {\n // This can happen if modules incorrectly handle HMR disposes/updates,\n // e.g. when they keep a `setTimeout` around which still executes old code\n // and contains e.g. a `require(\"something\")` call.\n throw new Error(factoryNotAvailableMessage(id, sourceType, sourceData))\n }\n\n const module: ModuleWithDirection = createModuleWithDirection(id)\n const exports = module.exports\n moduleCache[id] = module\n\n const context =\n new (Context as any as ContextConstructor<ModuleWithDirection>)(\n module,\n exports\n )\n // NOTE(alexkirsz) This can fail when the module encounters a runtime error.\n try {\n moduleFactory(context, module, exports)\n } catch (error) {\n module.error = error as any\n throw error\n }\n\n ;(module as any).loaded = true\n if (module.namespaceObject && module.exports !== module.namespaceObject) {\n // in case of a circular dependency: cjs1 -> esm2 -> cjs1\n interopEsm(module.exports, module.namespaceObject)\n }\n\n return module\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it if it is not cached.\n */\n// @ts-ignore\nfunction getOrInstantiateModuleFromParent(\n id: ModuleId,\n sourceModule: ModuleWithDirection\n): ModuleWithDirection {\n const module = moduleCache[id]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n\n return module\n }\n\n return instantiateModule(id, SourceType.Parent, sourceModule.id)\n}\n\n/**\n * Instantiates a runtime module.\n */\nfunction instantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): ModuleWithDirection {\n return instantiateModule(moduleId, SourceType.Runtime, chunkPath)\n}\n\n/**\n * Retrieves a module from the cache, or instantiate it as a runtime module if it is not cached.\n */\n// @ts-ignore TypeScript doesn't separate this module space from the browser runtime\nfunction getOrInstantiateRuntimeModule(\n chunkPath: ChunkPath,\n moduleId: ModuleId\n): ModuleWithDirection {\n const module = moduleCache[moduleId]\n\n if (module) {\n if (module.error) {\n throw module.error\n }\n return module\n }\n\n return instantiateRuntimeModule(chunkPath, moduleId)\n}\n\nmodule.exports = (sourcePath: ChunkPath) => ({\n m: (id: ModuleId) => getOrInstantiateRuntimeModule(sourcePath, id),\n c: (chunkData: ChunkData) => loadRuntimeChunk(sourcePath, chunkData),\n})\n"],"names":["createModuleWithDirectionFlag","nodeContextPrototype","Context","prototype","q","exportUrl","M","moduleFactories","c","moduleCache","R","resolvePathFromModule","b","createWorker","C","clearChunkCache","instantiateModule","id","sourceType","sourceData","moduleFactory","get","Error","factoryNotAvailableMessage","module1","createModuleWithDirection","exports","context","error","loaded","namespaceObject","interopEsm","getOrInstantiateModuleFromParent","sourceModule","SourceType","Parent","instantiateRuntimeModule","chunkPath","moduleId","Runtime","getOrInstantiateRuntimeModule","module","sourcePath","m","chunkData","loadRuntimeChunk"],"mappings":"AAAA,oDAAoD,GAEpD,0CAA0C;AAE1C;;;CAGC,GAED,kEAAkE;AAElE,iFAAiF;AACjFA,gCAAgC;AAUhC,MAAMC,uBAAuBC,QAAQC,SAAS;AAE9CF,qBAAqBG,CAAC,GAAGC;AACzBJ,qBAAqBK,CAAC,GAAGC;AACzB,8DAA8D;AAC9DN,qBAAqBO,CAAC,GAAGC;AACzBR,qBAAqBS,CAAC,GAAGC;AACzBV,qBAAqBW,CAAC,GAAGC;AACzBZ,qBAAqBa,CAAC,GAAGC;AAEzB,SAASC,kBACPC,EAAY,EACZC,UAAsB,EACtBC,UAAsB;IAEtB,MAAMC,gBAAgBb,gBAAgBc,GAAG,CAACJ;IAC1C,IAAI,OAAOG,kBAAkB,YAAY;QACvC,sEAAsE;QACtE,0EAA0E;QAC1E,mDAAmD;QACnD,MAAM,IAAIE,MAAMC,2BAA2BN,IAAIC,YAAYC;IAC7D;IAEA,MAAMK,UAA8BC,0BAA0BR;IAC9D,MAAMS,UAAUF,QAAOE,OAAO;IAC9BjB,WAAW,CAACQ,GAAG,GAAGO;IAElB,MAAMG,UACJ,IAAKzB,QACHsB,SACAE;IAEJ,4EAA4E;IAC5E,IAAI;QACFN,cAAcO,SAASH,SAAQE;IACjC,EAAE,OAAOE,OAAO;QACdJ,QAAOI,KAAK,GAAGA;QACf,MAAMA;IACR;;IAEEJ,QAAeK,MAAM,GAAG;IAC1B,IAAIL,QAAOM,eAAe,IAAIN,QAAOE,OAAO,KAAKF,QAAOM,eAAe,EAAE;QACvE,yDAAyD;QACzDC,WAAWP,QAAOE,OAAO,EAAEF,QAAOM,eAAe;IACnD;IAEA,OAAON;AACT;AAEA;;CAEC,GACD,aAAa;AACb,SAASQ,iCACPf,EAAY,EACZgB,YAAiC;IAEjC,MAAMT,UAASf,WAAW,CAACQ,GAAG;IAE9B,IAAIO,SAAQ;QACV,IAAIA,QAAOI,KAAK,EAAE;YAChB,MAAMJ,QAAOI,KAAK;QACpB;QAEA,OAAOJ;IACT;IAEA,OAAOR,kBAAkBC,IAAIiB,WAAWC,MAAM,EAAEF,aAAahB,EAAE;AACjE;AAEA;;CAEC,GACD,SAASmB,yBACPC,SAAoB,EACpBC,QAAkB;IAElB,OAAOtB,kBAAkBsB,UAAUJ,WAAWK,OAAO,EAAEF;AACzD;AAEA;;CAEC,GACD,oFAAoF;AACpF,SAASG,8BACPH,SAAoB,EACpBC,QAAkB;IAElB,MAAMd,UAASf,WAAW,CAAC6B,SAAS;IAEpC,IAAId,SAAQ;QACV,IAAIA,QAAOI,KAAK,EAAE;YAChB,MAAMJ,QAAOI,KAAK;QACpB;QACA,OAAOJ;IACT;IAEA,OAAOY,yBAAyBC,WAAWC;AAC7C;AAEAG,OAAOf,OAAO,GAAG,CAACgB,aAA0B,CAAC;QAC3CC,GAAG,CAAC1B,KAAiBuB,8BAA8BE,YAAYzB;QAC/DT,GAAG,CAACoC,YAAyBC,iBAAiBH,YAAYE;IAC5D,CAAC","ignoreList":[0]}}]
11
+ }
@@ -0,0 +1,3 @@
1
+ module.exports=[45075,(e,o,d)=>{}];
2
+
3
+ //# sourceMappingURL=apps_web__next-internal_server_app_favicon_ico_route_actions_0h5n1et.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ module.exports=[20460,(a,b,c)=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="/ROOT/node_modules/next/dist/compiled/cookie/");var a,c,d,e,f={};f.parse=function(b,c){if("string"!=typeof b)throw TypeError("argument str must be a string");for(var e={},f=b.split(d),g=(c||{}).decode||a,h=0;h<f.length;h++){var i=f[h],j=i.indexOf("=");if(!(j<0)){var k=i.substr(0,j).trim(),l=i.substr(++j,i.length).trim();'"'==l[0]&&(l=l.slice(1,-1)),void 0==e[k]&&(e[k]=function(a,b){try{return b(a)}catch(b){return a}}(l,g))}}return e},f.serialize=function(a,b,d){var f=d||{},g=f.encode||c;if("function"!=typeof g)throw TypeError("option encode is invalid");if(!e.test(a))throw TypeError("argument name is invalid");var h=g(b);if(h&&!e.test(h))throw TypeError("argument val is invalid");var i=a+"="+h;if(null!=f.maxAge){var j=f.maxAge-0;if(isNaN(j)||!isFinite(j))throw TypeError("option maxAge is invalid");i+="; Max-Age="+Math.floor(j)}if(f.domain){if(!e.test(f.domain))throw TypeError("option domain is invalid");i+="; Domain="+f.domain}if(f.path){if(!e.test(f.path))throw TypeError("option path is invalid");i+="; Path="+f.path}if(f.expires){if("function"!=typeof f.expires.toUTCString)throw TypeError("option expires is invalid");i+="; Expires="+f.expires.toUTCString()}if(f.httpOnly&&(i+="; HttpOnly"),f.secure&&(i+="; Secure"),f.sameSite)switch("string"==typeof f.sameSite?f.sameSite.toLowerCase():f.sameSite){case!0:case"strict":i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"none":i+="; SameSite=None";break;default:throw TypeError("option sameSite is invalid")}return i},a=decodeURIComponent,c=encodeURIComponent,d=/; */,e=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,b.exports=f})()},14465,(a,b,c)=>{(()=>{"use strict";var a={56:a=>{a.exports=function(a,b){return"string"==typeof a?g(a):"number"==typeof a?f(a,b):null},a.exports.format=f,a.exports.parse=g;var b=/\B(?=(\d{3})+(?!\d))/g,c=/(?:\.0*|(\.[^0]+)0+)$/,d={b:1,kb:1024,mb:1048576,gb:0x40000000,tb:0x10000000000,pb:0x4000000000000},e=/^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;function f(a,e){if(!Number.isFinite(a))return null;var f=Math.abs(a),g=e&&e.thousandsSeparator||"",h=e&&e.unitSeparator||"",i=e&&void 0!==e.decimalPlaces?e.decimalPlaces:2,j=!!(e&&e.fixedDecimals),k=e&&e.unit||"";k&&d[k.toLowerCase()]||(k=f>=d.pb?"PB":f>=d.tb?"TB":f>=d.gb?"GB":f>=d.mb?"MB":f>=d.kb?"KB":"B");var l=(a/d[k.toLowerCase()]).toFixed(i);return j||(l=l.replace(c,"$1")),g&&(l=l.split(".").map(function(a,c){return 0===c?a.replace(b,g):a}).join(".")),l+h+k}function g(a){if("number"==typeof a&&!isNaN(a))return a;if("string"!=typeof a)return null;var b,c=e.exec(a),f="b";return c?(b=parseFloat(c[1]),f=c[4].toLowerCase()):(b=parseInt(a,10),f="b"),Math.floor(d[f]*b)}}},c={};function d(b){var e=c[b];if(void 0!==e)return e.exports;var f=c[b]={exports:{}},g=!0;try{a[b](f,f.exports,d),g=!1}finally{g&&delete c[b]}return f.exports}d.ab="/ROOT/node_modules/next/dist/compiled/bytes/",b.exports=d(56)})()},14747,(a,b,c)=>{b.exports=a.x("path",()=>require("path"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},24951,(a,b,c)=>{"use strict";b.exports=a.r(18622)},11857,(a,b,c)=>{"use strict";b.exports=a.r(24951).vendored["react-rsc"].ReactServerDOMTurbopackServer},7997,(a,b,c)=>{"use strict";b.exports=a.r(24951).vendored["react-rsc"].ReactJsxRuntime},717,(a,b,c)=>{"use strict";b.exports=a.r(24951).vendored["react-rsc"].React},70406,(a,b,c)=>{b.exports=a.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__00707zu._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../node_modules/next/dist/compiled/cookie/index.js","../../../../../../node_modules/next/dist/compiled/bytes/index.js","../../../../../../node_modules/next/src/server/route-modules/app-page/module.compiled.js","../../../../../../node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.ts","../../../../../../node_modules/next/src/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.ts","../../../../../../node_modules/next/src/server/route-modules/app-page/vendored/rsc/react.ts"],"sourcesContent":["(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */r.parse=parse;r.serialize=serialize;var i=decodeURIComponent;var t=encodeURIComponent;var a=/; */;var n=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;function parse(e,r){if(typeof e!==\"string\"){throw new TypeError(\"argument str must be a string\")}var t={};var n=r||{};var o=e.split(a);var s=n.decode||i;for(var p=0;p<o.length;p++){var f=o[p];var u=f.indexOf(\"=\");if(u<0){continue}var v=f.substr(0,u).trim();var c=f.substr(++u,f.length).trim();if('\"'==c[0]){c=c.slice(1,-1)}if(undefined==t[v]){t[v]=tryDecode(c,s)}}return t}function serialize(e,r,i){var a=i||{};var o=a.encode||t;if(typeof o!==\"function\"){throw new TypeError(\"option encode is invalid\")}if(!n.test(e)){throw new TypeError(\"argument name is invalid\")}var s=o(r);if(s&&!n.test(s)){throw new TypeError(\"argument val is invalid\")}var p=e+\"=\"+s;if(null!=a.maxAge){var f=a.maxAge-0;if(isNaN(f)||!isFinite(f)){throw new TypeError(\"option maxAge is invalid\")}p+=\"; Max-Age=\"+Math.floor(f)}if(a.domain){if(!n.test(a.domain)){throw new TypeError(\"option domain is invalid\")}p+=\"; Domain=\"+a.domain}if(a.path){if(!n.test(a.path)){throw new TypeError(\"option path is invalid\")}p+=\"; Path=\"+a.path}if(a.expires){if(typeof a.expires.toUTCString!==\"function\"){throw new TypeError(\"option expires is invalid\")}p+=\"; Expires=\"+a.expires.toUTCString()}if(a.httpOnly){p+=\"; HttpOnly\"}if(a.secure){p+=\"; Secure\"}if(a.sameSite){var u=typeof a.sameSite===\"string\"?a.sameSite.toLowerCase():a.sameSite;switch(u){case true:p+=\"; SameSite=Strict\";break;case\"lax\":p+=\"; SameSite=Lax\";break;case\"strict\":p+=\"; SameSite=Strict\";break;case\"none\":p+=\"; SameSite=None\";break;default:throw new TypeError(\"option sameSite is invalid\")}}return p}function tryDecode(e,r){try{return r(e)}catch(r){return e}}})();module.exports=e})();","(()=>{\"use strict\";var e={56:e=>{\n/*!\n * bytes\n * Copyright(c) 2012-2014 TJ Holowaychuk\n * Copyright(c) 2015 Jed Watson\n * MIT Licensed\n */\ne.exports=bytes;e.exports.format=format;e.exports.parse=parse;var r=/\\B(?=(\\d{3})+(?!\\d))/g;var a=/(?:\\.0*|(\\.[^0]+)0+)$/;var t={b:1,kb:1<<10,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)};var i=/^((-|\\+)?(\\d+(?:\\.\\d+)?)) *(kb|mb|gb|tb|pb)$/i;function bytes(e,r){if(typeof e===\"string\"){return parse(e)}if(typeof e===\"number\"){return format(e,r)}return null}function format(e,i){if(!Number.isFinite(e)){return null}var n=Math.abs(e);var o=i&&i.thousandsSeparator||\"\";var s=i&&i.unitSeparator||\"\";var f=i&&i.decimalPlaces!==undefined?i.decimalPlaces:2;var u=Boolean(i&&i.fixedDecimals);var p=i&&i.unit||\"\";if(!p||!t[p.toLowerCase()]){if(n>=t.pb){p=\"PB\"}else if(n>=t.tb){p=\"TB\"}else if(n>=t.gb){p=\"GB\"}else if(n>=t.mb){p=\"MB\"}else if(n>=t.kb){p=\"KB\"}else{p=\"B\"}}var b=e/t[p.toLowerCase()];var l=b.toFixed(f);if(!u){l=l.replace(a,\"$1\")}if(o){l=l.split(\".\").map((function(e,a){return a===0?e.replace(r,o):e})).join(\".\")}return l+s+p}function parse(e){if(typeof e===\"number\"&&!isNaN(e)){return e}if(typeof e!==\"string\"){return null}var r=i.exec(e);var a;var n=\"b\";if(!r){a=parseInt(e,10);n=\"b\"}else{a=parseFloat(r[1]);n=r[4].toLowerCase()}return Math.floor(t[n]*a)}}};var r={};function __nccwpck_require__(a){var t=r[a];if(t!==undefined){return t.exports}var i=r[a]={exports:{}};var n=true;try{e[a](i,i.exports,__nccwpck_require__);n=false}finally{if(n)delete r[a]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var a=__nccwpck_require__(56);module.exports=a})();","if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackServer\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactJsxRuntime\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.React\n"],"names":["__nccwpck_require__","ab","e","r","parse","serialize","i","decodeURIComponent","t","encodeURIComponent","a","n","TypeError","o","split","s","decode","p","length","f","u","indexOf","v","substr","trim","c","slice","undefined","tryDecode","encode","test","maxAge","isNaN","isFinite","Math","floor","domain","path","expires","toUTCString","httpOnly","secure","sameSite","toLowerCase","module","exports","bytes","format","b","kb","mb","gb","tb","pow","pb","Number","abs","thousandsSeparator","unitSeparator","decimalPlaces","Boolean","fixedDecimals","unit","l","toFixed","replace","map","join","exec","parseInt","parseFloat","process","env","NEXT_RUNTIME","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK","vendored","ReactServerDOMTurbopackServer","ReactJsxRuntime","React"],"mappings":"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","ignoreList":[0,1,2,3,4,5]}
@@ -0,0 +1,33 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},26298,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},92214,a=>{"use strict";let b={src:a.i(26298).default,width:256,height:256};a.s(["default",0,b])},71029,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},98860,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={WarningIcon:function(){return i},errorStyles:function(){return g},errorThemeCss:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});a.r(71029);let f=a.r(7997);a.r(717);let g={container:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},card:{marginTop:"-32px",maxWidth:"325px",padding:"32px 28px",textAlign:"left"},icon:{marginBottom:"24px"},title:{fontSize:"24px",fontWeight:500,letterSpacing:"-0.02em",lineHeight:"32px",margin:"0 0 12px 0",color:"var(--next-error-title)"},message:{fontSize:"14px",fontWeight:400,lineHeight:"21px",margin:"0 0 20px 0",color:"var(--next-error-message)"},form:{margin:0},buttonGroup:{display:"flex",gap:"8px",alignItems:"center"},button:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-text)",background:"var(--next-error-btn-bg)",border:"var(--next-error-btn-border)"},buttonSecondary:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:"32px",padding:"0 12px",fontSize:"14px",fontWeight:500,lineHeight:"20px",borderRadius:"6px",cursor:"pointer",color:"var(--next-error-btn-secondary-text)",background:"var(--next-error-btn-secondary-bg)",border:"var(--next-error-btn-secondary-border)"},digestFooter:{position:"fixed",bottom:"32px",left:"0",right:"0",textAlign:"center",fontFamily:'ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace',fontSize:"12px",lineHeight:"18px",fontWeight:400,margin:"0",color:"var(--next-error-digest)"}},h=`
2
+ :root {
3
+ --next-error-bg: #fff;
4
+ --next-error-text: #171717;
5
+ --next-error-title: #171717;
6
+ --next-error-message: #171717;
7
+ --next-error-digest: #666666;
8
+ --next-error-btn-text: #fff;
9
+ --next-error-btn-bg: #171717;
10
+ --next-error-btn-border: none;
11
+ --next-error-btn-secondary-text: #171717;
12
+ --next-error-btn-secondary-bg: transparent;
13
+ --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);
14
+ }
15
+ @media (prefers-color-scheme: dark) {
16
+ :root {
17
+ --next-error-bg: #0a0a0a;
18
+ --next-error-text: #ededed;
19
+ --next-error-title: #ededed;
20
+ --next-error-message: #ededed;
21
+ --next-error-digest: #a0a0a0;
22
+ --next-error-btn-text: #0a0a0a;
23
+ --next-error-btn-bg: #ededed;
24
+ --next-error-btn-border: none;
25
+ --next-error-btn-secondary-text: #ededed;
26
+ --next-error-btn-secondary-bg: transparent;
27
+ --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);
28
+ }
29
+ }
30
+ body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }
31
+ `.replace(/\n\s*/g,"");function i(){return(0,f.jsx)("svg",{width:"32",height:"32",viewBox:"-0.2 -1.5 32 32",fill:"none",style:g.icon,children:(0,f.jsx)("path",{d:"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z",fill:"var(--next-error-title)"})})}("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)},25556,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}}),a.r(71029);let d=a.r(7997);a.r(717);let e=a.r(98860),f=function(){return(0,d.jsxs)("html",{id:"__next_error__",children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("title",{children:"500: This page couldn’t load"}),(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:e.errorThemeCss}})]}),(0,d.jsx)("body",{children:(0,d.jsx)("div",{style:e.errorStyles.container,children:(0,d.jsxs)("div",{style:e.errorStyles.card,children:[(0,d.jsx)(e.WarningIcon,{}),(0,d.jsx)("h1",{style:e.errorStyles.title,children:"This page couldn’t load"}),(0,d.jsx)("p",{style:e.errorStyles.message,children:"A server error occurred. Reload to try again."}),(0,d.jsx)("form",{style:e.errorStyles.form,children:(0,d.jsx)("button",{type:"submit",style:e.errorStyles.button,children:"Reload"})})]})})})]})};("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)},79835,a=>{a.n(a.i(25556))}];
32
+
33
+ //# sourceMappingURL=%5Broot-of-the-server%5D__02w1lqw._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../apps/web/src/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../../node_modules/%40swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/next/src/client/components/builtin/error-styles.tsx","../../../../../../node_modules/next/src/client/components/builtin/app-error.tsx"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n","import React from 'react'\n\nexport const errorStyles = {\n container: {\n fontFamily:\n 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n card: {\n marginTop: '-32px',\n maxWidth: '325px',\n padding: '32px 28px',\n textAlign: 'left' as const,\n },\n icon: {\n marginBottom: '24px',\n },\n title: {\n fontSize: '24px',\n fontWeight: 500,\n letterSpacing: '-0.02em',\n lineHeight: '32px',\n margin: '0 0 12px 0',\n color: 'var(--next-error-title)',\n },\n message: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '21px',\n margin: '0 0 20px 0',\n color: 'var(--next-error-message)',\n },\n form: {\n margin: 0,\n },\n buttonGroup: {\n display: 'flex',\n gap: '8px',\n alignItems: 'center',\n },\n button: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '32px',\n padding: '0 12px',\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '20px',\n borderRadius: '6px',\n cursor: 'pointer',\n color: 'var(--next-error-btn-text)',\n background: 'var(--next-error-btn-bg)',\n border: 'var(--next-error-btn-border)',\n },\n buttonSecondary: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '32px',\n padding: '0 12px',\n fontSize: '14px',\n fontWeight: 500,\n lineHeight: '20px',\n borderRadius: '6px',\n cursor: 'pointer',\n color: 'var(--next-error-btn-secondary-text)',\n background: 'var(--next-error-btn-secondary-bg)',\n border: 'var(--next-error-btn-secondary-border)',\n },\n digestFooter: {\n position: 'fixed' as const,\n bottom: '32px',\n left: '0',\n right: '0',\n textAlign: 'center' as const,\n fontFamily:\n 'ui-monospace,SFMono-Regular,\"SF Mono\",Menlo,Consolas,monospace',\n fontSize: '12px',\n lineHeight: '18px',\n fontWeight: 400,\n margin: '0',\n color: 'var(--next-error-digest)',\n },\n} as const\n\nexport const errorThemeCss = `\n:root {\n --next-error-bg: #fff;\n --next-error-text: #171717;\n --next-error-title: #171717;\n --next-error-message: #171717;\n --next-error-digest: #666666;\n --next-error-btn-text: #fff;\n --next-error-btn-bg: #171717;\n --next-error-btn-border: none;\n --next-error-btn-secondary-text: #171717;\n --next-error-btn-secondary-bg: transparent;\n --next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);\n}\n@media (prefers-color-scheme: dark) {\n :root {\n --next-error-bg: #0a0a0a;\n --next-error-text: #ededed;\n --next-error-title: #ededed;\n --next-error-message: #ededed;\n --next-error-digest: #a0a0a0;\n --next-error-btn-text: #0a0a0a;\n --next-error-btn-bg: #ededed;\n --next-error-btn-border: none;\n --next-error-btn-secondary-text: #ededed;\n --next-error-btn-secondary-bg: transparent;\n --next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);\n }\n}\nbody { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\n`.replace(/\\n\\s*/g, '')\n\nexport function WarningIcon() {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"-0.2 -1.5 32 32\"\n fill=\"none\"\n style={errorStyles.icon}\n >\n <path\n d=\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\"\n fill=\"var(--next-error-title)\"\n />\n </svg>\n )\n}\n","import React from 'react'\nimport { errorStyles, errorThemeCss, WarningIcon } from './error-styles'\n\n// This is the static 500.html page for App Router apps.\n// Always a server error, rendered at build time.\nfunction AppError() {\n return (\n <html id=\"__next_error__\">\n <head>\n <title>500: This page couldn&#x2019;t load</title>\n <style dangerouslySetInnerHTML={{ __html: errorThemeCss }} />\n </head>\n <body>\n <div style={errorStyles.container}>\n <div style={errorStyles.card}>\n <WarningIcon />\n <h1 style={errorStyles.title}>This page couldn&#x2019;t load</h1>\n <p style={errorStyles.message}>\n A server error occurred. Reload to try again.\n </p>\n <form style={errorStyles.form}>\n <button type=\"submit\" style={errorStyles.button}>\n Reload\n </button>\n </form>\n </div>\n </div>\n </body>\n </html>\n )\n}\n\nexport default AppError\n"],"names":["src","width","height","_interop_require_default","obj","__esModule","default","exports","_","WarningIcon","errorStyles","errorThemeCss","container","fontFamily","display","alignItems","justifyContent","card","marginTop","maxWidth","padding","textAlign","icon","marginBottom","title","fontSize","fontWeight","letterSpacing","lineHeight","margin","color","message","form","buttonGroup","gap","button","borderRadius","cursor","background","border","buttonSecondary","digestFooter","position","bottom","left","right","replace","svg","viewBox","fill","style","path","d","AppError","html","id","head","dangerouslySetInnerHTML","__html","body","div","h1","p","type"],"mappings":"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","ignoreList":[1,2,3]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},26298,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},92214,a=>{"use strict";let b={src:a.i(26298).default,width:256,height:256};a.s(["default",0,b])},49141,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/web/src/app/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/src/app/page.tsx <module evaluation>","default")},42607,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/web/src/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/src/app/page.tsx","default")},52204,a=>{"use strict";a.i(49141);var b=a.i(42607);a.n(b)},58801,a=>{a.n(a.i(52204))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__058frv2._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../apps/web/src/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../../apps/web/src/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/apps/web/src/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/apps/web/src/app/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,2RAA6R,EAC1T,0DACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,uQAAyQ,EACtS,sCACA","ignoreList":[1]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},26298,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},92214,a=>{"use strict";let b={src:a.i(26298).default,width:256,height:256};a.s(["default",0,b])},48065,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/web/src/app/test/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/src/app/test/page.tsx <module evaluation>","default")},26427,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/web/src/app/test/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/src/app/test/page.tsx","default")},92607,a=>{"use strict";a.i(48065);var b=a.i(26427);a.n(b)},50342,a=>{a.n(a.i(92607))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__05mnfv7._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../apps/web/src/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../../apps/web/src/app/test/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/apps/web/src/app/test/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/apps/web/src/app/test/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,gSAAkS,EAC/T,+DACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,4QAA8Q,EAC3S,2CACA","ignoreList":[1]}
@@ -0,0 +1,3 @@
1
+ module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},26298,a=>{a.v("/_next/static/media/favicon.0x3dzn~oxb6tn.ico"+(globalThis.NEXT_CLIENT_ASSET_SUFFIX||""))},92214,a=>{"use strict";let b={src:a.i(26298).default,width:256,height:256};a.s(["default",0,b])},11870,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/web/src/app/gemini/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/src/app/gemini/page.tsx <module evaluation>","default")},37723,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/apps/web/src/app/gemini/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/apps/web/src/app/gemini/page.tsx","default")},87355,a=>{"use strict";a.i(11870);var b=a.i(37723);a.n(b)},53332,a=>{a.n(a.i(87355))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__05w0js1._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../apps/web/src/app/favicon.ico.mjs%20%28structured%20image%20object%29","../../../../../../apps/web/src/app/gemini/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import src from \"IMAGE\";\nexport default { src, width: 256, height: 256 }\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/apps/web/src/app/gemini/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/apps/web/src/app/gemini/page.tsx\",\n \"default\",\n);\n"],"names":["src","width","height","Error"],"mappings":"8SACe,CAAEA,IAAAA,AADjB,EAAA,CAAA,CAAA,OACiBA,OAAG,CAAEC,MAAO,IAAKC,OAAQ,GAAI,4ECC/B,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAuB,AAAvB,EACX,WAAa,MAAM,AAAIC,MAAM,kSAAoS,EACjU,iEACA,gEAHW,CAAA,EADf,AACe,EADf,CAAA,CAAA,OACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIA,MAAM,8QAAgR,EAC7S,6CACA","ignoreList":[1]}
@@ -0,0 +1,3 @@
1
+ module.exports=[24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},47077,28467,a=>{"use strict";let b=process.env.NEXT_PUBLIC_SERVER_URL??"";async function c(){let a=await fetch(`${b}/agents/claude/auth/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function d(){let a=await fetch(`${b}/agents/claude/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function e(){let a=await fetch(`${b}/agents/gemini/auth/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function f(a,c){let d=await fetch(`${b}/agents/gemini/auth/configure`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({authType:a,...c?{apiKey:c}:{}})});if(!d.ok)throw Error(`HTTP ${d.status}`)}async function g(){let a=await fetch(`${b}/agents/codex/auth/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function h(a){let c=await fetch(`${b}/agents/codex/auth/configure`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:a})});if(!c.ok)throw Error(`HTTP ${c.status}`)}a.s(["CLAUDE_WS_NAMESPACE",0,"/agents/claude","CODEX_WS_NAMESPACE",0,"/agents/codex","GEMINI_WS_NAMESPACE",0,"/agents/gemini","SERVER_URL",0,b],47077),a.s(["configureCodexAuth",0,h,"configureGeminiAuth",0,f,"getAuthStatus",0,c,"getClaudeStatus",0,d,"getCodexAuthStatus",0,g,"getGeminiAuthStatus",0,e],28467)},5207,10750,a=>{"use strict";var b=a.i(72131),c=a.i(83915),d=a.i(47077),e=a.i(28467);let f=/https?:\/\/[^\s\-"<>\\^`{|}~]+/g;a.s(["useGeminiAuth",0,function(){let[a,g]=(0,b.useState)("checking"),[h,i]=(0,b.useState)("idle"),[j,k]=(0,b.useState)(""),[l,m]=(0,b.useState)([]),[n,o]=(0,b.useState)(""),p=(0,b.useRef)(null),q=(0,b.useRef)(""),r=(0,b.useRef)(!1),s=(0,b.useCallback)(async()=>{g("checking");try{let a=await (0,e.getGeminiAuthStatus)();a.installed?g(a.loggedIn?"authenticated":"unauthenticated"):g("not-installed")}catch{g("unauthenticated")}},[]);(0,b.useEffect)(()=>{s()},[s]);let t=(0,b.useCallback)(async a=>{o(""),i("pending");try{await (0,e.configureGeminiAuth)("api-key",a),i("done"),g("authenticated")}catch{o("API 키 저장에 실패했습니다. 서버 연결을 확인하세요."),i("error")}},[]),u=(0,b.useCallback)(()=>{if("pending"===h)return;q.current="",k(""),m([]),i("pending"),r.current=!0;let a=(0,c.io)(`${d.SERVER_URL}${d.GEMINI_WS_NAMESPACE}`,{transports:["websocket"]});p.current=a,a.on("connect",()=>a.emit("auth:gca:start")),a.on("auth:output",({text:a})=>{q.current+=a,k(q.current),m(Array.from(new Set(q.current.match(f)??[])))}),a.on("auth:done",({success:b})=>{r.current=!1,a.disconnect(),p.current=null,i(b?"done":"error"),b&&g("authenticated")}),a.on("disconnect",()=>{r.current&&(r.current=!1,i("error"))})},[h]);return{authState:a,loginState:h,loginOutput:j,loginUrls:l,configError:n,saveApiKey:t,startGcaLogin:u,cancelLogin:(0,b.useCallback)(()=>{r.current=!1,p.current?.emit("auth:login:cancel"),p.current?.disconnect(),p.current=null,i("idle"),k(""),m([]),q.current=""},[]),resetLogin:(0,b.useCallback)(()=>{i("idle"),k(""),m([]),o(""),q.current=""},[]),checkAuth:s}}],5207);var g=a.i(87924);let h=(0,g.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-5 w-5 shrink-0","aria-hidden":"true",children:[(0,g.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z",fill:"#4285F4"}),(0,g.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),(0,g.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),(0,g.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]});function i({onSelect:a}){return(0,g.jsxs)("div",{className:"flex w-full max-w-sm flex-col gap-3",children:[(0,g.jsxs)("button",{onClick:()=>a("api-key"),className:"flex items-center gap-3 rounded-xl border border-gray-900/[0.08] bg-gray-900/[0.02] px-5 py-4 text-left transition-all hover:border-blue-500/40 hover:bg-blue-500/[0.04] dark:border-white/[0.08] dark:bg-white/[0.02] dark:hover:border-blue-400/40 dark:hover:bg-blue-400/[0.04]",children:[(0,g.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-blue-500/[0.10]",children:(0,g.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",className:"h-4.5 w-4.5 text-blue-500 dark:text-blue-400",children:(0,g.jsx)("path",{fillRule:"evenodd",d:"M8 7a5 5 0 113.61 4.804l-1.903 1.903A1 1 0 019 14H8v1a1 1 0 01-1 1H6v1a1 1 0 01-1 1H3a1 1 0 01-1-1v-2a1 1 0 01.293-.707L8.196 8.39A5.002 5.002 0 018 7zm5-3a.75.75 0 000 1.5A1.5 1.5 0 0114.5 7 .75.75 0 0016 7a3 3 0 00-3-3z",clipRule:"evenodd"})})}),(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-semibold text-gray-900/85 dark:text-white/85",children:"API 키"}),(0,g.jsx)("p",{className:"text-xs text-gray-900/35 dark:text-white/35",children:"Google AI Studio에서 발급한 키 입력"})]})]}),(0,g.jsxs)("button",{onClick:()=>a("gca"),className:"flex items-center gap-3 rounded-xl border border-gray-900/[0.08] bg-gray-900/[0.02] px-5 py-4 text-left transition-all hover:border-blue-500/40 hover:bg-blue-500/[0.04] dark:border-white/[0.08] dark:bg-white/[0.02] dark:hover:border-blue-400/40 dark:hover:bg-blue-400/[0.04]",children:[(0,g.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-blue-500/[0.10]",children:h}),(0,g.jsxs)("div",{children:[(0,g.jsx)("p",{className:"text-sm font-semibold text-gray-900/85 dark:text-white/85",children:"Google Cloud (GCA)"}),(0,g.jsx)("p",{className:"text-xs text-gray-900/35 dark:text-white/35",children:"gcloud CLI로 Application Default Credentials 설정"})]})]})]})}function j({loginState:a,configError:c,onSubmit:d,onBack:e}){let f=(0,b.useRef)(null);return"done"===a?(0,g.jsx)(l,{}):(0,g.jsxs)("form",{onSubmit:a=>{a.preventDefault();let b=f.current?.value.trim()??"";b&&d(b)},className:"flex w-full max-w-sm flex-col gap-4",children:[(0,g.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,g.jsx)("label",{className:"text-xs font-medium text-gray-900/50 dark:text-white/50",children:"Gemini API 키"}),(0,g.jsx)("input",{ref:f,type:"password",placeholder:"AIza...",autoFocus:!0,required:!0,className:"rounded-lg border border-gray-900/[0.10] bg-gray-900/[0.03] px-3.5 py-2.5 font-mono text-sm text-gray-900/85 placeholder-gray-900/20 outline-none transition-colors focus:border-blue-500/50 focus:ring-2 focus:ring-blue-500/10 dark:border-white/[0.10] dark:bg-white/[0.03] dark:text-white/85 dark:placeholder-white/20 dark:focus:border-blue-400/50 dark:focus:ring-blue-400/10"}),(0,g.jsxs)("p",{className:"text-[11px] text-gray-900/30 dark:text-white/30",children:[(0,g.jsx)("a",{href:"https://aistudio.google.com/app/apikey",target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline dark:text-blue-400",children:"Google AI Studio"}),"에서 API 키를 발급받을 수 있습니다."]}),c&&(0,g.jsx)("p",{className:"text-xs text-red-500 dark:text-red-400",children:c})]}),(0,g.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,g.jsxs)("button",{type:"submit",disabled:"pending"===a,className:"flex items-center justify-center gap-2 rounded-xl bg-blue-600 px-6 py-3 text-sm font-semibold text-white transition-colors hover:bg-blue-500 disabled:opacity-50",children:["pending"===a&&(0,g.jsx)("span",{className:"h-4 w-4 animate-spin rounded-full border-2 border-white/30 border-t-white"}),"pending"===a?"저장 중…":"저장"]}),(0,g.jsx)("button",{type:"button",onClick:e,className:"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50",children:"← 뒤로"})]})]})}function k({loginState:a,loginOutput:b,loginUrls:c,onStart:d,onCancel:e,onBack:f}){return"done"===a?(0,g.jsx)(l,{}):(0,g.jsxs)("div",{className:"flex w-full max-w-lg flex-col gap-4",children:["idle"===a||"error"===a?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-gray-900/[0.07] bg-gray-900/[0.025] p-4 dark:border-white/[0.07] dark:bg-white/[0.025]",children:[(0,g.jsx)("p",{className:"text-sm font-medium text-gray-900/70 dark:text-white/70",children:"gcloud CLI가 필요합니다"}),(0,g.jsxs)("p",{className:"text-xs text-gray-900/40 dark:text-white/40",children:["먼저"," ",(0,g.jsx)("a",{href:"https://cloud.google.com/sdk/docs/install",target:"_blank",rel:"noopener noreferrer",className:"text-blue-500 hover:underline dark:text-blue-400",children:"Google Cloud SDK"}),"를 설치한 후 아래 버튼을 클릭하세요."]}),(0,g.jsx)("code",{className:"mt-1 rounded-md bg-gray-900/[0.04] px-2.5 py-1.5 font-mono text-xs text-gray-900/50 dark:bg-white/[0.04] dark:text-white/50",children:"gcloud auth application-default login"})]}),"error"===a&&b&&(0,g.jsx)("pre",{className:"max-h-32 overflow-y-auto rounded-lg border border-red-200 bg-red-50 px-4 py-3 font-mono text-xs whitespace-pre-wrap text-red-600 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-400",children:b}),(0,g.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,g.jsxs)("button",{onClick:d,className:"flex items-center justify-center gap-2 rounded-xl bg-blue-600 px-6 py-3 text-sm font-semibold text-white transition-colors hover:bg-blue-500",children:[h,"Google 계정으로 로그인"]}),(0,g.jsx)("button",{onClick:f,className:"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50",children:"← 뒤로"})]})]}):null,"pending"===a&&(0,g.jsxs)(g.Fragment,{children:[c.length>0&&(0,g.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,g.jsx)("p",{className:"text-xs font-medium text-gray-900/35 dark:text-white/35",children:"브라우저에서 아래 링크를 열어 인증을 완료하세요:"}),c.map(a=>(0,g.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"break-all rounded-lg border border-blue-700/50 bg-blue-950/30 px-4 py-3 text-xs font-mono text-blue-700 transition-colors hover:border-blue-500 hover:text-blue-600 dark:text-blue-300 dark:hover:text-blue-200",children:a},a))]}),b&&(0,g.jsx)("pre",{className:"max-h-48 overflow-y-auto rounded-lg border border-gray-900/[0.07] bg-gray-900/[0.02] px-4 py-3 font-mono text-xs leading-relaxed whitespace-pre-wrap text-gray-900/45 dark:border-white/[0.07] dark:bg-white/[0.02] dark:text-white/45",children:b}),0===c.length&&(0,g.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-gray-900/30 dark:text-white/30",children:[(0,g.jsx)("span",{className:"h-4 w-4 animate-spin rounded-full border-2 border-gray-900/[0.08] border-t-blue-500 dark:border-white/[0.08]"}),"gcloud 인증 진행 중…"]}),(0,g.jsx)("button",{onClick:e,className:"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50",children:"취소"})]})]})}function l(){return(0,g.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center",children:[(0,g.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-emerald-500/[0.10]",children:(0,g.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",className:"h-6 w-6 text-emerald-500 dark:text-emerald-400",children:(0,g.jsx)("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",clipRule:"evenodd"})})}),(0,g.jsx)("p",{className:"text-sm font-medium text-emerald-600 dark:text-emerald-400",children:"인증 완료"})]})}a.s(["GeminiLoginPanel",0,function({loginState:a,loginOutput:c,loginUrls:d,configError:e,onSaveApiKey:f,onStartGca:l,onCancel:m,onReset:n}){let[o,p]=(0,b.useState)(null),q=()=>{n(),p(null)};return(0,g.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-6 px-6",children:[(0,g.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,g.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-blue-500/[0.08] dark:border-white/[0.08]",children:h}),(0,g.jsx)("h2",{className:"text-xl font-semibold text-gray-900/90 dark:text-white/90",children:"Gemini CLI 인증"}),!o&&(0,g.jsx)("p",{className:"max-w-sm text-sm text-gray-900/40 dark:text-white/40",children:"사용할 인증 방식을 선택해 주세요."})]}),!o&&(0,g.jsx)(i,{onSelect:p}),"api-key"===o&&(0,g.jsx)(j,{loginState:a,configError:e,onSubmit:f,onBack:q}),"gca"===o&&(0,g.jsx)(k,{loginState:a,loginOutput:c,loginUrls:d,onStart:l,onCancel:m,onBack:q})]})}],10750)},89514,a=>{"use strict";var b=a.i(87924),c=a.i(38246),d=a.i(72131),e=a.i(5207),f=a.i(10750),g=a.i(82885);function h(){return(0,b.jsxs)("div",{className:"flex h-screen flex-col bg-[#faf8f5] dark:bg-[#07090e]",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 border-b border-gray-900/[0.07] px-4 py-3 dark:border-white/[0.07]",children:[(0,b.jsx)("div",{className:"h-3.5 w-3.5 rounded bg-gray-900/[0.07] dark:bg-white/[0.07]"}),(0,b.jsx)("div",{className:"h-[14px] w-20 rounded bg-gray-900/[0.07] dark:bg-white/[0.07]"})]}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-3",children:[(0,b.jsx)("span",{className:"h-6 w-6 animate-spin rounded-full border-2 border-gray-900/[0.08] border-t-blue-500 dark:border-white/[0.08]"}),(0,b.jsx)("span",{className:"text-xs text-gray-900/20 dark:text-white/20",children:"인증 확인 중…"})]})]})}function i(){return(0,b.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center gap-6 px-6",children:(0,b.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,b.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-gray-900/[0.04] dark:border-white/[0.08] dark:bg-white/[0.04]",children:(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",className:"h-8 w-8 text-gray-900/30 dark:text-white/30",children:(0,b.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"})})}),(0,b.jsx)("h2",{className:"text-xl font-semibold text-gray-900/90 dark:text-white/90",children:"Gemini CLI가 설치되어 있지 않습니다"}),(0,b.jsx)("p",{className:"max-w-sm text-sm text-gray-900/40 dark:text-white/40",children:"먼저 CLI 도구를 설치해 주세요."}),(0,b.jsx)("code",{className:"mt-1 rounded-lg border border-gray-900/[0.08] bg-gray-900/[0.03] px-4 py-2 font-mono text-sm text-gray-900/55 dark:border-white/[0.08] dark:bg-white/[0.03] dark:text-white/55",children:"jccli init"})]})})}function j(){return(0,b.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-4",children:[(0,b.jsx)("div",{className:"pointer-events-none absolute inset-0 overflow-hidden",children:(0,b.jsx)("div",{className:"absolute left-1/2 top-1/2 h-[500px] w-[600px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-blue-500/[0.04] blur-[120px]"})}),(0,b.jsx)("div",{className:"relative flex h-14 w-14 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-blue-500/[0.08] dark:border-white/[0.08]",children:(0,b.jsxs)("svg",{viewBox:"0 0 24 24",className:"h-7 w-7","aria-hidden":"true",children:[(0,b.jsx)("path",{d:"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z",fill:"#4285F4"}),(0,b.jsx)("path",{d:"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",fill:"#34A853"}),(0,b.jsx)("path",{d:"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",fill:"#FBBC05"}),(0,b.jsx)("path",{d:"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",fill:"#EA4335"})]})}),(0,b.jsxs)("div",{className:"relative text-center",children:[(0,b.jsx)("p",{className:"font-semibold text-gray-900/75 dark:text-white/75",children:"Gemini CLI"}),(0,b.jsx)("p",{className:"mt-1 text-sm text-gray-900/30 dark:text-white/30",children:"로그인되었습니다. 채팅 기능은 준비 중입니다."})]})]})}a.s(["default",0,function(){let{authState:a,loginState:k,loginOutput:l,loginUrls:m,configError:n,saveApiKey:o,startGcaLogin:p,cancelLogin:q,resetLogin:r,checkAuth:s}=(0,e.useGeminiAuth)();(0,d.useEffect)(()=>{"done"===k&&s()},[k,s]);let t=(0,b.jsxs)("header",{className:"flex items-center gap-2 border-b border-gray-900/[0.07] px-4 py-3 dark:border-white/[0.07]",children:[(0,b.jsx)(c.default,{href:"/",className:"text-gray-900/30 transition-colors hover:text-gray-900/60 dark:text-white/30 dark:hover:text-white/60",children:"←"}),(0,b.jsx)("span",{className:"text-sm font-semibold text-gray-900/80 dark:text-white/80",children:"Gemini CLI"}),(0,b.jsx)("div",{className:"ml-auto",children:(0,b.jsx)(g.ThemeToggle,{})})]});return"checking"===a?(0,b.jsx)(h,{}):(0,b.jsxs)("div",{className:"flex h-screen flex-col bg-[#faf8f5] text-gray-900 dark:bg-[#07090e] dark:text-white",children:[t,"not-installed"===a&&(0,b.jsx)(i,{}),"unauthenticated"===a&&(0,b.jsx)(f.GeminiLoginPanel,{loginState:k,loginOutput:l,loginUrls:m,configError:n,onSaveApiKey:o,onStartGca:p,onCancel:q,onReset:r}),"authenticated"===a&&(0,b.jsx)(j,{})]})}])}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__05y8~sf._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../apps/web/src/lib/constants.ts","../../../../../../apps/web/src/features/auth/api/auth.api.ts","../../../../../../apps/web/src/features/auth/hooks/useGeminiAuth.ts","../../../../../../apps/web/src/features/auth/ui/GeminiLoginPanel.tsx","../../../../../../apps/web/src/app/gemini/page.tsx"],"sourcesContent":["// 프로덕션(프리빌드 배포)에서는 프록시 뒤에서 same-origin으로 호출하고,\n// 로컬 개발에서는 별도 포트의 서버(3001)로 직접 호출한다.\nexport const SERVER_URL =\n process.env.NEXT_PUBLIC_SERVER_URL ??\n (process.env.NODE_ENV === \"production\" ? \"\" : \"http://localhost:3001\");\nexport const CLAUDE_WS_NAMESPACE = \"/agents/claude\";\nexport const GEMINI_WS_NAMESPACE = \"/agents/gemini\";\nexport const CODEX_WS_NAMESPACE = \"/agents/codex\";\n","import { SERVER_URL } from \"@/lib/constants\";\n\nexport interface AuthStatus {\n loggedIn: boolean;\n authMethod: string;\n apiProvider: string;\n email?: string;\n orgName?: string;\n subscriptionType?: string;\n}\n\nexport interface ClaudeStatus {\n version: string;\n auth: AuthStatus;\n activeSessions: number;\n platform: string;\n}\n\nexport interface GeminiAuthStatus {\n loggedIn: boolean;\n authMethod: string;\n installed: boolean;\n email?: string;\n}\n\nexport async function getAuthStatus(): Promise<AuthStatus> {\n const res = await fetch(`${SERVER_URL}/agents/claude/auth/status`);\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n return res.json();\n}\n\nexport async function getClaudeStatus(): Promise<ClaudeStatus> {\n const res = await fetch(`${SERVER_URL}/agents/claude/status`);\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n return res.json();\n}\n\nexport async function getGeminiAuthStatus(): Promise<GeminiAuthStatus> {\n const res = await fetch(`${SERVER_URL}/agents/gemini/auth/status`);\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n return res.json();\n}\n\nexport async function configureGeminiAuth(\n authType: \"api-key\",\n apiKey: string,\n): Promise<void>;\nexport async function configureGeminiAuth(authType: \"gca\"): Promise<void>;\nexport async function configureGeminiAuth(\n authType: \"api-key\" | \"gca\",\n apiKey?: string,\n): Promise<void> {\n const res = await fetch(`${SERVER_URL}/agents/gemini/auth/configure`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ authType, ...(apiKey ? { apiKey } : {}) }),\n });\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n}\n\n// ─── Codex ────────────────────────────────────────────────────────────────────\n\nexport interface CodexAuthStatus {\n installed: boolean;\n loggedIn: boolean;\n}\n\nexport async function getCodexAuthStatus(): Promise<CodexAuthStatus> {\n const res = await fetch(`${SERVER_URL}/agents/codex/auth/status`);\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n return res.json();\n}\n\nexport async function configureCodexAuth(apiKey: string): Promise<void> {\n const res = await fetch(`${SERVER_URL}/agents/codex/auth/configure`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ apiKey }),\n });\n if (!res.ok) throw new Error(`HTTP ${res.status}`);\n}\n","\"use client\";\n\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { io, type Socket } from \"socket.io-client\";\n\nimport { GEMINI_WS_NAMESPACE, SERVER_URL } from \"@/lib/constants\";\nimport { configureGeminiAuth, getGeminiAuthStatus } from \"../api/auth.api\";\n\nexport type GeminiAuthState = \"checking\" | \"authenticated\" | \"unauthenticated\" | \"not-installed\";\nexport type GeminiLoginState = \"idle\" | \"pending\" | \"done\" | \"error\";\nexport type GeminiAuthMethod = \"api-key\" | \"gca\";\n\nconst URL_REGEX = /https?:\\/\\/[^\\s\\-\"<>\\\\^`{|}~]+/g;\n\nfunction extractUrls(text: string): string[] {\n return Array.from(new Set(text.match(URL_REGEX) ?? []));\n}\n\nexport function useGeminiAuth() {\n const [authState, setAuthState] = useState<GeminiAuthState>(\"checking\");\n const [loginState, setLoginState] = useState<GeminiLoginState>(\"idle\");\n const [loginOutput, setLoginOutput] = useState(\"\");\n const [loginUrls, setLoginUrls] = useState<string[]>([]);\n const [configError, setConfigError] = useState(\"\");\n\n const socketRef = useRef<Socket | null>(null);\n const outputRef = useRef(\"\");\n const isLoginActiveRef = useRef(false);\n\n const checkAuth = useCallback(async () => {\n setAuthState(\"checking\");\n try {\n const data = await getGeminiAuthStatus();\n if (!data.installed) setAuthState(\"not-installed\");\n else setAuthState(data.loggedIn ? \"authenticated\" : \"unauthenticated\");\n } catch {\n setAuthState(\"unauthenticated\");\n }\n }, []);\n\n useEffect(() => { void checkAuth(); }, [checkAuth]);\n\n // ── API Key 방식 ────────────────────────────────────────────────────────────\n const saveApiKey = useCallback(async (apiKey: string) => {\n setConfigError(\"\");\n setLoginState(\"pending\");\n try {\n await configureGeminiAuth(\"api-key\", apiKey);\n setLoginState(\"done\");\n setAuthState(\"authenticated\");\n } catch {\n setConfigError(\"API 키 저장에 실패했습니다. 서버 연결을 확인하세요.\");\n setLoginState(\"error\");\n }\n }, []);\n\n // ── GCA 방식 (gcloud auth application-default login) ────────────────────────\n const startGcaLogin = useCallback(() => {\n if (loginState === \"pending\") return;\n\n outputRef.current = \"\";\n setLoginOutput(\"\");\n setLoginUrls([]);\n setLoginState(\"pending\");\n isLoginActiveRef.current = true;\n\n const socket = io(`${SERVER_URL}${GEMINI_WS_NAMESPACE}`, { transports: [\"websocket\"] });\n socketRef.current = socket;\n\n socket.on(\"connect\", () => socket.emit(\"auth:gca:start\"));\n\n socket.on(\"auth:output\", ({ text }: { text: string }) => {\n outputRef.current += text;\n setLoginOutput(outputRef.current);\n setLoginUrls(extractUrls(outputRef.current));\n });\n\n socket.on(\"auth:done\", ({ success }: { success: boolean }) => {\n isLoginActiveRef.current = false;\n socket.disconnect();\n socketRef.current = null;\n setLoginState(success ? \"done\" : \"error\");\n if (success) setAuthState(\"authenticated\");\n });\n\n socket.on(\"disconnect\", () => {\n if (isLoginActiveRef.current) {\n isLoginActiveRef.current = false;\n setLoginState(\"error\");\n }\n });\n }, [loginState]);\n\n const cancelLogin = useCallback(() => {\n isLoginActiveRef.current = false;\n socketRef.current?.emit(\"auth:login:cancel\");\n socketRef.current?.disconnect();\n socketRef.current = null;\n setLoginState(\"idle\");\n setLoginOutput(\"\");\n setLoginUrls([]);\n outputRef.current = \"\";\n }, []);\n\n const resetLogin = useCallback(() => {\n setLoginState(\"idle\");\n setLoginOutput(\"\");\n setLoginUrls([]);\n setConfigError(\"\");\n outputRef.current = \"\";\n }, []);\n\n return {\n authState,\n loginState,\n loginOutput,\n loginUrls,\n configError,\n saveApiKey,\n startGcaLogin,\n cancelLogin,\n resetLogin,\n checkAuth,\n };\n}\n","\"use client\";\n\nimport { useRef, useState } from \"react\";\n\nimport type { GeminiAuthMethod, GeminiLoginState } from \"../hooks/useGeminiAuth\";\n\ninterface GeminiLoginPanelProps {\n loginState: GeminiLoginState;\n loginOutput: string;\n loginUrls: string[];\n configError: string;\n onSaveApiKey: (key: string) => void;\n onStartGca: () => void;\n onCancel: () => void;\n onReset: () => void;\n}\n\nconst GOOGLE_LOGO = (\n <svg viewBox=\"0 0 24 24\" className=\"h-5 w-5 shrink-0\" aria-hidden=\"true\">\n <path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\" fill=\"#4285F4\" />\n <path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\" />\n <path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\" fill=\"#FBBC05\" />\n <path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\" />\n </svg>\n);\n\n// ─── Method Select ────────────────────────────────────────────────────────────\n\ninterface MethodSelectProps {\n onSelect: (method: GeminiAuthMethod) => void;\n}\n\nfunction MethodSelect({ onSelect }: MethodSelectProps) {\n return (\n <div className=\"flex w-full max-w-sm flex-col gap-3\">\n <button\n onClick={() => onSelect(\"api-key\")}\n className=\"flex items-center gap-3 rounded-xl border border-gray-900/[0.08] bg-gray-900/[0.02] px-5 py-4 text-left transition-all hover:border-blue-500/40 hover:bg-blue-500/[0.04] dark:border-white/[0.08] dark:bg-white/[0.02] dark:hover:border-blue-400/40 dark:hover:bg-blue-400/[0.04]\"\n >\n <span className=\"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-blue-500/[0.10]\">\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" className=\"h-4.5 w-4.5 text-blue-500 dark:text-blue-400\">\n <path fillRule=\"evenodd\" d=\"M8 7a5 5 0 113.61 4.804l-1.903 1.903A1 1 0 019 14H8v1a1 1 0 01-1 1H6v1a1 1 0 01-1 1H3a1 1 0 01-1-1v-2a1 1 0 01.293-.707L8.196 8.39A5.002 5.002 0 018 7zm5-3a.75.75 0 000 1.5A1.5 1.5 0 0114.5 7 .75.75 0 0016 7a3 3 0 00-3-3z\" clipRule=\"evenodd\" />\n </svg>\n </span>\n <div>\n <p className=\"text-sm font-semibold text-gray-900/85 dark:text-white/85\">API 키</p>\n <p className=\"text-xs text-gray-900/35 dark:text-white/35\">Google AI Studio에서 발급한 키 입력</p>\n </div>\n </button>\n\n <button\n onClick={() => onSelect(\"gca\")}\n className=\"flex items-center gap-3 rounded-xl border border-gray-900/[0.08] bg-gray-900/[0.02] px-5 py-4 text-left transition-all hover:border-blue-500/40 hover:bg-blue-500/[0.04] dark:border-white/[0.08] dark:bg-white/[0.02] dark:hover:border-blue-400/40 dark:hover:bg-blue-400/[0.04]\"\n >\n <span className=\"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-blue-500/[0.10]\">\n {GOOGLE_LOGO}\n </span>\n <div>\n <p className=\"text-sm font-semibold text-gray-900/85 dark:text-white/85\">Google Cloud (GCA)</p>\n <p className=\"text-xs text-gray-900/35 dark:text-white/35\">gcloud CLI로 Application Default Credentials 설정</p>\n </div>\n </button>\n </div>\n );\n}\n\n// ─── API Key Form ─────────────────────────────────────────────────────────────\n\ninterface ApiKeyFormProps {\n loginState: GeminiLoginState;\n configError: string;\n onSubmit: (key: string) => void;\n onBack: () => void;\n}\n\nfunction ApiKeyForm({ loginState, configError, onSubmit, onBack }: ApiKeyFormProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n const key = inputRef.current?.value.trim() ?? \"\";\n if (key) onSubmit(key);\n };\n\n if (loginState === \"done\") return <SuccessView />;\n\n return (\n <form onSubmit={handleSubmit} className=\"flex w-full max-w-sm flex-col gap-4\">\n <div className=\"flex flex-col gap-1.5\">\n <label className=\"text-xs font-medium text-gray-900/50 dark:text-white/50\">\n Gemini API 키\n </label>\n <input\n ref={inputRef}\n type=\"password\"\n placeholder=\"AIza...\"\n autoFocus\n required\n className=\"rounded-lg border border-gray-900/[0.10] bg-gray-900/[0.03] px-3.5 py-2.5 font-mono text-sm text-gray-900/85 placeholder-gray-900/20 outline-none transition-colors focus:border-blue-500/50 focus:ring-2 focus:ring-blue-500/10 dark:border-white/[0.10] dark:bg-white/[0.03] dark:text-white/85 dark:placeholder-white/20 dark:focus:border-blue-400/50 dark:focus:ring-blue-400/10\"\n />\n <p className=\"text-[11px] text-gray-900/30 dark:text-white/30\">\n <a\n href=\"https://aistudio.google.com/app/apikey\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-blue-500 hover:underline dark:text-blue-400\"\n >\n Google AI Studio\n </a>\n 에서 API 키를 발급받을 수 있습니다.\n </p>\n {configError && (\n <p className=\"text-xs text-red-500 dark:text-red-400\">{configError}</p>\n )}\n </div>\n\n <div className=\"flex flex-col gap-2\">\n <button\n type=\"submit\"\n disabled={loginState === \"pending\"}\n className=\"flex items-center justify-center gap-2 rounded-xl bg-blue-600 px-6 py-3 text-sm font-semibold text-white transition-colors hover:bg-blue-500 disabled:opacity-50\"\n >\n {loginState === \"pending\" && (\n <span className=\"h-4 w-4 animate-spin rounded-full border-2 border-white/30 border-t-white\" />\n )}\n {loginState === \"pending\" ? \"저장 중…\" : \"저장\"}\n </button>\n <button\n type=\"button\"\n onClick={onBack}\n className=\"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50\"\n >\n ← 뒤로\n </button>\n </div>\n </form>\n );\n}\n\n// ─── GCA Form ─────────────────────────────────────────────────────────────────\n\ninterface GcaFormProps {\n loginState: GeminiLoginState;\n loginOutput: string;\n loginUrls: string[];\n onStart: () => void;\n onCancel: () => void;\n onBack: () => void;\n}\n\nfunction GcaForm({ loginState, loginOutput, loginUrls, onStart, onCancel, onBack }: GcaFormProps) {\n if (loginState === \"done\") return <SuccessView />;\n\n const isPending = loginState === \"pending\";\n\n return (\n <div className=\"flex w-full max-w-lg flex-col gap-4\">\n {loginState === \"idle\" || loginState === \"error\" ? (\n <>\n <div className=\"flex flex-col gap-2 rounded-xl border border-gray-900/[0.07] bg-gray-900/[0.025] p-4 dark:border-white/[0.07] dark:bg-white/[0.025]\">\n <p className=\"text-sm font-medium text-gray-900/70 dark:text-white/70\">\n gcloud CLI가 필요합니다\n </p>\n <p className=\"text-xs text-gray-900/40 dark:text-white/40\">\n 먼저{\" \"}\n <a\n href=\"https://cloud.google.com/sdk/docs/install\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-blue-500 hover:underline dark:text-blue-400\"\n >\n Google Cloud SDK\n </a>\n 를 설치한 후 아래 버튼을 클릭하세요.\n </p>\n <code className=\"mt-1 rounded-md bg-gray-900/[0.04] px-2.5 py-1.5 font-mono text-xs text-gray-900/50 dark:bg-white/[0.04] dark:text-white/50\">\n gcloud auth application-default login\n </code>\n </div>\n\n {loginState === \"error\" && loginOutput && (\n <pre className=\"max-h-32 overflow-y-auto rounded-lg border border-red-200 bg-red-50 px-4 py-3 font-mono text-xs whitespace-pre-wrap text-red-600 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-400\">\n {loginOutput}\n </pre>\n )}\n\n <div className=\"flex flex-col gap-2\">\n <button\n onClick={onStart}\n className=\"flex items-center justify-center gap-2 rounded-xl bg-blue-600 px-6 py-3 text-sm font-semibold text-white transition-colors hover:bg-blue-500\"\n >\n {GOOGLE_LOGO}\n Google 계정으로 로그인\n </button>\n <button\n onClick={onBack}\n className=\"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50\"\n >\n ← 뒤로\n </button>\n </div>\n </>\n ) : null}\n\n {isPending && (\n <>\n {loginUrls.length > 0 && (\n <div className=\"flex flex-col gap-2\">\n <p className=\"text-xs font-medium text-gray-900/35 dark:text-white/35\">브라우저에서 아래 링크를 열어 인증을 완료하세요:</p>\n {loginUrls.map((url) => (\n <a\n key={url}\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"break-all rounded-lg border border-blue-700/50 bg-blue-950/30 px-4 py-3 text-xs font-mono text-blue-700 transition-colors hover:border-blue-500 hover:text-blue-600 dark:text-blue-300 dark:hover:text-blue-200\"\n >\n {url}\n </a>\n ))}\n </div>\n )}\n {loginOutput && (\n <pre className=\"max-h-48 overflow-y-auto rounded-lg border border-gray-900/[0.07] bg-gray-900/[0.02] px-4 py-3 font-mono text-xs leading-relaxed whitespace-pre-wrap text-gray-900/45 dark:border-white/[0.07] dark:bg-white/[0.02] dark:text-white/45\">\n {loginOutput}\n </pre>\n )}\n {loginUrls.length === 0 && (\n <div className=\"flex items-center justify-center gap-2 text-sm text-gray-900/30 dark:text-white/30\">\n <span className=\"h-4 w-4 animate-spin rounded-full border-2 border-gray-900/[0.08] border-t-blue-500 dark:border-white/[0.08]\" />\n gcloud 인증 진행 중…\n </div>\n )}\n <button onClick={onCancel} className=\"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50\">\n 취소\n </button>\n </>\n )}\n </div>\n );\n}\n\n// ─── Success ──────────────────────────────────────────────────────────────────\n\nfunction SuccessView() {\n return (\n <div className=\"flex flex-col items-center gap-2 text-center\">\n <div className=\"flex h-12 w-12 items-center justify-center rounded-full bg-emerald-500/[0.10]\">\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" className=\"h-6 w-6 text-emerald-500 dark:text-emerald-400\">\n <path fillRule=\"evenodd\" d=\"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z\" clipRule=\"evenodd\" />\n </svg>\n </div>\n <p className=\"text-sm font-medium text-emerald-600 dark:text-emerald-400\">인증 완료</p>\n </div>\n );\n}\n\n// ─── Panel Root ───────────────────────────────────────────────────────────────\n\nexport function GeminiLoginPanel({\n loginState,\n loginOutput,\n loginUrls,\n configError,\n onSaveApiKey,\n onStartGca,\n onCancel,\n onReset,\n}: GeminiLoginPanelProps) {\n const [selectedMethod, setSelectedMethod] = useState<GeminiAuthMethod | null>(null);\n\n const handleBack = () => {\n onReset();\n setSelectedMethod(null);\n };\n\n return (\n <div className=\"flex flex-1 flex-col items-center justify-center gap-6 px-6\">\n {/* Header */}\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <div className=\"flex h-16 w-16 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-blue-500/[0.08] dark:border-white/[0.08]\">\n {GOOGLE_LOGO}\n </div>\n <h2 className=\"text-xl font-semibold text-gray-900/90 dark:text-white/90\">Gemini CLI 인증</h2>\n {!selectedMethod && (\n <p className=\"max-w-sm text-sm text-gray-900/40 dark:text-white/40\">\n 사용할 인증 방식을 선택해 주세요.\n </p>\n )}\n </div>\n\n {/* Content */}\n {!selectedMethod && <MethodSelect onSelect={setSelectedMethod} />}\n\n {selectedMethod === \"api-key\" && (\n <ApiKeyForm\n loginState={loginState}\n configError={configError}\n onSubmit={onSaveApiKey}\n onBack={handleBack}\n />\n )}\n\n {selectedMethod === \"gca\" && (\n <GcaForm\n loginState={loginState}\n loginOutput={loginOutput}\n loginUrls={loginUrls}\n onStart={onStartGca}\n onCancel={onCancel}\n onBack={handleBack}\n />\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport Link from \"next/link\";\nimport { useEffect } from \"react\";\n\nimport { useGeminiAuth } from \"@/features/auth/hooks/useGeminiAuth\";\nimport { GeminiLoginPanel } from \"@/features/auth/ui/GeminiLoginPanel\";\nimport { ThemeToggle } from \"@/lib/theme\";\n\n// ─── Checking Skeleton ────────────────────────────────────────────────────────\n\nfunction CheckingSkeleton() {\n return (\n <div className=\"flex h-screen flex-col bg-[#faf8f5] dark:bg-[#07090e]\">\n <div className=\"flex items-center gap-2 border-b border-gray-900/[0.07] px-4 py-3 dark:border-white/[0.07]\">\n <div className=\"h-3.5 w-3.5 rounded bg-gray-900/[0.07] dark:bg-white/[0.07]\" />\n <div className=\"h-[14px] w-20 rounded bg-gray-900/[0.07] dark:bg-white/[0.07]\" />\n </div>\n <div className=\"flex flex-1 flex-col items-center justify-center gap-3\">\n <span className=\"h-6 w-6 animate-spin rounded-full border-2 border-gray-900/[0.08] border-t-blue-500 dark:border-white/[0.08]\" />\n <span className=\"text-xs text-gray-900/20 dark:text-white/20\">인증 확인 중…</span>\n </div>\n </div>\n );\n}\n\n// ─── Not Installed ────────────────────────────────────────────────────────────\n\nfunction NotInstalledView() {\n return (\n <div className=\"flex flex-1 flex-col items-center justify-center gap-6 px-6\">\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <div className=\"flex h-16 w-16 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-gray-900/[0.04] dark:border-white/[0.08] dark:bg-white/[0.04]\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" className=\"h-8 w-8 text-gray-900/30 dark:text-white/30\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\n </svg>\n </div>\n <h2 className=\"text-xl font-semibold text-gray-900/90 dark:text-white/90\">Gemini CLI가 설치되어 있지 않습니다</h2>\n <p className=\"max-w-sm text-sm text-gray-900/40 dark:text-white/40\">\n 먼저 CLI 도구를 설치해 주세요.\n </p>\n <code className=\"mt-1 rounded-lg border border-gray-900/[0.08] bg-gray-900/[0.03] px-4 py-2 font-mono text-sm text-gray-900/55 dark:border-white/[0.08] dark:bg-white/[0.03] dark:text-white/55\">\n jccli init\n </code>\n </div>\n </div>\n );\n}\n\n// ─── Authenticated View ───────────────────────────────────────────────────────\n\nfunction AuthenticatedView() {\n return (\n <div className=\"flex flex-1 flex-col items-center justify-center gap-4\">\n <div className=\"pointer-events-none absolute inset-0 overflow-hidden\">\n <div className=\"absolute left-1/2 top-1/2 h-[500px] w-[600px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-blue-500/[0.04] blur-[120px]\" />\n </div>\n <div className=\"relative flex h-14 w-14 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-blue-500/[0.08] dark:border-white/[0.08]\">\n <svg viewBox=\"0 0 24 24\" className=\"h-7 w-7\" aria-hidden=\"true\">\n <path d=\"M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z\" fill=\"#4285F4\" />\n <path d=\"M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z\" fill=\"#34A853\" />\n <path d=\"M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z\" fill=\"#FBBC05\" />\n <path d=\"M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z\" fill=\"#EA4335\" />\n </svg>\n </div>\n <div className=\"relative text-center\">\n <p className=\"font-semibold text-gray-900/75 dark:text-white/75\">Gemini CLI</p>\n <p className=\"mt-1 text-sm text-gray-900/30 dark:text-white/30\">로그인되었습니다. 채팅 기능은 준비 중입니다.</p>\n </div>\n </div>\n );\n}\n\n// ─── Page ─────────────────────────────────────────────────────────────────────\n\nexport default function GeminiPage() {\n const {\n authState,\n loginState,\n loginOutput,\n loginUrls,\n configError,\n saveApiKey,\n startGcaLogin,\n cancelLogin,\n resetLogin,\n checkAuth,\n } = useGeminiAuth();\n\n useEffect(() => {\n if (loginState === \"done\") void checkAuth();\n }, [loginState, checkAuth]);\n\n const pageHeader = (\n <header className=\"flex items-center gap-2 border-b border-gray-900/[0.07] px-4 py-3 dark:border-white/[0.07]\">\n <Link href=\"/\" className=\"text-gray-900/30 transition-colors hover:text-gray-900/60 dark:text-white/30 dark:hover:text-white/60\">\n ←\n </Link>\n <span className=\"text-sm font-semibold text-gray-900/80 dark:text-white/80\">Gemini CLI</span>\n <div className=\"ml-auto\">\n <ThemeToggle />\n </div>\n </header>\n );\n\n if (authState === \"checking\") return <CheckingSkeleton />;\n\n return (\n <div className=\"flex h-screen flex-col bg-[#faf8f5] text-gray-900 dark:bg-[#07090e] dark:text-white\">\n {pageHeader}\n\n {authState === \"not-installed\" && <NotInstalledView />}\n\n {authState === \"unauthenticated\" && (\n <GeminiLoginPanel\n loginState={loginState}\n loginOutput={loginOutput}\n loginUrls={loginUrls}\n configError={configError}\n onSaveApiKey={saveApiKey}\n onStartGca={startGcaLogin}\n onCancel={cancelLogin}\n onReset={resetLogin}\n />\n )}\n\n {authState === \"authenticated\" && <AuthenticatedView />}\n </div>\n );\n}\n"],"names":["SERVER_URL","process","env","NEXT_PUBLIC_SERVER_URL","CLAUDE_WS_NAMESPACE","GEMINI_WS_NAMESPACE","CODEX_WS_NAMESPACE","URL_REGEX","extractUrls","text","Array","from","Set","match","useGeminiAuth","authState","setAuthState","loginState","setLoginState","loginOutput","setLoginOutput","loginUrls","setLoginUrls","configError","setConfigError","socketRef","outputRef","isLoginActiveRef","checkAuth","data","installed","loggedIn","saveApiKey","apiKey","startGcaLogin","current","socket","transports","on","emit","success","disconnect","cancelLogin","resetLogin","CheckingSkeleton","className","NotInstalledView","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","AuthenticatedView","GeminiPage","pageHeader","href","onSaveApiKey","onStartGca","onCancel","onReset"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ module.exports=[24361,(a,b,c)=>{b.exports=a.x("util",()=>require("util"))},47077,28467,a=>{"use strict";let b=process.env.NEXT_PUBLIC_SERVER_URL??"";async function c(){let a=await fetch(`${b}/agents/claude/auth/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function d(){let a=await fetch(`${b}/agents/claude/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function e(){let a=await fetch(`${b}/agents/gemini/auth/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function f(a,c){let d=await fetch(`${b}/agents/gemini/auth/configure`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({authType:a,...c?{apiKey:c}:{}})});if(!d.ok)throw Error(`HTTP ${d.status}`)}async function g(){let a=await fetch(`${b}/agents/codex/auth/status`);if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}async function h(a){let c=await fetch(`${b}/agents/codex/auth/configure`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:a})});if(!c.ok)throw Error(`HTTP ${c.status}`)}a.s(["CLAUDE_WS_NAMESPACE",0,"/agents/claude","CODEX_WS_NAMESPACE",0,"/agents/codex","GEMINI_WS_NAMESPACE",0,"/agents/gemini","SERVER_URL",0,b],47077),a.s(["configureCodexAuth",0,h,"configureGeminiAuth",0,f,"getAuthStatus",0,c,"getClaudeStatus",0,d,"getCodexAuthStatus",0,g,"getGeminiAuthStatus",0,e],28467)},81937,a=>{"use strict";var b=a.i(87924),c=a.i(72131);a.s(["Modal",0,function({open:a,onClose:d,title:e,children:f,maxWidth:g="max-w-lg",hideClose:h=!1,zIndex:i="z-50"}){let j=(0,c.useRef)(null);return((0,c.useEffect)(()=>{if(!a)return;let b=a=>{"Escape"===a.key&&d()};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[a,d]),(0,c.useEffect)(()=>(a?document.body.style.overflow="hidden":document.body.style.overflow="",()=>{document.body.style.overflow=""}),[a]),a)?(0,b.jsxs)("div",{ref:j,className:`fixed inset-0 flex items-center justify-center bg-black/50 p-4 backdrop-blur-md dark:bg-black/70 ${i}`,onMouseDown:a=>{a.target===j.current&&d()},children:[(0,b.jsxs)("div",{className:["relative flex w-full flex-col rounded-2xl border border-gray-900/[0.08] bg-white dark:border-white/[0.08] dark:bg-[#0a0c10] shadow-[0_24px_80px_rgba(0,0,0,0.15)] dark:shadow-[0_24px_80px_rgba(0,0,0,0.7)]",g].join(" "),style:{animation:"modal-in 0.18s cubic-bezier(0.16,1,0.3,1) both"},children:[(0,b.jsxs)("div",{className:"flex items-center justify-between border-b border-gray-900/[0.06] px-5 py-4 dark:border-white/[0.06]",children:[(0,b.jsx)("h2",{className:"text-sm font-semibold text-gray-900/85 dark:text-white/85",children:e}),!h&&(0,b.jsx)("button",{onClick:d,className:"flex h-6 w-6 items-center justify-center rounded-md text-gray-900/25 transition-colors hover:bg-gray-900/[0.07] hover:text-gray-900/70 dark:text-white/25 dark:hover:bg-white/[0.07] dark:hover:text-white/70","aria-label":"닫기",children:(0,b.jsx)("svg",{viewBox:"0 0 16 16",fill:"currentColor",className:"h-3.5 w-3.5",children:(0,b.jsx)("path",{d:"M3.72 3.72a.75.75 0 011.06 0L8 6.94l3.22-3.22a.75.75 0 111.06 1.06L9.06 8l3.22 3.22a.75.75 0 11-1.06 1.06L8 9.06l-3.22 3.22a.75.75 0 01-1.06-1.06L6.94 8 3.72 4.78a.75.75 0 010-1.06z"})})})]}),(0,b.jsx)("div",{className:"overflow-y-auto px-5 py-5",style:{maxHeight:"calc(90vh - 64px)"},children:f})]}),(0,b.jsx)("style",{children:`
2
+ @keyframes modal-in {
3
+ from { opacity: 0; transform: scale(0.96) translateY(6px); }
4
+ to { opacity: 1; transform: scale(1) translateY(0); }
5
+ }
6
+ `})]}):null}])},72404,24431,a=>{"use strict";var b=a.i(72131),c=a.i(83915),d=a.i(47077),e=a.i(28467);let f=/https?:\/\/[^\s\-"<>\\^`{|}~]+/g;a.s(["useClaudeAuth",0,function(){let[a,g]=(0,b.useState)("checking"),[h,i]=(0,b.useState)("idle"),[j,k]=(0,b.useState)(""),[l,m]=(0,b.useState)([]),n=(0,b.useRef)(null),o=(0,b.useRef)(""),p=(0,b.useRef)(!1),q=(0,b.useCallback)(async()=>{g("checking");try{let a=await (0,e.getAuthStatus)();g(a.loggedIn?"authenticated":"unauthenticated")}catch{g("unauthenticated")}},[]);(0,b.useEffect)(()=>{q()},[q]);let r=(0,b.useCallback)(()=>{if("pending"===h)return;o.current="",k(""),m([]),i("pending"),p.current=!0;let a=(0,c.io)(`${d.SERVER_URL}${d.CLAUDE_WS_NAMESPACE}`,{transports:["websocket"]});n.current=a,a.on("connect",()=>a.emit("auth:login:start")),a.on("auth:output",({text:a})=>{o.current+=a,k(o.current),m(Array.from(new Set(o.current.match(f)??[])))}),a.on("auth:done",({success:b})=>{p.current=!1,a.disconnect(),n.current=null,i(b?"done":"error"),b&&g("authenticated")}),a.on("disconnect",()=>{p.current&&(p.current=!1,i("error"))})},[h]);return{authState:a,loginState:h,loginOutput:j,loginUrls:l,startLogin:r,cancelLogin:(0,b.useCallback)(()=>{p.current=!1,n.current?.emit("auth:login:cancel"),n.current?.disconnect(),n.current=null,i("idle"),k(""),m([]),o.current=""},[]),checkAuth:q}}],72404);var g=a.i(87924);a.s(["LoginPanel",0,function({loginState:a,loginOutput:b,loginUrls:c,onStart:d,onCancel:e}){return(0,g.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-6 px-6",children:[(0,g.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,g.jsx)("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl border border-gray-900/[0.08] bg-orange-500/[0.08] dark:border-white/[0.08]",children:(0,g.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",className:"h-8 w-8 text-orange-500 dark:text-orange-400/80",children:(0,g.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z"})})}),(0,g.jsx)("h2",{className:"text-xl font-semibold text-gray-900/90 dark:text-white/90",children:"Claude Code 로그인 필요"}),(0,g.jsx)("p",{className:"max-w-sm text-sm text-gray-900/40 dark:text-white/40",children:"Claude CLI를 사용하려면 Anthropic 계정으로 로그인해야 합니다."})]}),"idle"===a&&(0,g.jsx)("button",{onClick:d,className:"rounded-xl bg-orange-600 px-6 py-3 text-sm font-semibold text-white transition-colors hover:bg-orange-500",children:"Claude Code 로그인"}),"pending"===a&&(0,g.jsxs)("div",{className:"flex w-full max-w-lg flex-col gap-4",children:[c.length>0&&(0,g.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,g.jsx)("p",{className:"text-xs font-medium text-gray-900/35 dark:text-white/35",children:"브라우저에서 아래 링크를 열어 인증을 완료하세요:"}),c.map(a=>(0,g.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"break-all rounded-lg border border-orange-700/50 bg-orange-950/30 px-4 py-3 text-xs font-mono text-orange-700 transition-colors hover:border-orange-500 hover:text-orange-600 dark:text-orange-300 dark:hover:text-orange-200",children:a},a))]}),b&&(0,g.jsx)("pre",{className:"max-h-48 overflow-y-auto rounded-lg border border-gray-900/[0.07] bg-gray-900/[0.02] px-4 py-3 font-mono text-xs leading-relaxed whitespace-pre-wrap text-gray-900/45 dark:border-white/[0.07] dark:bg-white/[0.02] dark:text-white/45",children:b}),0===c.length&&(0,g.jsxs)("div",{className:"flex items-center justify-center gap-2 text-sm text-gray-900/30 dark:text-white/30",children:[(0,g.jsx)("span",{className:"h-4 w-4 animate-spin rounded-full border-2 border-gray-900/[0.08] border-t-orange-500 dark:border-white/[0.08]"}),"로그인 프로세스를 시작하는 중…"]}),(0,g.jsx)("button",{onClick:e,className:"text-xs text-gray-900/25 transition-colors hover:text-gray-900/50 dark:text-white/25 dark:hover:text-white/50",children:"취소"})]}),"done"===a&&(0,g.jsxs)("div",{className:"flex flex-col items-center gap-2 text-center",children:[(0,g.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-emerald-500/[0.10]",children:(0,g.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",className:"h-6 w-6 text-emerald-500 dark:text-emerald-400",children:(0,g.jsx)("path",{fillRule:"evenodd",d:"M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z",clipRule:"evenodd"})})}),(0,g.jsx)("p",{className:"text-sm font-medium text-emerald-600 dark:text-emerald-400",children:"로그인 완료"}),(0,g.jsx)("p",{className:"text-xs text-gray-900/25 dark:text-white/25",children:"잠시 후 자동으로 이동합니다…"})]}),"error"===a&&(0,g.jsxs)("div",{className:"flex flex-col items-center gap-3 text-center",children:[(0,g.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-red-500/[0.10]",children:(0,g.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor",className:"h-6 w-6 text-red-500 dark:text-red-400",children:(0,g.jsx)("path",{fillRule:"evenodd",d:"M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 5a.75.75 0 01.75.75v3.5a.75.75 0 01-1.5 0v-3.5A.75.75 0 0110 5zm0 9a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})})}),(0,g.jsx)("p",{className:"text-sm text-red-500 dark:text-red-400",children:"로그인 중 문제가 발생했습니다."}),b&&(0,g.jsx)("pre",{className:"max-h-32 w-full max-w-lg overflow-y-auto rounded-lg border border-gray-900/[0.07] bg-gray-900/[0.02] px-4 py-3 font-mono text-xs whitespace-pre-wrap text-gray-900/40 dark:border-white/[0.07] dark:bg-white/[0.02] dark:text-white/40",children:b}),(0,g.jsx)("button",{onClick:d,className:"rounded-xl bg-orange-600 px-6 py-3 text-sm font-semibold text-white transition-colors hover:bg-orange-500",children:"다시 시도"})]})]})}],24431)}];
7
+
8
+ //# sourceMappingURL=%5Broot-of-the-server%5D__0a~4k2j._.js.map