synapse-orch-ai 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1446) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +501 -0
  3. package/backend/core/__init__.py +0 -0
  4. package/backend/core/agent_logger.py +195 -0
  5. package/backend/core/builder_tools.py +1482 -0
  6. package/backend/core/compaction.py +188 -0
  7. package/backend/core/config.py +89 -0
  8. package/backend/core/json_store.py +50 -0
  9. package/backend/core/llm_providers.py +2088 -0
  10. package/backend/core/mcp_client.py +548 -0
  11. package/backend/core/mcp_oauth_state.py +37 -0
  12. package/backend/core/memory.py +714 -0
  13. package/backend/core/messaging/__init__.py +5 -0
  14. package/backend/core/messaging/adapters/__init__.py +1 -0
  15. package/backend/core/messaging/adapters/discord.py +112 -0
  16. package/backend/core/messaging/adapters/slack.py +123 -0
  17. package/backend/core/messaging/adapters/teams.py +102 -0
  18. package/backend/core/messaging/adapters/telegram.py +118 -0
  19. package/backend/core/messaging/adapters/whatsapp.py +216 -0
  20. package/backend/core/messaging/base.py +209 -0
  21. package/backend/core/messaging/manager.py +291 -0
  22. package/backend/core/messaging/markdown.py +171 -0
  23. package/backend/core/messaging/store.py +95 -0
  24. package/backend/core/models.py +154 -0
  25. package/backend/core/models_orchestration.py +123 -0
  26. package/backend/core/models_schedule.py +56 -0
  27. package/backend/core/native_builder/__init__.py +60 -0
  28. package/backend/core/native_builder/agents/agent_creator.json +20 -0
  29. package/backend/core/native_builder/agents/orchestrator_builder.json +15 -0
  30. package/backend/core/native_builder/agents/requirements_analyst.json +21 -0
  31. package/backend/core/native_builder/agents/saver_create.json +28 -0
  32. package/backend/core/native_builder/agents/saver_update.json +29 -0
  33. package/backend/core/native_builder/orchestration.json +515 -0
  34. package/backend/core/native_builder/seed.py +135 -0
  35. package/backend/core/orchestration/__init__.py +5 -0
  36. package/backend/core/orchestration/context.py +630 -0
  37. package/backend/core/orchestration/engine.py +489 -0
  38. package/backend/core/orchestration/logger.py +278 -0
  39. package/backend/core/orchestration/state.py +79 -0
  40. package/backend/core/orchestration/steps.py +1017 -0
  41. package/backend/core/orchestration/summarizer.py +106 -0
  42. package/backend/core/personal_details.py +60 -0
  43. package/backend/core/profiling.py +160 -0
  44. package/backend/core/react_engine.py +1017 -0
  45. package/backend/core/routes/__init__.py +4 -0
  46. package/backend/core/routes/agents.py +303 -0
  47. package/backend/core/routes/auth.py +38 -0
  48. package/backend/core/routes/builder.py +491 -0
  49. package/backend/core/routes/chat.py +151 -0
  50. package/backend/core/routes/data.py +800 -0
  51. package/backend/core/routes/db_configs.py +105 -0
  52. package/backend/core/routes/import_export.py +370 -0
  53. package/backend/core/routes/logs.py +93 -0
  54. package/backend/core/routes/messaging.py +204 -0
  55. package/backend/core/routes/n8n.py +95 -0
  56. package/backend/core/routes/orchestrations.py +364 -0
  57. package/backend/core/routes/profiling.py +83 -0
  58. package/backend/core/routes/repos.py +212 -0
  59. package/backend/core/routes/schedules.py +158 -0
  60. package/backend/core/routes/sessions.py +48 -0
  61. package/backend/core/routes/settings.py +362 -0
  62. package/backend/core/routes/tools.py +416 -0
  63. package/backend/core/routes/usage.py +63 -0
  64. package/backend/core/routes/vault.py +254 -0
  65. package/backend/core/schedule_logger.py +226 -0
  66. package/backend/core/scheduler.py +376 -0
  67. package/backend/core/server.py +658 -0
  68. package/backend/core/session.py +206 -0
  69. package/backend/core/tools.py +344 -0
  70. package/backend/core/usage_tracker.py +417 -0
  71. package/backend/core/vault.py +265 -0
  72. package/backend/main.py +26 -0
  73. package/backend/requirements.txt +24 -0
  74. package/backend/services/__init__.py +0 -0
  75. package/backend/services/code_indexer.py +488 -0
  76. package/backend/services/google.py +343 -0
  77. package/backend/services/synthetic_data.py +140 -0
  78. package/backend/tools/__init__.py +0 -0
  79. package/backend/tools/bash.py +244 -0
  80. package/backend/tools/code_indexer.py +110 -0
  81. package/backend/tools/code_search.py +537 -0
  82. package/backend/tools/collect_data.py +134 -0
  83. package/backend/tools/pdf_parser.py +103 -0
  84. package/backend/tools/personal_details.py +52 -0
  85. package/backend/tools/sandbox.Dockerfile +24 -0
  86. package/backend/tools/sandbox.py +586 -0
  87. package/backend/tools/sql_agent.py +221 -0
  88. package/backend/tools/time.py +283 -0
  89. package/backend/tools/web_scraper.py +765 -0
  90. package/backend/tools/xlsx_parser.py +79 -0
  91. package/bin/synapse +16 -0
  92. package/bin/synapse.bat +36 -0
  93. package/bin/synapse.js +247 -0
  94. package/frontend-build/.next/BUILD_ID +1 -0
  95. package/frontend-build/.next/app-path-routes-manifest.json +22 -0
  96. package/frontend-build/.next/build-manifest.json +21 -0
  97. package/frontend-build/.next/package.json +1 -0
  98. package/frontend-build/.next/prerender-manifest.json +114 -0
  99. package/frontend-build/.next/required-server-files.json +352 -0
  100. package/frontend-build/.next/routes-manifest.json +194 -0
  101. package/frontend-build/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  102. package/frontend-build/.next/server/app/_global-error/page/build-manifest.json +17 -0
  103. package/frontend-build/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  104. package/frontend-build/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  105. package/frontend-build/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  106. package/frontend-build/.next/server/app/_global-error/page.js +9 -0
  107. package/frontend-build/.next/server/app/_global-error/page.js.map +5 -0
  108. package/frontend-build/.next/server/app/_global-error/page.js.nft.json +1 -0
  109. package/frontend-build/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  110. package/frontend-build/.next/server/app/_global-error.html +1 -0
  111. package/frontend-build/.next/server/app/_global-error.meta +15 -0
  112. package/frontend-build/.next/server/app/_global-error.rsc +14 -0
  113. package/frontend-build/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  114. package/frontend-build/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  115. package/frontend-build/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
  116. package/frontend-build/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
  117. package/frontend-build/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  118. package/frontend-build/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  119. package/frontend-build/.next/server/app/_not-found/page/build-manifest.json +17 -0
  120. package/frontend-build/.next/server/app/_not-found/page/next-font-manifest.json +14 -0
  121. package/frontend-build/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  122. package/frontend-build/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  123. package/frontend-build/.next/server/app/_not-found/page.js +13 -0
  124. package/frontend-build/.next/server/app/_not-found/page.js.map +5 -0
  125. package/frontend-build/.next/server/app/_not-found/page.js.nft.json +1 -0
  126. package/frontend-build/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  127. package/frontend-build/.next/server/app/_not-found.html +1 -0
  128. package/frontend-build/.next/server/app/_not-found.meta +16 -0
  129. package/frontend-build/.next/server/app/_not-found.rsc +18 -0
  130. package/frontend-build/.next/server/app/_not-found.segments/_full.segment.rsc +18 -0
  131. package/frontend-build/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
  132. package/frontend-build/.next/server/app/_not-found.segments/_index.segment.rsc +7 -0
  133. package/frontend-build/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  134. package/frontend-build/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
  135. package/frontend-build/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
  136. package/frontend-build/.next/server/app/api/agent-types/route/app-paths-manifest.json +3 -0
  137. package/frontend-build/.next/server/app/api/agent-types/route/build-manifest.json +9 -0
  138. package/frontend-build/.next/server/app/api/agent-types/route/server-reference-manifest.json +4 -0
  139. package/frontend-build/.next/server/app/api/agent-types/route.js +6 -0
  140. package/frontend-build/.next/server/app/api/agent-types/route.js.map +5 -0
  141. package/frontend-build/.next/server/app/api/agent-types/route.js.nft.json +1 -0
  142. package/frontend-build/.next/server/app/api/agent-types/route_client-reference-manifest.js +3 -0
  143. package/frontend-build/.next/server/app/api/agents/generate-prompt/route/app-paths-manifest.json +3 -0
  144. package/frontend-build/.next/server/app/api/agents/generate-prompt/route/build-manifest.json +9 -0
  145. package/frontend-build/.next/server/app/api/agents/generate-prompt/route/server-reference-manifest.json +4 -0
  146. package/frontend-build/.next/server/app/api/agents/generate-prompt/route.js +6 -0
  147. package/frontend-build/.next/server/app/api/agents/generate-prompt/route.js.map +5 -0
  148. package/frontend-build/.next/server/app/api/agents/generate-prompt/route.js.nft.json +1 -0
  149. package/frontend-build/.next/server/app/api/agents/generate-prompt/route_client-reference-manifest.js +3 -0
  150. package/frontend-build/.next/server/app/api/builder/chat/route/app-paths-manifest.json +3 -0
  151. package/frontend-build/.next/server/app/api/builder/chat/route/build-manifest.json +9 -0
  152. package/frontend-build/.next/server/app/api/builder/chat/route/server-reference-manifest.json +4 -0
  153. package/frontend-build/.next/server/app/api/builder/chat/route.js +6 -0
  154. package/frontend-build/.next/server/app/api/builder/chat/route.js.map +5 -0
  155. package/frontend-build/.next/server/app/api/builder/chat/route.js.nft.json +1 -0
  156. package/frontend-build/.next/server/app/api/builder/chat/route_client-reference-manifest.js +3 -0
  157. package/frontend-build/.next/server/app/api/builder/resume/route/app-paths-manifest.json +3 -0
  158. package/frontend-build/.next/server/app/api/builder/resume/route/build-manifest.json +9 -0
  159. package/frontend-build/.next/server/app/api/builder/resume/route/server-reference-manifest.json +4 -0
  160. package/frontend-build/.next/server/app/api/builder/resume/route.js +6 -0
  161. package/frontend-build/.next/server/app/api/builder/resume/route.js.map +5 -0
  162. package/frontend-build/.next/server/app/api/builder/resume/route.js.nft.json +1 -0
  163. package/frontend-build/.next/server/app/api/builder/resume/route_client-reference-manifest.js +3 -0
  164. package/frontend-build/.next/server/app/api/chat/route/app-paths-manifest.json +3 -0
  165. package/frontend-build/.next/server/app/api/chat/route/build-manifest.json +9 -0
  166. package/frontend-build/.next/server/app/api/chat/route/server-reference-manifest.json +4 -0
  167. package/frontend-build/.next/server/app/api/chat/route.js +6 -0
  168. package/frontend-build/.next/server/app/api/chat/route.js.map +5 -0
  169. package/frontend-build/.next/server/app/api/chat/route.js.nft.json +1 -0
  170. package/frontend-build/.next/server/app/api/chat/route_client-reference-manifest.js +3 -0
  171. package/frontend-build/.next/server/app/api/chat/stream/route/app-paths-manifest.json +3 -0
  172. package/frontend-build/.next/server/app/api/chat/stream/route/build-manifest.json +9 -0
  173. package/frontend-build/.next/server/app/api/chat/stream/route/server-reference-manifest.json +4 -0
  174. package/frontend-build/.next/server/app/api/chat/stream/route.js +6 -0
  175. package/frontend-build/.next/server/app/api/chat/stream/route.js.map +5 -0
  176. package/frontend-build/.next/server/app/api/chat/stream/route.js.nft.json +1 -0
  177. package/frontend-build/.next/server/app/api/chat/stream/route_client-reference-manifest.js +3 -0
  178. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route/app-paths-manifest.json +3 -0
  179. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route/build-manifest.json +9 -0
  180. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route/server-reference-manifest.json +4 -0
  181. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route.js +6 -0
  182. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route.js.map +5 -0
  183. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route.js.nft.json +1 -0
  184. package/frontend-build/.next/server/app/api/logs/[type]/[run_id]/route_client-reference-manifest.js +3 -0
  185. package/frontend-build/.next/server/app/api/logs/[type]/route/app-paths-manifest.json +3 -0
  186. package/frontend-build/.next/server/app/api/logs/[type]/route/build-manifest.json +9 -0
  187. package/frontend-build/.next/server/app/api/logs/[type]/route/server-reference-manifest.json +4 -0
  188. package/frontend-build/.next/server/app/api/logs/[type]/route.js +6 -0
  189. package/frontend-build/.next/server/app/api/logs/[type]/route.js.map +5 -0
  190. package/frontend-build/.next/server/app/api/logs/[type]/route.js.nft.json +1 -0
  191. package/frontend-build/.next/server/app/api/logs/[type]/route_client-reference-manifest.js +3 -0
  192. package/frontend-build/.next/server/app/api/models/route/app-paths-manifest.json +3 -0
  193. package/frontend-build/.next/server/app/api/models/route/build-manifest.json +9 -0
  194. package/frontend-build/.next/server/app/api/models/route/server-reference-manifest.json +4 -0
  195. package/frontend-build/.next/server/app/api/models/route.js +6 -0
  196. package/frontend-build/.next/server/app/api/models/route.js.map +5 -0
  197. package/frontend-build/.next/server/app/api/models/route.js.nft.json +1 -0
  198. package/frontend-build/.next/server/app/api/models/route_client-reference-manifest.js +3 -0
  199. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route/app-paths-manifest.json +3 -0
  200. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route/build-manifest.json +9 -0
  201. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route/server-reference-manifest.json +4 -0
  202. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route.js +6 -0
  203. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route.js.map +5 -0
  204. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route.js.nft.json +1 -0
  205. package/frontend-build/.next/server/app/api/orchestrations/[orch_id]/run/route_client-reference-manifest.js +3 -0
  206. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route/app-paths-manifest.json +3 -0
  207. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route/build-manifest.json +9 -0
  208. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route/server-reference-manifest.json +4 -0
  209. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route.js +6 -0
  210. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route.js.map +5 -0
  211. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route.js.nft.json +1 -0
  212. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/human-input/route_client-reference-manifest.js +3 -0
  213. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route/app-paths-manifest.json +3 -0
  214. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route/build-manifest.json +9 -0
  215. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route/server-reference-manifest.json +4 -0
  216. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route.js +6 -0
  217. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route.js.map +5 -0
  218. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route.js.nft.json +1 -0
  219. package/frontend-build/.next/server/app/api/orchestrations/runs/[run_id]/resume/route_client-reference-manifest.js +3 -0
  220. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route/app-paths-manifest.json +3 -0
  221. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route/build-manifest.json +9 -0
  222. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route/server-reference-manifest.json +4 -0
  223. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route.js +6 -0
  224. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route.js.map +5 -0
  225. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route.js.nft.json +1 -0
  226. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/route_client-reference-manifest.js +3 -0
  227. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route/app-paths-manifest.json +3 -0
  228. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route/build-manifest.json +9 -0
  229. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route/server-reference-manifest.json +4 -0
  230. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route.js +6 -0
  231. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route.js.map +5 -0
  232. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route.js.nft.json +1 -0
  233. package/frontend-build/.next/server/app/api/schedules/[schedule_id]/run/route_client-reference-manifest.js +3 -0
  234. package/frontend-build/.next/server/app/api/schedules/route/app-paths-manifest.json +3 -0
  235. package/frontend-build/.next/server/app/api/schedules/route/build-manifest.json +9 -0
  236. package/frontend-build/.next/server/app/api/schedules/route/server-reference-manifest.json +4 -0
  237. package/frontend-build/.next/server/app/api/schedules/route.js +6 -0
  238. package/frontend-build/.next/server/app/api/schedules/route.js.map +5 -0
  239. package/frontend-build/.next/server/app/api/schedules/route.js.nft.json +1 -0
  240. package/frontend-build/.next/server/app/api/schedules/route_client-reference-manifest.js +3 -0
  241. package/frontend-build/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
  242. package/frontend-build/.next/server/app/icon.svg/route/build-manifest.json +9 -0
  243. package/frontend-build/.next/server/app/icon.svg/route.js +6 -0
  244. package/frontend-build/.next/server/app/icon.svg/route.js.map +5 -0
  245. package/frontend-build/.next/server/app/icon.svg/route.js.nft.json +1 -0
  246. package/frontend-build/.next/server/app/icon.svg.body +4 -0
  247. package/frontend-build/.next/server/app/icon.svg.meta +1 -0
  248. package/frontend-build/.next/server/app/index.html +1 -0
  249. package/frontend-build/.next/server/app/index.meta +14 -0
  250. package/frontend-build/.next/server/app/index.rsc +25 -0
  251. package/frontend-build/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  252. package/frontend-build/.next/server/app/index.segments/_full.segment.rsc +25 -0
  253. package/frontend-build/.next/server/app/index.segments/_head.segment.rsc +6 -0
  254. package/frontend-build/.next/server/app/index.segments/_index.segment.rsc +7 -0
  255. package/frontend-build/.next/server/app/index.segments/_tree.segment.rsc +8 -0
  256. package/frontend-build/.next/server/app/page/app-paths-manifest.json +3 -0
  257. package/frontend-build/.next/server/app/page/build-manifest.json +17 -0
  258. package/frontend-build/.next/server/app/page/next-font-manifest.json +14 -0
  259. package/frontend-build/.next/server/app/page/react-loadable-manifest.json +1 -0
  260. package/frontend-build/.next/server/app/page/server-reference-manifest.json +4 -0
  261. package/frontend-build/.next/server/app/page.js +14 -0
  262. package/frontend-build/.next/server/app/page.js.map +5 -0
  263. package/frontend-build/.next/server/app/page.js.nft.json +1 -0
  264. package/frontend-build/.next/server/app/page_client-reference-manifest.js +3 -0
  265. package/frontend-build/.next/server/app/settings/[tab]/page/app-paths-manifest.json +3 -0
  266. package/frontend-build/.next/server/app/settings/[tab]/page/build-manifest.json +17 -0
  267. package/frontend-build/.next/server/app/settings/[tab]/page/next-font-manifest.json +14 -0
  268. package/frontend-build/.next/server/app/settings/[tab]/page/react-loadable-manifest.json +1 -0
  269. package/frontend-build/.next/server/app/settings/[tab]/page/server-reference-manifest.json +4 -0
  270. package/frontend-build/.next/server/app/settings/[tab]/page.js +16 -0
  271. package/frontend-build/.next/server/app/settings/[tab]/page.js.map +5 -0
  272. package/frontend-build/.next/server/app/settings/[tab]/page.js.nft.json +1 -0
  273. package/frontend-build/.next/server/app/settings/[tab]/page_client-reference-manifest.js +3 -0
  274. package/frontend-build/.next/server/app-paths-manifest.json +22 -0
  275. package/frontend-build/.next/server/chunks/0zjb_server_app_api_orchestrations_runs_[run_id]_human-input_route_actions_0oj9y8~.js +3 -0
  276. package/frontend-build/.next/server/chunks/0zjb_server_app_api_orchestrations_runs_[run_id]_resume_route_actions_0cdumha.js +3 -0
  277. package/frontend-build/.next/server/chunks/[root-of-the-server]__00sljji._.js +3 -0
  278. package/frontend-build/.next/server/chunks/[root-of-the-server]__02je2si._.js +3 -0
  279. package/frontend-build/.next/server/chunks/[root-of-the-server]__03e7r3a._.js +3 -0
  280. package/frontend-build/.next/server/chunks/[root-of-the-server]__053~3b.._.js +3 -0
  281. package/frontend-build/.next/server/chunks/[root-of-the-server]__0afb7iz._.js +3 -0
  282. package/frontend-build/.next/server/chunks/[root-of-the-server]__0bc5iuk._.js +3 -0
  283. package/frontend-build/.next/server/chunks/[root-of-the-server]__0bygctj._.js +3 -0
  284. package/frontend-build/.next/server/chunks/[root-of-the-server]__0c7o1w_._.js +3 -0
  285. package/frontend-build/.next/server/chunks/[root-of-the-server]__0cy6bl4._.js +3 -0
  286. package/frontend-build/.next/server/chunks/[root-of-the-server]__0dmb8p1._.js +3 -0
  287. package/frontend-build/.next/server/chunks/[root-of-the-server]__0gx4j6x._.js +3 -0
  288. package/frontend-build/.next/server/chunks/[root-of-the-server]__0h2-vsq._.js +3 -0
  289. package/frontend-build/.next/server/chunks/[root-of-the-server]__0j8-xkl._.js +13 -0
  290. package/frontend-build/.next/server/chunks/[root-of-the-server]__0kkdqe3._.js +3 -0
  291. package/frontend-build/.next/server/chunks/[root-of-the-server]__0n1p1jk._.js +3 -0
  292. package/frontend-build/.next/server/chunks/[root-of-the-server]__0xccig4._.js +3 -0
  293. package/frontend-build/.next/server/chunks/[root-of-the-server]__13dxl3m._.js +3 -0
  294. package/frontend-build/.next/server/chunks/[turbopack]_runtime.js +903 -0
  295. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_agent-types_route_actions_11dsnho.js +3 -0
  296. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_agents_generate-prompt_route_actions_0sqc90~.js +3 -0
  297. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_builder_chat_route_actions_0mserwk.js +3 -0
  298. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_builder_resume_route_actions_10w~8ke.js +3 -0
  299. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_chat_route_actions_0tmcf6..js +3 -0
  300. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_chat_stream_route_actions_0ef7us3.js +3 -0
  301. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_logs_[type]_[run_id]_route_actions_061uvw9.js +3 -0
  302. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_logs_[type]_route_actions_0jpmtla.js +3 -0
  303. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_models_route_actions_0vfccm4.js +3 -0
  304. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_orchestrations_[orch_id]_run_route_actions_019s..3.js +3 -0
  305. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_schedules_[schedule_id]_route_actions_0vtfp83.js +3 -0
  306. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_schedules_[schedule_id]_run_route_actions_04d41xi.js +3 -0
  307. package/frontend-build/.next/server/chunks/_next-internal_server_app_api_schedules_route_actions_129kjsa.js +3 -0
  308. package/frontend-build/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_0-0ehc~.js +3 -0
  309. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__08gf6t7._.js +3 -0
  310. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__09z7o2x._.js +19 -0
  311. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__0fql_-o._.js +33 -0
  312. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__0hfoz0-._.js +3 -0
  313. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__0p3x1m7._.js +3 -0
  314. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__0rj.gz.._.js +3 -0
  315. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__0ssmzpx._.js +3 -0
  316. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__0uo38ip._.js +3 -0
  317. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__10unlca._.js +3 -0
  318. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__10xgshr._.js +33 -0
  319. package/frontend-build/.next/server/chunks/ssr/[root-of-the-server]__12b-xga._.js +3 -0
  320. package/frontend-build/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
  321. package/frontend-build/.next/server/chunks/ssr/_0ayz11y._.js +4 -0
  322. package/frontend-build/.next/server/chunks/ssr/_0df15zg._.js +48 -0
  323. package/frontend-build/.next/server/chunks/ssr/_0yv_lu6._.js +3 -0
  324. package/frontend-build/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0k77kol.js +3 -0
  325. package/frontend-build/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0eq97pa.js +3 -0
  326. package/frontend-build/.next/server/chunks/ssr/_next-internal_server_app_page_actions_09-gtaw.js +3 -0
  327. package/frontend-build/.next/server/chunks/ssr/_next-internal_server_app_settings_[tab]_page_actions_0ltd7re.js +3 -0
  328. package/frontend-build/.next/server/chunks/ssr/node_modules_09w7yel._.js +33 -0
  329. package/frontend-build/.next/server/chunks/ssr/node_modules_0_ce7g1._.js +3 -0
  330. package/frontend-build/.next/server/chunks/ssr/node_modules_0y8evf1._.js +3 -0
  331. package/frontend-build/.next/server/chunks/ssr/node_modules_0zhhlrq._.js +6 -0
  332. package/frontend-build/.next/server/chunks/ssr/node_modules_1041ur2._.js +6 -0
  333. package/frontend-build/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_0ag5..o._.js +3 -0
  334. package/frontend-build/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_loader-circle_0hcf_w-.js +3 -0
  335. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_0xdsm99._.js +6 -0
  336. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_client_components_0inhx6q._.js +3 -0
  337. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0ghu-f7.js +3 -0
  338. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0lgvd_..js +3 -0
  339. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0cjv-23.js +3 -0
  340. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08ib7il.js +4 -0
  341. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0k.0n04.js +4 -0
  342. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0rc3ul_.js +4 -0
  343. package/frontend-build/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13pf1l2.js +4 -0
  344. package/frontend-build/.next/server/chunks/ssr/src_app_page_tsx_0ss2.w7._.js +3 -0
  345. package/frontend-build/.next/server/chunks/ssr/src_app_settings_layout_tsx_0j6i0d.._.js +3 -0
  346. package/frontend-build/.next/server/chunks/ssr/src_app_settings_loading_tsx_0.wko.c._.js +3 -0
  347. package/frontend-build/.next/server/functions-config-manifest.json +29 -0
  348. package/frontend-build/.next/server/middleware-build-manifest.js +21 -0
  349. package/frontend-build/.next/server/middleware-manifest.json +6 -0
  350. package/frontend-build/.next/server/next-font-manifest.js +1 -0
  351. package/frontend-build/.next/server/next-font-manifest.json +28 -0
  352. package/frontend-build/.next/server/pages/404.html +1 -0
  353. package/frontend-build/.next/server/pages/500.html +1 -0
  354. package/frontend-build/.next/server/pages-manifest.json +4 -0
  355. package/frontend-build/.next/server/prefetch-hints.json +1 -0
  356. package/frontend-build/.next/server/server-reference-manifest.js +1 -0
  357. package/frontend-build/.next/server/server-reference-manifest.json +5 -0
  358. package/frontend-build/.next/static/2m6rYBnEW4xy8D-1wzwqJ/_buildManifest.js +18 -0
  359. package/frontend-build/.next/static/2m6rYBnEW4xy8D-1wzwqJ/_clientMiddlewareManifest.js +1 -0
  360. package/frontend-build/.next/static/2m6rYBnEW4xy8D-1wzwqJ/_ssgManifest.js +1 -0
  361. package/frontend-build/.next/static/chunks/02i7dfk78~t~2.js +4 -0
  362. package/frontend-build/.next/static/chunks/03~yq9q893hmn.js +1 -0
  363. package/frontend-build/.next/static/chunks/04v~lhs2c9fvw.js +1 -0
  364. package/frontend-build/.next/static/chunks/05dz57h.5fg3-.js +2 -0
  365. package/frontend-build/.next/static/chunks/078eei4f0ilb1.js +1 -0
  366. package/frontend-build/.next/static/chunks/0h4a4y-~puu.x.js +1 -0
  367. package/frontend-build/.next/static/chunks/0ipoy_nm8gvxg.js +1 -0
  368. package/frontend-build/.next/static/chunks/0j29xn-eqm8iz.css +5 -0
  369. package/frontend-build/.next/static/chunks/0js-43escs3uy.js +1 -0
  370. package/frontend-build/.next/static/chunks/0jvmviuftg5e2.css +1 -0
  371. package/frontend-build/.next/static/chunks/0mim5z5~_34t1.js +31 -0
  372. package/frontend-build/.next/static/chunks/0n_h7vo0a.b~e.js +46 -0
  373. package/frontend-build/.next/static/chunks/0obt-c9w~4_5f.js +1 -0
  374. package/frontend-build/.next/static/chunks/0uuygh822k98..css +1 -0
  375. package/frontend-build/.next/static/chunks/0v9xc_wrxht3o.js +1 -0
  376. package/frontend-build/.next/static/chunks/0vn.s1wic2p_8.js +1 -0
  377. package/frontend-build/.next/static/chunks/0x6cedgvid-.9.js +2 -0
  378. package/frontend-build/.next/static/chunks/11evimknhsnll.js +1 -0
  379. package/frontend-build/.next/static/chunks/127bqzm7d2i2u.js +1 -0
  380. package/frontend-build/.next/static/chunks/turbopack-1606efl0p3-k2.js +1 -0
  381. package/frontend-build/.next/static/media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2 +0 -0
  382. package/frontend-build/.next/static/media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2 +0 -0
  383. package/frontend-build/.next/static/media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2 +0 -0
  384. package/frontend-build/.next/static/media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2 +0 -0
  385. package/frontend-build/.next/static/media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2 +0 -0
  386. package/frontend-build/.next/static/media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2 +0 -0
  387. package/frontend-build/.next/static/media/3fe682a82f50d426-s.09q3q1i5159bl.woff2 +0 -0
  388. package/frontend-build/.next/static/media/4fa387ec64143e14-s.0q3udbd2bu5yp.woff2 +0 -0
  389. package/frontend-build/.next/static/media/5476f68d60460930-s.0wxq9webf.ew4.woff2 +0 -0
  390. package/frontend-build/.next/static/media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2 +0 -0
  391. package/frontend-build/.next/static/media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.woff2 +0 -0
  392. package/frontend-build/.next/static/media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2 +0 -0
  393. package/frontend-build/.next/static/media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2 +0 -0
  394. package/frontend-build/.next/static/media/797e433ab948586e-s.p.0.q-h669a_dqa.woff2 +0 -0
  395. package/frontend-build/.next/static/media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2 +0 -0
  396. package/frontend-build/.next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2 +0 -0
  397. package/frontend-build/.next/static/media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2 +0 -0
  398. package/frontend-build/.next/static/media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2 +0 -0
  399. package/frontend-build/.next/static/media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2 +0 -0
  400. package/frontend-build/.next/static/media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2 +0 -0
  401. package/frontend-build/.next/static/media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2 +0 -0
  402. package/frontend-build/.next/static/media/bbc41e54d2fcbd21-s.0gw~uztddq1df.woff2 +0 -0
  403. package/frontend-build/.next/static/media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2 +0 -0
  404. package/frontend-build/.next/static/media/cc545e633e20c56d-s.0dza.stei.9v7.woff2 +0 -0
  405. package/frontend-build/.next/static/media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2 +0 -0
  406. package/frontend-build/.next/static/media/icon.08txep8y1sjlr.svg +4 -0
  407. package/frontend-build/node_modules/@img/colour/color.cjs +1594 -0
  408. package/frontend-build/node_modules/@img/colour/index.cjs +1 -0
  409. package/frontend-build/node_modules/@img/colour/package.json +45 -0
  410. package/frontend-build/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  411. package/frontend-build/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  412. package/frontend-build/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
  413. package/frontend-build/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  414. package/frontend-build/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
  415. package/frontend-build/node_modules/@img/sharp-libvips-linux-x64/versions.json +30 -0
  416. package/frontend-build/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  417. package/frontend-build/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  418. package/frontend-build/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  419. package/frontend-build/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  420. package/frontend-build/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  421. package/frontend-build/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  422. package/frontend-build/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  423. package/frontend-build/node_modules/@img/sharp-linux-x64/package.json +46 -0
  424. package/frontend-build/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  425. package/frontend-build/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  426. package/frontend-build/node_modules/@next/env/dist/index.js +1 -0
  427. package/frontend-build/node_modules/@next/env/package.json +36 -0
  428. package/frontend-build/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
  429. package/frontend-build/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
  430. package/frontend-build/node_modules/@swc/helpers/package.json +471 -0
  431. package/frontend-build/node_modules/client-only/index.js +0 -0
  432. package/frontend-build/node_modules/client-only/package.json +19 -0
  433. package/frontend-build/node_modules/detect-libc/lib/detect-libc.js +313 -0
  434. package/frontend-build/node_modules/detect-libc/lib/elf.js +39 -0
  435. package/frontend-build/node_modules/detect-libc/lib/filesystem.js +51 -0
  436. package/frontend-build/node_modules/detect-libc/lib/process.js +24 -0
  437. package/frontend-build/node_modules/detect-libc/package.json +44 -0
  438. package/frontend-build/node_modules/next/dist/build/adapter/setup-node-env.external.js +15 -0
  439. package/frontend-build/node_modules/next/dist/build/define-env.js +255 -0
  440. package/frontend-build/node_modules/next/dist/build/duration-to-string.js +99 -0
  441. package/frontend-build/node_modules/next/dist/build/get-supported-browsers.js +38 -0
  442. package/frontend-build/node_modules/next/dist/build/next-config-ts/require-hook.js +85 -0
  443. package/frontend-build/node_modules/next/dist/build/next-config-ts/transpile-config.js +251 -0
  444. package/frontend-build/node_modules/next/dist/build/output/format.js +84 -0
  445. package/frontend-build/node_modules/next/dist/build/output/log.js +135 -0
  446. package/frontend-build/node_modules/next/dist/build/segment-config/app/app-segment-config.js +162 -0
  447. package/frontend-build/node_modules/next/dist/build/segment-config/app/app-segments.js +137 -0
  448. package/frontend-build/node_modules/next/dist/build/segment-config/app/collect-root-param-keys.js +52 -0
  449. package/frontend-build/node_modules/next/dist/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js +137 -0
  450. package/frontend-build/node_modules/next/dist/build/static-paths/app.js +735 -0
  451. package/frontend-build/node_modules/next/dist/build/static-paths/pages.js +169 -0
  452. package/frontend-build/node_modules/next/dist/build/static-paths/utils.js +119 -0
  453. package/frontend-build/node_modules/next/dist/build/swc/helpers.js +15 -0
  454. package/frontend-build/node_modules/next/dist/build/swc/index.js +1348 -0
  455. package/frontend-build/node_modules/next/dist/build/swc/install-bindings.js +30 -0
  456. package/frontend-build/node_modules/next/dist/build/swc/jest-transformer.js +76 -0
  457. package/frontend-build/node_modules/next/dist/build/swc/loaderWorkerPool.js +40 -0
  458. package/frontend-build/node_modules/next/dist/build/swc/options.js +403 -0
  459. package/frontend-build/node_modules/next/dist/build/swc/types.js +6 -0
  460. package/frontend-build/node_modules/next/dist/build/utils.js +1215 -0
  461. package/frontend-build/node_modules/next/dist/cli/next-test.js +170 -0
  462. package/frontend-build/node_modules/next/dist/client/add-base-path.js +24 -0
  463. package/frontend-build/node_modules/next/dist/client/app-call-server.js +34 -0
  464. package/frontend-build/node_modules/next/dist/client/app-find-source-map-url.js +39 -0
  465. package/frontend-build/node_modules/next/dist/client/assign-location.js +29 -0
  466. package/frontend-build/node_modules/next/dist/client/components/app-router-announcer.js +78 -0
  467. package/frontend-build/node_modules/next/dist/client/components/app-router-headers.js +138 -0
  468. package/frontend-build/node_modules/next/dist/client/components/app-router-instance.js +397 -0
  469. package/frontend-build/node_modules/next/dist/client/components/app-router-utils.js +62 -0
  470. package/frontend-build/node_modules/next/dist/client/components/app-router.js +514 -0
  471. package/frontend-build/node_modules/next/dist/client/components/builtin/default.js +35 -0
  472. package/frontend-build/node_modules/next/dist/client/components/builtin/error-styles.js +165 -0
  473. package/frontend-build/node_modules/next/dist/client/components/builtin/global-error.js +100 -0
  474. package/frontend-build/node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js +52 -0
  475. package/frontend-build/node_modules/next/dist/client/components/error-boundary.js +144 -0
  476. package/frontend-build/node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js +86 -0
  477. package/frontend-build/node_modules/next/dist/client/components/errors/root-error-boundary.js +41 -0
  478. package/frontend-build/node_modules/next/dist/client/components/forbidden.js +48 -0
  479. package/frontend-build/node_modules/next/dist/client/components/handle-isr-error.js +30 -0
  480. package/frontend-build/node_modules/next/dist/client/components/hooks-server-context.js +42 -0
  481. package/frontend-build/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js +125 -0
  482. package/frontend-build/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +72 -0
  483. package/frontend-build/node_modules/next/dist/client/components/is-next-router-error.js +23 -0
  484. package/frontend-build/node_modules/next/dist/client/components/links.js +299 -0
  485. package/frontend-build/node_modules/next/dist/client/components/match-segments.js +32 -0
  486. package/frontend-build/node_modules/next/dist/client/components/nav-failure-handler.js +61 -0
  487. package/frontend-build/node_modules/next/dist/client/components/navigation-devtools.js +126 -0
  488. package/frontend-build/node_modules/next/dist/client/components/navigation-untracked.js +67 -0
  489. package/frontend-build/node_modules/next/dist/client/components/navigation.js +225 -0
  490. package/frontend-build/node_modules/next/dist/client/components/navigation.react-server.js +75 -0
  491. package/frontend-build/node_modules/next/dist/client/components/not-found.js +42 -0
  492. package/frontend-build/node_modules/next/dist/client/components/readonly-url-search-params.js +41 -0
  493. package/frontend-build/node_modules/next/dist/client/components/redirect-boundary.js +107 -0
  494. package/frontend-build/node_modules/next/dist/client/components/redirect-error.js +43 -0
  495. package/frontend-build/node_modules/next/dist/client/components/redirect-status-code.js +24 -0
  496. package/frontend-build/node_modules/next/dist/client/components/redirect.js +91 -0
  497. package/frontend-build/node_modules/next/dist/client/components/router-reducer/compute-changed-path.js +201 -0
  498. package/frontend-build/node_modules/next/dist/client/components/router-reducer/create-href-from-url.js +21 -0
  499. package/frontend-build/node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js +153 -0
  500. package/frontend-build/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js +32 -0
  501. package/frontend-build/node_modules/next/dist/client/components/router-reducer/fetch-server-response.js +457 -0
  502. package/frontend-build/node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js +59 -0
  503. package/frontend-build/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js +1341 -0
  504. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/committed-state.js +49 -0
  505. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js +63 -0
  506. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js +38 -0
  507. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js +23 -0
  508. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js +56 -0
  509. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js +83 -0
  510. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js +62 -0
  511. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js +320 -0
  512. package/frontend-build/node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js +58 -0
  513. package/frontend-build/node_modules/next/dist/client/components/router-reducer/router-reducer-types.js +70 -0
  514. package/frontend-build/node_modules/next/dist/client/components/router-reducer/router-reducer.js +66 -0
  515. package/frontend-build/node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js +60 -0
  516. package/frontend-build/node_modules/next/dist/client/components/segment-cache/bfcache.js +128 -0
  517. package/frontend-build/node_modules/next/dist/client/components/segment-cache/cache-key.js +28 -0
  518. package/frontend-build/node_modules/next/dist/client/components/segment-cache/cache-map.js +305 -0
  519. package/frontend-build/node_modules/next/dist/client/components/segment-cache/cache.js +1933 -0
  520. package/frontend-build/node_modules/next/dist/client/components/segment-cache/lru.js +152 -0
  521. package/frontend-build/node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.js +194 -0
  522. package/frontend-build/node_modules/next/dist/client/components/segment-cache/navigation.js +597 -0
  523. package/frontend-build/node_modules/next/dist/client/components/segment-cache/optimistic-routes.js +543 -0
  524. package/frontend-build/node_modules/next/dist/client/components/segment-cache/prefetch.js +31 -0
  525. package/frontend-build/node_modules/next/dist/client/components/segment-cache/scheduler.js +1249 -0
  526. package/frontend-build/node_modules/next/dist/client/components/segment-cache/types.js +69 -0
  527. package/frontend-build/node_modules/next/dist/client/components/segment-cache/vary-path.js +278 -0
  528. package/frontend-build/node_modules/next/dist/client/components/static-generation-bailout.js +42 -0
  529. package/frontend-build/node_modules/next/dist/client/components/unauthorized.js +49 -0
  530. package/frontend-build/node_modules/next/dist/client/components/unrecognized-action-error.js +39 -0
  531. package/frontend-build/node_modules/next/dist/client/components/unresolved-thenable.js +23 -0
  532. package/frontend-build/node_modules/next/dist/client/components/unstable-rethrow.browser.js +28 -0
  533. package/frontend-build/node_modules/next/dist/client/components/unstable-rethrow.js +25 -0
  534. package/frontend-build/node_modules/next/dist/client/components/unstable-rethrow.server.js +32 -0
  535. package/frontend-build/node_modules/next/dist/client/components/use-action-queue.js +148 -0
  536. package/frontend-build/node_modules/next/dist/client/dev/debug-channel.js +72 -0
  537. package/frontend-build/node_modules/next/dist/client/flight-data-helpers.js +232 -0
  538. package/frontend-build/node_modules/next/dist/client/has-base-path.js +23 -0
  539. package/frontend-build/node_modules/next/dist/client/lib/console.js +177 -0
  540. package/frontend-build/node_modules/next/dist/client/lib/javascript-url.js +32 -0
  541. package/frontend-build/node_modules/next/dist/client/navigation-build-id.js +53 -0
  542. package/frontend-build/node_modules/next/dist/client/normalize-trailing-slash.js +36 -0
  543. package/frontend-build/node_modules/next/dist/client/remove-base-path.js +32 -0
  544. package/frontend-build/node_modules/next/dist/client/route-params.js +230 -0
  545. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +339 -0
  546. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/cookies/package.json +1 -0
  547. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/ponyfill/index.js +46 -0
  548. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/ponyfill/package.json +1 -0
  549. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/abort-controller.js.text.js +1 -0
  550. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/console.js.text.js +1 -0
  551. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/events.js.text.js +1 -0
  552. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/index.js +5 -0
  553. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/load.js +18713 -0
  554. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/package.json +1 -0
  555. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/stream.js +44 -0
  556. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/timers.js.text.js +1 -0
  557. package/frontend-build/node_modules/next/dist/compiled/@edge-runtime/primitives/url.js.text.js +1 -0
  558. package/frontend-build/node_modules/next/dist/compiled/@hapi/accept/index.js +1 -0
  559. package/frontend-build/node_modules/next/dist/compiled/@hapi/accept/package.json +1 -0
  560. package/frontend-build/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/index.js +1 -0
  561. package/frontend-build/node_modules/next/dist/compiled/@mswjs/interceptors/ClientRequest/package.json +1 -0
  562. package/frontend-build/node_modules/next/dist/compiled/@napi-rs/triples/index.js +1 -0
  563. package/frontend-build/node_modules/next/dist/compiled/@napi-rs/triples/package.json +1 -0
  564. package/frontend-build/node_modules/next/dist/compiled/@opentelemetry/api/index.js +1 -0
  565. package/frontend-build/node_modules/next/dist/compiled/@opentelemetry/api/package.json +1 -0
  566. package/frontend-build/node_modules/next/dist/compiled/async-retry/index.js +1 -0
  567. package/frontend-build/node_modules/next/dist/compiled/async-retry/package.json +1 -0
  568. package/frontend-build/node_modules/next/dist/compiled/async-sema/index.js +1 -0
  569. package/frontend-build/node_modules/next/dist/compiled/async-sema/package.json +1 -0
  570. package/frontend-build/node_modules/next/dist/compiled/busboy/index.js +1 -0
  571. package/frontend-build/node_modules/next/dist/compiled/busboy/package.json +1 -0
  572. package/frontend-build/node_modules/next/dist/compiled/bytes/index.js +8 -0
  573. package/frontend-build/node_modules/next/dist/compiled/bytes/package.json +1 -0
  574. package/frontend-build/node_modules/next/dist/compiled/ci-info/index.js +1 -0
  575. package/frontend-build/node_modules/next/dist/compiled/ci-info/package.json +1 -0
  576. package/frontend-build/node_modules/next/dist/compiled/commander/index.js +1 -0
  577. package/frontend-build/node_modules/next/dist/compiled/commander/package.json +1 -0
  578. package/frontend-build/node_modules/next/dist/compiled/comment-json/index.js +7 -0
  579. package/frontend-build/node_modules/next/dist/compiled/comment-json/package.json +1 -0
  580. package/frontend-build/node_modules/next/dist/compiled/compression/index.js +58 -0
  581. package/frontend-build/node_modules/next/dist/compiled/compression/package.json +1 -0
  582. package/frontend-build/node_modules/next/dist/compiled/conf/index.js +15 -0
  583. package/frontend-build/node_modules/next/dist/compiled/conf/package.json +1 -0
  584. package/frontend-build/node_modules/next/dist/compiled/content-disposition/index.js +6 -0
  585. package/frontend-build/node_modules/next/dist/compiled/content-disposition/package.json +1 -0
  586. package/frontend-build/node_modules/next/dist/compiled/cookie/index.js +7 -0
  587. package/frontend-build/node_modules/next/dist/compiled/cookie/package.json +1 -0
  588. package/frontend-build/node_modules/next/dist/compiled/cross-spawn/index.js +1 -0
  589. package/frontend-build/node_modules/next/dist/compiled/cross-spawn/package.json +1 -0
  590. package/frontend-build/node_modules/next/dist/compiled/debug/index.js +1 -0
  591. package/frontend-build/node_modules/next/dist/compiled/debug/package.json +1 -0
  592. package/frontend-build/node_modules/next/dist/compiled/edge-runtime/index.js +1 -0
  593. package/frontend-build/node_modules/next/dist/compiled/edge-runtime/package.json +1 -0
  594. package/frontend-build/node_modules/next/dist/compiled/find-up/index.js +1 -0
  595. package/frontend-build/node_modules/next/dist/compiled/find-up/package.json +1 -0
  596. package/frontend-build/node_modules/next/dist/compiled/fresh/index.js +8 -0
  597. package/frontend-build/node_modules/next/dist/compiled/fresh/package.json +1 -0
  598. package/frontend-build/node_modules/next/dist/compiled/http-proxy/index.js +34 -0
  599. package/frontend-build/node_modules/next/dist/compiled/http-proxy/package.json +1 -0
  600. package/frontend-build/node_modules/next/dist/compiled/image-detector/detector.js +1 -0
  601. package/frontend-build/node_modules/next/dist/compiled/image-size/index.js +1 -0
  602. package/frontend-build/node_modules/next/dist/compiled/image-size/package.json +1 -0
  603. package/frontend-build/node_modules/next/dist/compiled/ipaddr.js/ipaddr.js +1 -0
  604. package/frontend-build/node_modules/next/dist/compiled/ipaddr.js/package.json +1 -0
  605. package/frontend-build/node_modules/next/dist/compiled/is-animated/index.js +1 -0
  606. package/frontend-build/node_modules/next/dist/compiled/is-animated/package.json +1 -0
  607. package/frontend-build/node_modules/next/dist/compiled/is-docker/index.js +1 -0
  608. package/frontend-build/node_modules/next/dist/compiled/is-docker/package.json +1 -0
  609. package/frontend-build/node_modules/next/dist/compiled/is-wsl/index.js +1 -0
  610. package/frontend-build/node_modules/next/dist/compiled/is-wsl/package.json +1 -0
  611. package/frontend-build/node_modules/next/dist/compiled/jsonwebtoken/index.js +11 -0
  612. package/frontend-build/node_modules/next/dist/compiled/jsonwebtoken/package.json +1 -0
  613. package/frontend-build/node_modules/next/dist/compiled/nanoid/index.cjs +1 -0
  614. package/frontend-build/node_modules/next/dist/compiled/nanoid/package.json +1 -0
  615. package/frontend-build/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +54 -0
  616. package/frontend-build/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +54 -0
  617. package/frontend-build/node_modules/next/dist/compiled/next-server/app-route-turbo.runtime.prod.js +6 -0
  618. package/frontend-build/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +20 -0
  619. package/frontend-build/node_modules/next/dist/compiled/p-limit/index.js +1 -0
  620. package/frontend-build/node_modules/next/dist/compiled/p-limit/package.json +1 -0
  621. package/frontend-build/node_modules/next/dist/compiled/p-queue/index.js +1 -0
  622. package/frontend-build/node_modules/next/dist/compiled/p-queue/package.json +1 -0
  623. package/frontend-build/node_modules/next/dist/compiled/path-browserify/index.js +1 -0
  624. package/frontend-build/node_modules/next/dist/compiled/path-browserify/package.json +1 -0
  625. package/frontend-build/node_modules/next/dist/compiled/path-to-regexp/index.js +1 -0
  626. package/frontend-build/node_modules/next/dist/compiled/path-to-regexp/package.json +1 -0
  627. package/frontend-build/node_modules/next/dist/compiled/picomatch/index.js +1 -0
  628. package/frontend-build/node_modules/next/dist/compiled/picomatch/package.json +1 -0
  629. package/frontend-build/node_modules/next/dist/compiled/react-is/cjs/react-is.development.js +133 -0
  630. package/frontend-build/node_modules/next/dist/compiled/react-is/cjs/react-is.production.js +130 -0
  631. package/frontend-build/node_modules/next/dist/compiled/react-is/index.js +7 -0
  632. package/frontend-build/node_modules/next/dist/compiled/react-is/package.json +26 -0
  633. package/frontend-build/node_modules/next/dist/compiled/regenerator-runtime/package.json +19 -0
  634. package/frontend-build/node_modules/next/dist/compiled/regenerator-runtime/runtime.js +729 -0
  635. package/frontend-build/node_modules/next/dist/compiled/semver/index.js +1 -0
  636. package/frontend-build/node_modules/next/dist/compiled/semver/package.json +1 -0
  637. package/frontend-build/node_modules/next/dist/compiled/send/index.js +70 -0
  638. package/frontend-build/node_modules/next/dist/compiled/send/package.json +1 -0
  639. package/frontend-build/node_modules/next/dist/compiled/source-map/package.json +1 -0
  640. package/frontend-build/node_modules/next/dist/compiled/source-map/source-map.js +1 -0
  641. package/frontend-build/node_modules/next/dist/compiled/stacktrace-parser/package.json +1 -0
  642. package/frontend-build/node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js +1 -0
  643. package/frontend-build/node_modules/next/dist/compiled/string-hash/index.js +1 -0
  644. package/frontend-build/node_modules/next/dist/compiled/string-hash/package.json +1 -0
  645. package/frontend-build/node_modules/next/dist/compiled/strip-ansi/index.js +1 -0
  646. package/frontend-build/node_modules/next/dist/compiled/strip-ansi/package.json +1 -0
  647. package/frontend-build/node_modules/next/dist/compiled/superstruct/index.cjs +1 -0
  648. package/frontend-build/node_modules/next/dist/compiled/superstruct/package.json +1 -0
  649. package/frontend-build/node_modules/next/dist/compiled/tar/index.min.js +1 -0
  650. package/frontend-build/node_modules/next/dist/compiled/tar/package.json +1 -0
  651. package/frontend-build/node_modules/next/dist/compiled/text-table/index.js +1 -0
  652. package/frontend-build/node_modules/next/dist/compiled/text-table/package.json +1 -0
  653. package/frontend-build/node_modules/next/dist/compiled/watchpack/package.json +1 -0
  654. package/frontend-build/node_modules/next/dist/compiled/watchpack/watchpack.js +1 -0
  655. package/frontend-build/node_modules/next/dist/compiled/ws/index.js +1 -0
  656. package/frontend-build/node_modules/next/dist/compiled/ws/package.json +1 -0
  657. package/frontend-build/node_modules/next/dist/compiled/zod/index.cjs +1 -0
  658. package/frontend-build/node_modules/next/dist/compiled/zod/package.json +1 -0
  659. package/frontend-build/node_modules/next/dist/compiled/zod-validation-error/index.js +1 -0
  660. package/frontend-build/node_modules/next/dist/compiled/zod-validation-error/package.json +1 -0
  661. package/frontend-build/node_modules/next/dist/experimental/testmode/context.js +57 -0
  662. package/frontend-build/node_modules/next/dist/experimental/testmode/fetch.js +142 -0
  663. package/frontend-build/node_modules/next/dist/experimental/testmode/httpget.js +26 -0
  664. package/frontend-build/node_modules/next/dist/experimental/testmode/server-edge.js +32 -0
  665. package/frontend-build/node_modules/next/dist/experimental/testmode/server.js +62 -0
  666. package/frontend-build/node_modules/next/dist/export/helpers/create-incremental-cache.js +61 -0
  667. package/frontend-build/node_modules/next/dist/lib/batcher.js +65 -0
  668. package/frontend-build/node_modules/next/dist/lib/build-custom-route.js +46 -0
  669. package/frontend-build/node_modules/next/dist/lib/bundler.js +97 -0
  670. package/frontend-build/node_modules/next/dist/lib/client-and-server-references.js +54 -0
  671. package/frontend-build/node_modules/next/dist/lib/coalesced-function.js +39 -0
  672. package/frontend-build/node_modules/next/dist/lib/compile-error.js +14 -0
  673. package/frontend-build/node_modules/next/dist/lib/constants.js +420 -0
  674. package/frontend-build/node_modules/next/dist/lib/create-client-router-filter.js +67 -0
  675. package/frontend-build/node_modules/next/dist/lib/default-transpiled-packages.json +1 -0
  676. package/frontend-build/node_modules/next/dist/lib/detached-promise.js +32 -0
  677. package/frontend-build/node_modules/next/dist/lib/detect-typo.js +51 -0
  678. package/frontend-build/node_modules/next/dist/lib/download-swc.js +183 -0
  679. package/frontend-build/node_modules/next/dist/lib/error-telemetry-utils.js +42 -0
  680. package/frontend-build/node_modules/next/dist/lib/fallback.js +100 -0
  681. package/frontend-build/node_modules/next/dist/lib/fatal-error.js +14 -0
  682. package/frontend-build/node_modules/next/dist/lib/file-exists.js +53 -0
  683. package/frontend-build/node_modules/next/dist/lib/find-config.js +102 -0
  684. package/frontend-build/node_modules/next/dist/lib/find-pages-dir.js +65 -0
  685. package/frontend-build/node_modules/next/dist/lib/find-root.js +126 -0
  686. package/frontend-build/node_modules/next/dist/lib/format-cli-help-output.js +84 -0
  687. package/frontend-build/node_modules/next/dist/lib/format-dynamic-import-path.js +24 -0
  688. package/frontend-build/node_modules/next/dist/lib/format-server-error.js +75 -0
  689. package/frontend-build/node_modules/next/dist/lib/framework/boundary-components.js +62 -0
  690. package/frontend-build/node_modules/next/dist/lib/framework/boundary-constants.js +36 -0
  691. package/frontend-build/node_modules/next/dist/lib/fs/rename.js +87 -0
  692. package/frontend-build/node_modules/next/dist/lib/fs/write-atomic.js +28 -0
  693. package/frontend-build/node_modules/next/dist/lib/generate-interception-routes-rewrites.js +52 -0
  694. package/frontend-build/node_modules/next/dist/lib/get-files-in-dir.js +33 -0
  695. package/frontend-build/node_modules/next/dist/lib/get-network-host.js +44 -0
  696. package/frontend-build/node_modules/next/dist/lib/get-package-version.js +118 -0
  697. package/frontend-build/node_modules/next/dist/lib/get-project-dir.js +51 -0
  698. package/frontend-build/node_modules/next/dist/lib/has-necessary-dependencies.js +49 -0
  699. package/frontend-build/node_modules/next/dist/lib/helpers/get-cache-directory.js +66 -0
  700. package/frontend-build/node_modules/next/dist/lib/helpers/get-npx-command.js +29 -0
  701. package/frontend-build/node_modules/next/dist/lib/helpers/get-online.js +50 -0
  702. package/frontend-build/node_modules/next/dist/lib/helpers/get-pkg-manager.js +63 -0
  703. package/frontend-build/node_modules/next/dist/lib/helpers/get-registry.js +45 -0
  704. package/frontend-build/node_modules/next/dist/lib/helpers/get-reserved-port.js +116 -0
  705. package/frontend-build/node_modules/next/dist/lib/helpers/install.js +83 -0
  706. package/frontend-build/node_modules/next/dist/lib/import-next-warning.js +50 -0
  707. package/frontend-build/node_modules/next/dist/lib/inline-static-env.js +112 -0
  708. package/frontend-build/node_modules/next/dist/lib/install-dependencies.js +40 -0
  709. package/frontend-build/node_modules/next/dist/lib/interop-default.js +16 -0
  710. package/frontend-build/node_modules/next/dist/lib/is-api-route.js +15 -0
  711. package/frontend-build/node_modules/next/dist/lib/is-app-page-route.js +15 -0
  712. package/frontend-build/node_modules/next/dist/lib/is-app-route-route.js +15 -0
  713. package/frontend-build/node_modules/next/dist/lib/is-edge-runtime.js +16 -0
  714. package/frontend-build/node_modules/next/dist/lib/is-error.js +78 -0
  715. package/frontend-build/node_modules/next/dist/lib/is-interception-route-rewrite.js +18 -0
  716. package/frontend-build/node_modules/next/dist/lib/is-internal-component.js +36 -0
  717. package/frontend-build/node_modules/next/dist/lib/is-serializable-props.js +106 -0
  718. package/frontend-build/node_modules/next/dist/lib/known-edge-safe-packages.json +1 -0
  719. package/frontend-build/node_modules/next/dist/lib/load-custom-routes.js +594 -0
  720. package/frontend-build/node_modules/next/dist/lib/memory/gc-observer.js +53 -0
  721. package/frontend-build/node_modules/next/dist/lib/memory/shutdown.js +29 -0
  722. package/frontend-build/node_modules/next/dist/lib/memory/startup.js +47 -0
  723. package/frontend-build/node_modules/next/dist/lib/memory/trace.js +109 -0
  724. package/frontend-build/node_modules/next/dist/lib/metadata/constants.js +40 -0
  725. package/frontend-build/node_modules/next/dist/lib/metadata/default-metadata.js +82 -0
  726. package/frontend-build/node_modules/next/dist/lib/metadata/generate/icon-mark.js +22 -0
  727. package/frontend-build/node_modules/next/dist/lib/metadata/generate/utils.js +52 -0
  728. package/frontend-build/node_modules/next/dist/lib/metadata/get-metadata-route.js +123 -0
  729. package/frontend-build/node_modules/next/dist/lib/metadata/is-metadata-route.js +221 -0
  730. package/frontend-build/node_modules/next/dist/lib/metadata/metadata-context.js +18 -0
  731. package/frontend-build/node_modules/next/dist/lib/metadata/metadata.js +1686 -0
  732. package/frontend-build/node_modules/next/dist/lib/metadata/resolve-metadata.js +884 -0
  733. package/frontend-build/node_modules/next/dist/lib/metadata/resolvers/resolve-basics.js +232 -0
  734. package/frontend-build/node_modules/next/dist/lib/metadata/resolvers/resolve-icons.js +56 -0
  735. package/frontend-build/node_modules/next/dist/lib/metadata/resolvers/resolve-opengraph.js +199 -0
  736. package/frontend-build/node_modules/next/dist/lib/metadata/resolvers/resolve-title.js +40 -0
  737. package/frontend-build/node_modules/next/dist/lib/metadata/resolvers/resolve-url.js +135 -0
  738. package/frontend-build/node_modules/next/dist/lib/metadata/types/alternative-urls-types.js +7 -0
  739. package/frontend-build/node_modules/next/dist/lib/metadata/types/extra-types.js +9 -0
  740. package/frontend-build/node_modules/next/dist/lib/metadata/types/icons.js +6 -0
  741. package/frontend-build/node_modules/next/dist/lib/metadata/types/manifest-types.js +6 -0
  742. package/frontend-build/node_modules/next/dist/lib/metadata/types/metadata-interface.js +18 -0
  743. package/frontend-build/node_modules/next/dist/lib/metadata/types/metadata-types.js +10 -0
  744. package/frontend-build/node_modules/next/dist/lib/metadata/types/opengraph-types.js +6 -0
  745. package/frontend-build/node_modules/next/dist/lib/metadata/types/resolvers.js +6 -0
  746. package/frontend-build/node_modules/next/dist/lib/metadata/types/twitter-types.js +7 -0
  747. package/frontend-build/node_modules/next/dist/lib/mime-type.js +20 -0
  748. package/frontend-build/node_modules/next/dist/lib/mkcert.js +204 -0
  749. package/frontend-build/node_modules/next/dist/lib/multi-file-writer.js +75 -0
  750. package/frontend-build/node_modules/next/dist/lib/needs-experimental-react.js +16 -0
  751. package/frontend-build/node_modules/next/dist/lib/non-nullable.js +15 -0
  752. package/frontend-build/node_modules/next/dist/lib/normalize-path.js +21 -0
  753. package/frontend-build/node_modules/next/dist/lib/oxford-comma-list.js +15 -0
  754. package/frontend-build/node_modules/next/dist/lib/page-types.js +18 -0
  755. package/frontend-build/node_modules/next/dist/lib/patch-incorrect-lockfile.js +185 -0
  756. package/frontend-build/node_modules/next/dist/lib/pick.js +19 -0
  757. package/frontend-build/node_modules/next/dist/lib/picocolors.js +177 -0
  758. package/frontend-build/node_modules/next/dist/lib/pretty-bytes.js +74 -0
  759. package/frontend-build/node_modules/next/dist/lib/realpath.js +20 -0
  760. package/frontend-build/node_modules/next/dist/lib/recursive-copy.js +76 -0
  761. package/frontend-build/node_modules/next/dist/lib/recursive-delete.js +137 -0
  762. package/frontend-build/node_modules/next/dist/lib/recursive-readdir.js +124 -0
  763. package/frontend-build/node_modules/next/dist/lib/redirect-status.js +46 -0
  764. package/frontend-build/node_modules/next/dist/lib/require-instrumentation-client.js +26 -0
  765. package/frontend-build/node_modules/next/dist/lib/resolve-build-paths.js +154 -0
  766. package/frontend-build/node_modules/next/dist/lib/resolve-from.js +65 -0
  767. package/frontend-build/node_modules/next/dist/lib/route-pattern-normalizer.js +107 -0
  768. package/frontend-build/node_modules/next/dist/lib/scheduler.js +64 -0
  769. package/frontend-build/node_modules/next/dist/lib/semver-noop.js +18 -0
  770. package/frontend-build/node_modules/next/dist/lib/server-external-packages.jsonc +103 -0
  771. package/frontend-build/node_modules/next/dist/lib/setup-exception-listeners.js +11 -0
  772. package/frontend-build/node_modules/next/dist/lib/static-env.js +92 -0
  773. package/frontend-build/node_modules/next/dist/lib/try-to-parse-path.js +67 -0
  774. package/frontend-build/node_modules/next/dist/lib/turbopack-warning.js +185 -0
  775. package/frontend-build/node_modules/next/dist/lib/typescript/diagnosticFormatter.js +243 -0
  776. package/frontend-build/node_modules/next/dist/lib/typescript/getTypeScriptConfiguration.js +153 -0
  777. package/frontend-build/node_modules/next/dist/lib/typescript/getTypeScriptIntent.js +52 -0
  778. package/frontend-build/node_modules/next/dist/lib/typescript/missingDependencyError.js +27 -0
  779. package/frontend-build/node_modules/next/dist/lib/typescript/runTypeCheck.js +149 -0
  780. package/frontend-build/node_modules/next/dist/lib/typescript/type-paths.js +51 -0
  781. package/frontend-build/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js +75 -0
  782. package/frontend-build/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js +395 -0
  783. package/frontend-build/node_modules/next/dist/lib/url.js +75 -0
  784. package/frontend-build/node_modules/next/dist/lib/verify-partytown-setup.js +115 -0
  785. package/frontend-build/node_modules/next/dist/lib/verify-root-layout.js +165 -0
  786. package/frontend-build/node_modules/next/dist/lib/verify-typescript-setup.js +228 -0
  787. package/frontend-build/node_modules/next/dist/lib/wait.js +19 -0
  788. package/frontend-build/node_modules/next/dist/lib/with-promise-cache.js +24 -0
  789. package/frontend-build/node_modules/next/dist/lib/worker.js +234 -0
  790. package/frontend-build/node_modules/next/dist/server/ReactDOMServerPages.js +16 -0
  791. package/frontend-build/node_modules/next/dist/server/accept-header.js +132 -0
  792. package/frontend-build/node_modules/next/dist/server/after/after-context.js +140 -0
  793. package/frontend-build/node_modules/next/dist/server/after/after.js +26 -0
  794. package/frontend-build/node_modules/next/dist/server/after/awaiter.js +74 -0
  795. package/frontend-build/node_modules/next/dist/server/after/builtin-request-context.js +38 -0
  796. package/frontend-build/node_modules/next/dist/server/after/index.js +21 -0
  797. package/frontend-build/node_modules/next/dist/server/after/run-with-after.js +35 -0
  798. package/frontend-build/node_modules/next/dist/server/api-utils/get-cookie-parser.js +22 -0
  799. package/frontend-build/node_modules/next/dist/server/api-utils/index.js +201 -0
  800. package/frontend-build/node_modules/next/dist/server/api-utils/node/api-resolver.js +395 -0
  801. package/frontend-build/node_modules/next/dist/server/api-utils/node/parse-body.js +79 -0
  802. package/frontend-build/node_modules/next/dist/server/api-utils/node/try-get-preview-data.js +86 -0
  803. package/frontend-build/node_modules/next/dist/server/api-utils/web.js +17 -0
  804. package/frontend-build/node_modules/next/dist/server/app-render/action-async-storage-instance.js +14 -0
  805. package/frontend-build/node_modules/next/dist/server/app-render/action-async-storage.external.js +13 -0
  806. package/frontend-build/node_modules/next/dist/server/app-render/action-handler.js +1020 -0
  807. package/frontend-build/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js +14 -0
  808. package/frontend-build/node_modules/next/dist/server/app-render/after-task-async-storage.external.js +13 -0
  809. package/frontend-build/node_modules/next/dist/server/app-render/app-render-prerender-utils.js +167 -0
  810. package/frontend-build/node_modules/next/dist/server/app-render/app-render-render-utils.js +76 -0
  811. package/frontend-build/node_modules/next/dist/server/app-render/app-render-scheduling.js +188 -0
  812. package/frontend-build/node_modules/next/dist/server/app-render/app-render.js +4469 -0
  813. package/frontend-build/node_modules/next/dist/server/app-render/async-local-storage.js +76 -0
  814. package/frontend-build/node_modules/next/dist/server/app-render/cache-signal.js +181 -0
  815. package/frontend-build/node_modules/next/dist/server/app-render/collect-segment-data.js +600 -0
  816. package/frontend-build/node_modules/next/dist/server/app-render/console-async-storage-instance.js +14 -0
  817. package/frontend-build/node_modules/next/dist/server/app-render/console-async-storage.external.js +13 -0
  818. package/frontend-build/node_modules/next/dist/server/app-render/create-component-styles-and-scripts.js +33 -0
  819. package/frontend-build/node_modules/next/dist/server/app-render/create-component-tree.js +840 -0
  820. package/frontend-build/node_modules/next/dist/server/app-render/create-error-handler.js +189 -0
  821. package/frontend-build/node_modules/next/dist/server/app-render/create-flight-router-state-from-loader-tree.js +102 -0
  822. package/frontend-build/node_modules/next/dist/server/app-render/csrf-protection.js +86 -0
  823. package/frontend-build/node_modules/next/dist/server/app-render/debug-channel-server.js +30 -0
  824. package/frontend-build/node_modules/next/dist/server/app-render/debug-channel-server.web.js +71 -0
  825. package/frontend-build/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js +14 -0
  826. package/frontend-build/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js +13 -0
  827. package/frontend-build/node_modules/next/dist/server/app-render/dynamic-rendering.js +1144 -0
  828. package/frontend-build/node_modules/next/dist/server/app-render/encryption-utils-server.js +114 -0
  829. package/frontend-build/node_modules/next/dist/server/app-render/encryption-utils.js +93 -0
  830. package/frontend-build/node_modules/next/dist/server/app-render/encryption.js +259 -0
  831. package/frontend-build/node_modules/next/dist/server/app-render/entry-base.js +256 -0
  832. package/frontend-build/node_modules/next/dist/server/app-render/flight-render-result.js +28 -0
  833. package/frontend-build/node_modules/next/dist/server/app-render/get-asset-query-string.js +29 -0
  834. package/frontend-build/node_modules/next/dist/server/app-render/get-css-inlined-link-tags.js +49 -0
  835. package/frontend-build/node_modules/next/dist/server/app-render/get-layer-assets.js +65 -0
  836. package/frontend-build/node_modules/next/dist/server/app-render/get-preloadable-fonts.js +39 -0
  837. package/frontend-build/node_modules/next/dist/server/app-render/get-script-nonce-from-header.js +44 -0
  838. package/frontend-build/node_modules/next/dist/server/app-render/get-short-dynamic-param-type.js +25 -0
  839. package/frontend-build/node_modules/next/dist/server/app-render/has-loading-component-in-tree.js +19 -0
  840. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +13 -0
  841. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/boundary-impl.js +103 -0
  842. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +18 -0
  843. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/instant-config.js +181 -0
  844. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/instant-samples-client.js +128 -0
  845. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +432 -0
  846. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +33 -0
  847. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/instant-validation.js +713 -0
  848. package/frontend-build/node_modules/next/dist/server/app-render/instant-validation/stream-utils.js +96 -0
  849. package/frontend-build/node_modules/next/dist/server/app-render/interop-default.js +17 -0
  850. package/frontend-build/node_modules/next/dist/server/app-render/make-get-server-inserted-html.js +92 -0
  851. package/frontend-build/node_modules/next/dist/server/app-render/manifests-singleton.js +264 -0
  852. package/frontend-build/node_modules/next/dist/server/app-render/metadata-insertion/create-server-inserted-metadata.js +28 -0
  853. package/frontend-build/node_modules/next/dist/server/app-render/module-loading/track-dynamic-import.js +57 -0
  854. package/frontend-build/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js +32 -0
  855. package/frontend-build/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js +66 -0
  856. package/frontend-build/node_modules/next/dist/server/app-render/parse-and-validate-flight-router-state.js +49 -0
  857. package/frontend-build/node_modules/next/dist/server/app-render/postponed-state.js +157 -0
  858. package/frontend-build/node_modules/next/dist/server/app-render/prospective-render-utils.js +74 -0
  859. package/frontend-build/node_modules/next/dist/server/app-render/react-large-shell-error.js +17 -0
  860. package/frontend-build/node_modules/next/dist/server/app-render/react-server.node.js +39 -0
  861. package/frontend-build/node_modules/next/dist/server/app-render/render-css-resource.js +52 -0
  862. package/frontend-build/node_modules/next/dist/server/app-render/required-scripts.js +76 -0
  863. package/frontend-build/node_modules/next/dist/server/app-render/rsc/postpone.js +18 -0
  864. package/frontend-build/node_modules/next/dist/server/app-render/rsc/preloads.js +74 -0
  865. package/frontend-build/node_modules/next/dist/server/app-render/rsc/taint.js +79 -0
  866. package/frontend-build/node_modules/next/dist/server/app-render/segment-explorer-path.js +128 -0
  867. package/frontend-build/node_modules/next/dist/server/app-render/server-inserted-html.js +77 -0
  868. package/frontend-build/node_modules/next/dist/server/app-render/staged-rendering.js +343 -0
  869. package/frontend-build/node_modules/next/dist/server/app-render/stale-time.js +111 -0
  870. package/frontend-build/node_modules/next/dist/server/app-render/stream-ops.js +106 -0
  871. package/frontend-build/node_modules/next/dist/server/app-render/stream-ops.web.js +163 -0
  872. package/frontend-build/node_modules/next/dist/server/app-render/strip-flight-headers.js +18 -0
  873. package/frontend-build/node_modules/next/dist/server/app-render/types.js +65 -0
  874. package/frontend-build/node_modules/next/dist/server/app-render/use-flight-response.js +214 -0
  875. package/frontend-build/node_modules/next/dist/server/app-render/vary-params.js +336 -0
  876. package/frontend-build/node_modules/next/dist/server/app-render/walk-tree-with-flight-router-state.js +232 -0
  877. package/frontend-build/node_modules/next/dist/server/app-render/work-async-storage-instance.js +14 -0
  878. package/frontend-build/node_modules/next/dist/server/app-render/work-async-storage.external.js +13 -0
  879. package/frontend-build/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +14 -0
  880. package/frontend-build/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +280 -0
  881. package/frontend-build/node_modules/next/dist/server/async-storage/draft-mode-provider.js +62 -0
  882. package/frontend-build/node_modules/next/dist/server/async-storage/request-store.js +144 -0
  883. package/frontend-build/node_modules/next/dist/server/async-storage/with-store.js +6 -0
  884. package/frontend-build/node_modules/next/dist/server/async-storage/work-store.js +91 -0
  885. package/frontend-build/node_modules/next/dist/server/base-http/helpers.js +36 -0
  886. package/frontend-build/node_modules/next/dist/server/base-http/index.js +54 -0
  887. package/frontend-build/node_modules/next/dist/server/base-http/node.js +147 -0
  888. package/frontend-build/node_modules/next/dist/server/base-http/web.js +124 -0
  889. package/frontend-build/node_modules/next/dist/server/base-server.js +1874 -0
  890. package/frontend-build/node_modules/next/dist/server/body-streams.js +114 -0
  891. package/frontend-build/node_modules/next/dist/server/cache-dir.js +26 -0
  892. package/frontend-build/node_modules/next/dist/server/capsize-font-metrics.json +181516 -0
  893. package/frontend-build/node_modules/next/dist/server/ci-info.js +41 -0
  894. package/frontend-build/node_modules/next/dist/server/client-component-renderer-logger.js +70 -0
  895. package/frontend-build/node_modules/next/dist/server/config-schema.js +718 -0
  896. package/frontend-build/node_modules/next/dist/server/config-shared.js +369 -0
  897. package/frontend-build/node_modules/next/dist/server/config-utils.js +185 -0
  898. package/frontend-build/node_modules/next/dist/server/config.js +1545 -0
  899. package/frontend-build/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js +96 -0
  900. package/frontend-build/node_modules/next/dist/server/crypto-utils.js +70 -0
  901. package/frontend-build/node_modules/next/dist/server/dev/browser-logs/file-logger.js +186 -0
  902. package/frontend-build/node_modules/next/dist/server/dev/browser-logs/receive-logs.js +558 -0
  903. package/frontend-build/node_modules/next/dist/server/dev/browser-logs/source-map.js +222 -0
  904. package/frontend-build/node_modules/next/dist/server/dev/debug-channel.js +87 -0
  905. package/frontend-build/node_modules/next/dist/server/dev/dev-indicator-server-state.js +15 -0
  906. package/frontend-build/node_modules/next/dist/server/dev/get-source-map-from-file.js +100 -0
  907. package/frontend-build/node_modules/next/dist/server/dev/hot-middleware.js +274 -0
  908. package/frontend-build/node_modules/next/dist/server/dev/hot-reloader-rspack.js +171 -0
  909. package/frontend-build/node_modules/next/dist/server/dev/hot-reloader-shared-utils.js +56 -0
  910. package/frontend-build/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1480 -0
  911. package/frontend-build/node_modules/next/dist/server/dev/hot-reloader-types.js +58 -0
  912. package/frontend-build/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1386 -0
  913. package/frontend-build/node_modules/next/dist/server/dev/log-requests.js +149 -0
  914. package/frontend-build/node_modules/next/dist/server/dev/messages.js +74 -0
  915. package/frontend-build/node_modules/next/dist/server/dev/middleware-turbopack.js +403 -0
  916. package/frontend-build/node_modules/next/dist/server/dev/middleware-webpack.js +483 -0
  917. package/frontend-build/node_modules/next/dist/server/dev/node-stack-frames.js +72 -0
  918. package/frontend-build/node_modules/next/dist/server/dev/on-demand-entry-handler.js +773 -0
  919. package/frontend-build/node_modules/next/dist/server/dev/parse-version-info.js +108 -0
  920. package/frontend-build/node_modules/next/dist/server/dev/require-cache.js +79 -0
  921. package/frontend-build/node_modules/next/dist/server/dev/serialized-errors.js +67 -0
  922. package/frontend-build/node_modules/next/dist/server/dev/server-action-logger.js +37 -0
  923. package/frontend-build/node_modules/next/dist/server/dev/static-paths-worker.js +104 -0
  924. package/frontend-build/node_modules/next/dist/server/dev/turbopack-utils.js +687 -0
  925. package/frontend-build/node_modules/next/dist/server/dynamic-rendering-utils.js +108 -0
  926. package/frontend-build/node_modules/next/dist/server/font-utils.js +43 -0
  927. package/frontend-build/node_modules/next/dist/server/get-app-route-from-entrypoint.js +30 -0
  928. package/frontend-build/node_modules/next/dist/server/get-page-files.js +23 -0
  929. package/frontend-build/node_modules/next/dist/server/get-route-from-entrypoint.js +35 -0
  930. package/frontend-build/node_modules/next/dist/server/htmlescape.js +37 -0
  931. package/frontend-build/node_modules/next/dist/server/image-optimizer.js +1220 -0
  932. package/frontend-build/node_modules/next/dist/server/instrumentation/types.js +6 -0
  933. package/frontend-build/node_modules/next/dist/server/instrumentation/utils.js +21 -0
  934. package/frontend-build/node_modules/next/dist/server/internal-utils.js +39 -0
  935. package/frontend-build/node_modules/next/dist/server/is-private-ip.js +36 -0
  936. package/frontend-build/node_modules/next/dist/server/lib/app-dir-module.js +59 -0
  937. package/frontend-build/node_modules/next/dist/server/lib/app-info-log.js +132 -0
  938. package/frontend-build/node_modules/next/dist/server/lib/async-callback-set.js +29 -0
  939. package/frontend-build/node_modules/next/dist/server/lib/cache-control.js +22 -0
  940. package/frontend-build/node_modules/next/dist/server/lib/cache-handlers/default.external.js +18 -0
  941. package/frontend-build/node_modules/next/dist/server/lib/cache-handlers/default.js +160 -0
  942. package/frontend-build/node_modules/next/dist/server/lib/cache-handlers/types.js +8 -0
  943. package/frontend-build/node_modules/next/dist/server/lib/chrome-devtools-workspace.js +116 -0
  944. package/frontend-build/node_modules/next/dist/server/lib/clone-response.js +77 -0
  945. package/frontend-build/node_modules/next/dist/server/lib/cpu-profile.js +59 -0
  946. package/frontend-build/node_modules/next/dist/server/lib/decode-query-path-parameter.js +26 -0
  947. package/frontend-build/node_modules/next/dist/server/lib/dedupe-fetch.js +163 -0
  948. package/frontend-build/node_modules/next/dist/server/lib/dev-bundler-service.js +95 -0
  949. package/frontend-build/node_modules/next/dist/server/lib/disk-lru-cache.external.js +57 -0
  950. package/frontend-build/node_modules/next/dist/server/lib/etag.js +56 -0
  951. package/frontend-build/node_modules/next/dist/server/lib/experimental/create-env-definitions.js +48 -0
  952. package/frontend-build/node_modules/next/dist/server/lib/experimental/ppr.js +47 -0
  953. package/frontend-build/node_modules/next/dist/server/lib/find-page-file.js +147 -0
  954. package/frontend-build/node_modules/next/dist/server/lib/fix-mojibake.js +25 -0
  955. package/frontend-build/node_modules/next/dist/server/lib/format-hostname.js +16 -0
  956. package/frontend-build/node_modules/next/dist/server/lib/i18n-provider.js +129 -0
  957. package/frontend-build/node_modules/next/dist/server/lib/implicit-tags.js +77 -0
  958. package/frontend-build/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +335 -0
  959. package/frontend-build/node_modules/next/dist/server/lib/incremental-cache/index.js +501 -0
  960. package/frontend-build/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +57 -0
  961. package/frontend-build/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +73 -0
  962. package/frontend-build/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js +55 -0
  963. package/frontend-build/node_modules/next/dist/server/lib/install-code-frame.js +22 -0
  964. package/frontend-build/node_modules/next/dist/server/lib/is-ipv6.js +41 -0
  965. package/frontend-build/node_modules/next/dist/server/lib/lazy-result.js +46 -0
  966. package/frontend-build/node_modules/next/dist/server/lib/lru-cache.js +191 -0
  967. package/frontend-build/node_modules/next/dist/server/lib/match-next-data-pathname.js +18 -0
  968. package/frontend-build/node_modules/next/dist/server/lib/mock-request.js +416 -0
  969. package/frontend-build/node_modules/next/dist/server/lib/module-loader/module-loader.js +8 -0
  970. package/frontend-build/node_modules/next/dist/server/lib/module-loader/node-module-loader.js +25 -0
  971. package/frontend-build/node_modules/next/dist/server/lib/module-loader/route-module-loader.js +26 -0
  972. package/frontend-build/node_modules/next/dist/server/lib/node-fs-methods.js +28 -0
  973. package/frontend-build/node_modules/next/dist/server/lib/parse-stack.js +46 -0
  974. package/frontend-build/node_modules/next/dist/server/lib/patch-fetch.js +978 -0
  975. package/frontend-build/node_modules/next/dist/server/lib/patch-set-header.js +38 -0
  976. package/frontend-build/node_modules/next/dist/server/lib/postponed-request-body.js +64 -0
  977. package/frontend-build/node_modules/next/dist/server/lib/render-server.js +155 -0
  978. package/frontend-build/node_modules/next/dist/server/lib/router-server.js +696 -0
  979. package/frontend-build/node_modules/next/dist/server/lib/router-utils/block-cross-site-dev.js +110 -0
  980. package/frontend-build/node_modules/next/dist/server/lib/router-utils/build-data-route.js +48 -0
  981. package/frontend-build/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.js +50 -0
  982. package/frontend-build/node_modules/next/dist/server/lib/router-utils/cache-life-type-utils.js +211 -0
  983. package/frontend-build/node_modules/next/dist/server/lib/router-utils/decode-path-params.js +42 -0
  984. package/frontend-build/node_modules/next/dist/server/lib/router-utils/filesystem.js +591 -0
  985. package/frontend-build/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js +89 -0
  986. package/frontend-build/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js +96 -0
  987. package/frontend-build/node_modules/next/dist/server/lib/router-utils/is-postpone.js +16 -0
  988. package/frontend-build/node_modules/next/dist/server/lib/router-utils/proxy-request.js +118 -0
  989. package/frontend-build/node_modules/next/dist/server/lib/router-utils/resolve-routes.js +629 -0
  990. package/frontend-build/node_modules/next/dist/server/lib/router-utils/route-types-utils.js +286 -0
  991. package/frontend-build/node_modules/next/dist/server/lib/router-utils/router-server-context.js +26 -0
  992. package/frontend-build/node_modules/next/dist/server/lib/router-utils/typegen.js +858 -0
  993. package/frontend-build/node_modules/next/dist/server/lib/router-utils/types.js +6 -0
  994. package/frontend-build/node_modules/next/dist/server/lib/server-action-request-meta.js +53 -0
  995. package/frontend-build/node_modules/next/dist/server/lib/server-ipc/utils.js +81 -0
  996. package/frontend-build/node_modules/next/dist/server/lib/source-maps.js +196 -0
  997. package/frontend-build/node_modules/next/dist/server/lib/start-server.js +494 -0
  998. package/frontend-build/node_modules/next/dist/server/lib/streaming-metadata.js +38 -0
  999. package/frontend-build/node_modules/next/dist/server/lib/to-route.js +37 -0
  1000. package/frontend-build/node_modules/next/dist/server/lib/trace/constants.js +203 -0
  1001. package/frontend-build/node_modules/next/dist/server/lib/trace/tracer.js +280 -0
  1002. package/frontend-build/node_modules/next/dist/server/lib/trace/utils.js +16 -0
  1003. package/frontend-build/node_modules/next/dist/server/lib/types.js +6 -0
  1004. package/frontend-build/node_modules/next/dist/server/lib/utils.js +278 -0
  1005. package/frontend-build/node_modules/next/dist/server/lib/worker-utils.js +36 -0
  1006. package/frontend-build/node_modules/next/dist/server/load-components.js +179 -0
  1007. package/frontend-build/node_modules/next/dist/server/load-default-error-components.js +41 -0
  1008. package/frontend-build/node_modules/next/dist/server/load-manifest.external.js +117 -0
  1009. package/frontend-build/node_modules/next/dist/server/match-bundle.js +25 -0
  1010. package/frontend-build/node_modules/next/dist/server/mcp/get-mcp-middleware.js +49 -0
  1011. package/frontend-build/node_modules/next/dist/server/mcp/get-or-create-mcp-server.js +41 -0
  1012. package/frontend-build/node_modules/next/dist/server/mcp/mcp-telemetry-tracker.js +82 -0
  1013. package/frontend-build/node_modules/next/dist/server/mcp/tools/get-errors.js +114 -0
  1014. package/frontend-build/node_modules/next/dist/server/mcp/tools/get-logs.js +67 -0
  1015. package/frontend-build/node_modules/next/dist/server/mcp/tools/get-page-metadata.js +188 -0
  1016. package/frontend-build/node_modules/next/dist/server/mcp/tools/get-project-metadata.js +59 -0
  1017. package/frontend-build/node_modules/next/dist/server/mcp/tools/get-routes.js +136 -0
  1018. package/frontend-build/node_modules/next/dist/server/mcp/tools/get-server-action-by-id.js +121 -0
  1019. package/frontend-build/node_modules/next/dist/server/mcp/tools/next-instance-error-state.js +31 -0
  1020. package/frontend-build/node_modules/next/dist/server/mcp/tools/utils/browser-communication.js +90 -0
  1021. package/frontend-build/node_modules/next/dist/server/mcp/tools/utils/format-errors.js +137 -0
  1022. package/frontend-build/node_modules/next/dist/server/next-server.js +1429 -0
  1023. package/frontend-build/node_modules/next/dist/server/next-typescript.js +13 -0
  1024. package/frontend-build/node_modules/next/dist/server/next.js +455 -0
  1025. package/frontend-build/node_modules/next/dist/server/node-environment-baseline.js +25 -0
  1026. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js +301 -0
  1027. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/console-exit.js +49 -0
  1028. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/console-file.js +56 -0
  1029. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/date.js +52 -0
  1030. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/error-inspect.js +8 -0
  1031. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js +577 -0
  1032. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/global-behaviors.js +33 -0
  1033. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/io-utils.js +195 -0
  1034. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/node-crypto.js +103 -0
  1035. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/process-error-handlers.js +91 -0
  1036. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/random.js +28 -0
  1037. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js +508 -0
  1038. package/frontend-build/node_modules/next/dist/server/node-environment-extensions/web-crypto.js +45 -0
  1039. package/frontend-build/node_modules/next/dist/server/node-environment.js +19 -0
  1040. package/frontend-build/node_modules/next/dist/server/node-polyfill-crypto.js +21 -0
  1041. package/frontend-build/node_modules/next/dist/server/normalizers/absolute-filename-normalizer.js +33 -0
  1042. package/frontend-build/node_modules/next/dist/server/normalizers/built/app/app-bundle-path-normalizer.js +54 -0
  1043. package/frontend-build/node_modules/next/dist/server/normalizers/built/app/app-filename-normalizer.js +22 -0
  1044. package/frontend-build/node_modules/next/dist/server/normalizers/built/app/app-page-normalizer.js +40 -0
  1045. package/frontend-build/node_modules/next/dist/server/normalizers/built/app/app-pathname-normalizer.js +55 -0
  1046. package/frontend-build/node_modules/next/dist/server/normalizers/built/app/index.js +42 -0
  1047. package/frontend-build/node_modules/next/dist/server/normalizers/built/pages/index.js +44 -0
  1048. package/frontend-build/node_modules/next/dist/server/normalizers/built/pages/pages-bundle-path-normalizer.js +55 -0
  1049. package/frontend-build/node_modules/next/dist/server/normalizers/built/pages/pages-filename-normalizer.js +22 -0
  1050. package/frontend-build/node_modules/next/dist/server/normalizers/built/pages/pages-page-normalizer.js +19 -0
  1051. package/frontend-build/node_modules/next/dist/server/normalizers/built/pages/pages-pathname-normalizer.js +19 -0
  1052. package/frontend-build/node_modules/next/dist/server/normalizers/locale-route-normalizer.js +26 -0
  1053. package/frontend-build/node_modules/next/dist/server/normalizers/normalizer.js +6 -0
  1054. package/frontend-build/node_modules/next/dist/server/normalizers/normalizers.js +23 -0
  1055. package/frontend-build/node_modules/next/dist/server/normalizers/prefixing-normalizer.js +26 -0
  1056. package/frontend-build/node_modules/next/dist/server/normalizers/request/base-path.js +25 -0
  1057. package/frontend-build/node_modules/next/dist/server/normalizers/request/next-data.js +38 -0
  1058. package/frontend-build/node_modules/next/dist/server/normalizers/request/pathname-normalizer.js +6 -0
  1059. package/frontend-build/node_modules/next/dist/server/normalizers/request/prefix.js +39 -0
  1060. package/frontend-build/node_modules/next/dist/server/normalizers/request/rsc.js +19 -0
  1061. package/frontend-build/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.js +33 -0
  1062. package/frontend-build/node_modules/next/dist/server/normalizers/request/suffix.js +27 -0
  1063. package/frontend-build/node_modules/next/dist/server/normalizers/underscore-normalizer.js +17 -0
  1064. package/frontend-build/node_modules/next/dist/server/normalizers/wrap-normalizer-fn.js +17 -0
  1065. package/frontend-build/node_modules/next/dist/server/og/image-response.js +53 -0
  1066. package/frontend-build/node_modules/next/dist/server/patch-error-inspect.js +453 -0
  1067. package/frontend-build/node_modules/next/dist/server/pipe-readable.js +140 -0
  1068. package/frontend-build/node_modules/next/dist/server/post-process.js +39 -0
  1069. package/frontend-build/node_modules/next/dist/server/render-result.js +204 -0
  1070. package/frontend-build/node_modules/next/dist/server/render.js +1141 -0
  1071. package/frontend-build/node_modules/next/dist/server/request/connection.js +133 -0
  1072. package/frontend-build/node_modules/next/dist/server/request/cookies.js +235 -0
  1073. package/frontend-build/node_modules/next/dist/server/request/draft-mode.js +230 -0
  1074. package/frontend-build/node_modules/next/dist/server/request/fallback-params.js +69 -0
  1075. package/frontend-build/node_modules/next/dist/server/request/headers.js +229 -0
  1076. package/frontend-build/node_modules/next/dist/server/request/params.js +527 -0
  1077. package/frontend-build/node_modules/next/dist/server/request/pathname.js +119 -0
  1078. package/frontend-build/node_modules/next/dist/server/request/root-params.js +194 -0
  1079. package/frontend-build/node_modules/next/dist/server/request/search-params.js +526 -0
  1080. package/frontend-build/node_modules/next/dist/server/request/utils.js +51 -0
  1081. package/frontend-build/node_modules/next/dist/server/request-meta.js +55 -0
  1082. package/frontend-build/node_modules/next/dist/server/require-hook.js +82 -0
  1083. package/frontend-build/node_modules/next/dist/server/require.js +109 -0
  1084. package/frontend-build/node_modules/next/dist/server/response-cache/index.js +311 -0
  1085. package/frontend-build/node_modules/next/dist/server/response-cache/types.js +41 -0
  1086. package/frontend-build/node_modules/next/dist/server/response-cache/utils.js +104 -0
  1087. package/frontend-build/node_modules/next/dist/server/response-cache/web.js +101 -0
  1088. package/frontend-build/node_modules/next/dist/server/resume-data-cache/cache-store.js +96 -0
  1089. package/frontend-build/node_modules/next/dist/server/resume-data-cache/resume-data-cache.js +124 -0
  1090. package/frontend-build/node_modules/next/dist/server/revalidation-utils.js +157 -0
  1091. package/frontend-build/node_modules/next/dist/server/route-definitions/app-page-route-definition.js +16 -0
  1092. package/frontend-build/node_modules/next/dist/server/route-definitions/app-route-route-definition.js +6 -0
  1093. package/frontend-build/node_modules/next/dist/server/route-definitions/locale-route-definition.js +6 -0
  1094. package/frontend-build/node_modules/next/dist/server/route-definitions/pages-api-route-definition.js +6 -0
  1095. package/frontend-build/node_modules/next/dist/server/route-definitions/pages-route-definition.js +6 -0
  1096. package/frontend-build/node_modules/next/dist/server/route-definitions/route-definition.js +6 -0
  1097. package/frontend-build/node_modules/next/dist/server/route-kind.js +32 -0
  1098. package/frontend-build/node_modules/next/dist/server/route-matcher-managers/default-route-matcher-manager.js +239 -0
  1099. package/frontend-build/node_modules/next/dist/server/route-matcher-managers/dev-route-matcher-manager.js +120 -0
  1100. package/frontend-build/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.js +6 -0
  1101. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +55 -0
  1102. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/app-route-route-matcher-provider.js +43 -0
  1103. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-page-route-matcher-provider.js +91 -0
  1104. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/dev-app-route-route-matcher-provider.js +112 -0
  1105. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-api-route-matcher-provider.js +77 -0
  1106. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/dev-pages-route-matcher-provider.js +77 -0
  1107. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/file-cache-route-matcher-provider.js +28 -0
  1108. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/batched-file-reader.js +106 -0
  1109. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/default-file-reader.js +42 -0
  1110. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/dev/helpers/file-reader/file-reader.js +6 -0
  1111. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/helpers/cached-route-matcher-provider.js +30 -0
  1112. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/manifest-loader.js +6 -0
  1113. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/node-manifest-loader.js +34 -0
  1114. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/helpers/manifest-loaders/server-manifest-loader.js +20 -0
  1115. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/manifest-route-matcher-provider.js +21 -0
  1116. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/pages-api-route-matcher-provider.js +55 -0
  1117. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/pages-route-matcher-provider.js +64 -0
  1118. package/frontend-build/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.js +6 -0
  1119. package/frontend-build/node_modules/next/dist/server/route-matchers/app-page-route-matcher.js +18 -0
  1120. package/frontend-build/node_modules/next/dist/server/route-matchers/app-route-route-matcher.js +15 -0
  1121. package/frontend-build/node_modules/next/dist/server/route-matchers/locale-route-matcher.js +68 -0
  1122. package/frontend-build/node_modules/next/dist/server/route-matchers/pages-api-route-matcher.js +30 -0
  1123. package/frontend-build/node_modules/next/dist/server/route-matchers/pages-route-matcher.js +30 -0
  1124. package/frontend-build/node_modules/next/dist/server/route-matchers/route-matcher.js +54 -0
  1125. package/frontend-build/node_modules/next/dist/server/route-matches/app-page-route-match.js +6 -0
  1126. package/frontend-build/node_modules/next/dist/server/route-matches/app-route-route-match.js +6 -0
  1127. package/frontend-build/node_modules/next/dist/server/route-matches/locale-route-match.js +6 -0
  1128. package/frontend-build/node_modules/next/dist/server/route-matches/pages-api-route-match.js +16 -0
  1129. package/frontend-build/node_modules/next/dist/server/route-matches/pages-route-match.js +6 -0
  1130. package/frontend-build/node_modules/next/dist/server/route-matches/route-match.js +6 -0
  1131. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.js +51 -0
  1132. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/module.compiled.js +36 -0
  1133. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/module.js +162 -0
  1134. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/module.render.js +24 -0
  1135. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/normalize-request-url.js +25 -0
  1136. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/app-router-context.js +4 -0
  1137. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.js +87 -0
  1138. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/head-manager-context.js +4 -0
  1139. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/hooks-client-context.js +4 -0
  1140. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/image-config-context.js +4 -0
  1141. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/router-context.js +4 -0
  1142. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/server-inserted-html.js +4 -0
  1143. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.js +140 -0
  1144. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-compiler-runtime.js +4 -0
  1145. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-dom.js +4 -0
  1146. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js +4 -0
  1147. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-runtime.js +4 -0
  1148. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js +4 -0
  1149. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.js +4 -0
  1150. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server.js +4 -0
  1151. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-webpack-static.js +4 -0
  1152. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react.js +4 -0
  1153. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.js +125 -0
  1154. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-compiler-runtime.js +4 -0
  1155. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom-server.js +4 -0
  1156. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-dom.js +4 -0
  1157. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js +4 -0
  1158. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-runtime.js +4 -0
  1159. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-turbopack-client.js +4 -0
  1160. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client.js +4 -0
  1161. package/frontend-build/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js +4 -0
  1162. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/helpers/auto-implement-methods.js +85 -0
  1163. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/helpers/clean-url.js +24 -0
  1164. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/helpers/get-pathname-from-absolute-path.js +29 -0
  1165. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/helpers/is-static-gen-enabled.js +15 -0
  1166. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/helpers/parsed-url-query-to-params.js +20 -0
  1167. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/module.compiled.js +36 -0
  1168. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/module.js +914 -0
  1169. package/frontend-build/node_modules/next/dist/server/route-modules/app-route/shared-modules.js +56 -0
  1170. package/frontend-build/node_modules/next/dist/server/route-modules/checks.js +45 -0
  1171. package/frontend-build/node_modules/next/dist/server/route-modules/pages/builtin/_error.js +100 -0
  1172. package/frontend-build/node_modules/next/dist/server/route-modules/pages/module.compiled.js +20 -0
  1173. package/frontend-build/node_modules/next/dist/server/route-modules/pages/module.js +92 -0
  1174. package/frontend-build/node_modules/next/dist/server/route-modules/pages/module.render.js +24 -0
  1175. package/frontend-build/node_modules/next/dist/server/route-modules/pages/pages-handler.js +545 -0
  1176. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/app-router-context.js +4 -0
  1177. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.js +102 -0
  1178. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js +4 -0
  1179. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/hooks-client-context.js +4 -0
  1180. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/html-context.js +4 -0
  1181. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/image-config-context.js +4 -0
  1182. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable-context.js +4 -0
  1183. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/loadable.js +4 -0
  1184. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/router-context.js +4 -0
  1185. package/frontend-build/node_modules/next/dist/server/route-modules/pages/vendored/contexts/server-inserted-html.js +4 -0
  1186. package/frontend-build/node_modules/next/dist/server/route-modules/pages-api/module.compiled.js +20 -0
  1187. package/frontend-build/node_modules/next/dist/server/route-modules/pages-api/module.js +58 -0
  1188. package/frontend-build/node_modules/next/dist/server/route-modules/route-module.js +650 -0
  1189. package/frontend-build/node_modules/next/dist/server/runtime-reacts.external.js +46 -0
  1190. package/frontend-build/node_modules/next/dist/server/send-payload.js +88 -0
  1191. package/frontend-build/node_modules/next/dist/server/send-response.js +70 -0
  1192. package/frontend-build/node_modules/next/dist/server/serve-static.js +66 -0
  1193. package/frontend-build/node_modules/next/dist/server/server-route-utils.js +30 -0
  1194. package/frontend-build/node_modules/next/dist/server/server-utils.js +323 -0
  1195. package/frontend-build/node_modules/next/dist/server/setup-http-agent-env.js +31 -0
  1196. package/frontend-build/node_modules/next/dist/server/stream-utils/encoded-tags.js +122 -0
  1197. package/frontend-build/node_modules/next/dist/server/stream-utils/node-web-streams-helper.js +918 -0
  1198. package/frontend-build/node_modules/next/dist/server/stream-utils/uint8array-helpers.js +74 -0
  1199. package/frontend-build/node_modules/next/dist/server/typescript/constant.js +98 -0
  1200. package/frontend-build/node_modules/next/dist/server/typescript/index.js +199 -0
  1201. package/frontend-build/node_modules/next/dist/server/typescript/rules/client-boundary.js +97 -0
  1202. package/frontend-build/node_modules/next/dist/server/typescript/rules/config.js +512 -0
  1203. package/frontend-build/node_modules/next/dist/server/typescript/rules/entry.js +149 -0
  1204. package/frontend-build/node_modules/next/dist/server/typescript/rules/error.js +38 -0
  1205. package/frontend-build/node_modules/next/dist/server/typescript/rules/metadata.js +234 -0
  1206. package/frontend-build/node_modules/next/dist/server/typescript/rules/server-boundary.js +115 -0
  1207. package/frontend-build/node_modules/next/dist/server/typescript/rules/server.js +79 -0
  1208. package/frontend-build/node_modules/next/dist/server/typescript/utils.js +212 -0
  1209. package/frontend-build/node_modules/next/dist/server/use-cache/cache-life.js +163 -0
  1210. package/frontend-build/node_modules/next/dist/server/use-cache/cache-tag.js +52 -0
  1211. package/frontend-build/node_modules/next/dist/server/use-cache/constants.js +28 -0
  1212. package/frontend-build/node_modules/next/dist/server/use-cache/handlers.js +121 -0
  1213. package/frontend-build/node_modules/next/dist/server/use-cache/use-cache-errors.js +36 -0
  1214. package/frontend-build/node_modules/next/dist/server/use-cache/use-cache-wrapper.js +1588 -0
  1215. package/frontend-build/node_modules/next/dist/server/utils.js +73 -0
  1216. package/frontend-build/node_modules/next/dist/server/web/adapter.js +392 -0
  1217. package/frontend-build/node_modules/next/dist/server/web/edge-route-module-wrapper.js +123 -0
  1218. package/frontend-build/node_modules/next/dist/server/web/error.js +54 -0
  1219. package/frontend-build/node_modules/next/dist/server/web/exports/index.js +56 -0
  1220. package/frontend-build/node_modules/next/dist/server/web/get-edge-preview-props.js +23 -0
  1221. package/frontend-build/node_modules/next/dist/server/web/globals.js +128 -0
  1222. package/frontend-build/node_modules/next/dist/server/web/http.js +39 -0
  1223. package/frontend-build/node_modules/next/dist/server/web/internal-edge-wait-until.js +64 -0
  1224. package/frontend-build/node_modules/next/dist/server/web/next-url.js +199 -0
  1225. package/frontend-build/node_modules/next/dist/server/web/sandbox/context.js +462 -0
  1226. package/frontend-build/node_modules/next/dist/server/web/sandbox/fetch-inline-assets.js +35 -0
  1227. package/frontend-build/node_modules/next/dist/server/web/sandbox/index.js +28 -0
  1228. package/frontend-build/node_modules/next/dist/server/web/sandbox/resource-managers.js +88 -0
  1229. package/frontend-build/node_modules/next/dist/server/web/sandbox/sandbox.js +137 -0
  1230. package/frontend-build/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +192 -0
  1231. package/frontend-build/node_modules/next/dist/server/web/spec-extension/adapters/next-request.js +142 -0
  1232. package/frontend-build/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +30 -0
  1233. package/frontend-build/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +211 -0
  1234. package/frontend-build/node_modules/next/dist/server/web/spec-extension/cookies.js +29 -0
  1235. package/frontend-build/node_modules/next/dist/server/web/spec-extension/fetch-event.js +98 -0
  1236. package/frontend-build/node_modules/next/dist/server/web/spec-extension/image-response.js +22 -0
  1237. package/frontend-build/node_modules/next/dist/server/web/spec-extension/request.js +99 -0
  1238. package/frontend-build/node_modules/next/dist/server/web/spec-extension/response.js +136 -0
  1239. package/frontend-build/node_modules/next/dist/server/web/spec-extension/revalidate.js +214 -0
  1240. package/frontend-build/node_modules/next/dist/server/web/spec-extension/unstable-cache.js +289 -0
  1241. package/frontend-build/node_modules/next/dist/server/web/spec-extension/unstable-no-store.js +51 -0
  1242. package/frontend-build/node_modules/next/dist/server/web/spec-extension/url-pattern.js +14 -0
  1243. package/frontend-build/node_modules/next/dist/server/web/spec-extension/user-agent.js +46 -0
  1244. package/frontend-build/node_modules/next/dist/server/web/types.js +6 -0
  1245. package/frontend-build/node_modules/next/dist/server/web/utils.js +151 -0
  1246. package/frontend-build/node_modules/next/dist/server/web/web-on-close.js +87 -0
  1247. package/frontend-build/node_modules/next/dist/shared/lib/action-revalidation-kind.js +31 -0
  1248. package/frontend-build/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +50 -0
  1249. package/frontend-build/node_modules/next/dist/shared/lib/app-router-types.js +46 -0
  1250. package/frontend-build/node_modules/next/dist/shared/lib/constants.js +448 -0
  1251. package/frontend-build/node_modules/next/dist/shared/lib/deep-freeze.js +30 -0
  1252. package/frontend-build/node_modules/next/dist/shared/lib/deployment-id.js +63 -0
  1253. package/frontend-build/node_modules/next/dist/shared/lib/dset.js +34 -0
  1254. package/frontend-build/node_modules/next/dist/shared/lib/encode-uri-path.js +15 -0
  1255. package/frontend-build/node_modules/next/dist/shared/lib/entry-constants.js +36 -0
  1256. package/frontend-build/node_modules/next/dist/shared/lib/error-source.js +36 -0
  1257. package/frontend-build/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +39 -0
  1258. package/frontend-build/node_modules/next/dist/shared/lib/errors/code-frame.js +20 -0
  1259. package/frontend-build/node_modules/next/dist/shared/lib/errors/constants.js +19 -0
  1260. package/frontend-build/node_modules/next/dist/shared/lib/errors/empty-generate-static-params-error.js +24 -0
  1261. package/frontend-build/node_modules/next/dist/shared/lib/errors/hard-deprecated-config-error.js +20 -0
  1262. package/frontend-build/node_modules/next/dist/shared/lib/escape-regexp.js +22 -0
  1263. package/frontend-build/node_modules/next/dist/shared/lib/get-hostname.js +23 -0
  1264. package/frontend-build/node_modules/next/dist/shared/lib/hash.js +42 -0
  1265. package/frontend-build/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +18 -0
  1266. package/frontend-build/node_modules/next/dist/shared/lib/head.js +163 -0
  1267. package/frontend-build/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +60 -0
  1268. package/frontend-build/node_modules/next/dist/shared/lib/html-context.shared-runtime.js +40 -0
  1269. package/frontend-build/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +25 -0
  1270. package/frontend-build/node_modules/next/dist/shared/lib/i18n/get-locale-redirect.js +59 -0
  1271. package/frontend-build/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +54 -0
  1272. package/frontend-build/node_modules/next/dist/shared/lib/image-blur-svg.js +22 -0
  1273. package/frontend-build/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +19 -0
  1274. package/frontend-build/node_modules/next/dist/shared/lib/image-config.js +77 -0
  1275. package/frontend-build/node_modules/next/dist/shared/lib/invariant-error.js +18 -0
  1276. package/frontend-build/node_modules/next/dist/shared/lib/is-plain-object.js +42 -0
  1277. package/frontend-build/node_modules/next/dist/shared/lib/is-thenable.js +20 -0
  1278. package/frontend-build/node_modules/next/dist/shared/lib/isomorphic/path.js +14 -0
  1279. package/frontend-build/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +37 -0
  1280. package/frontend-build/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.js +19 -0
  1281. package/frontend-build/node_modules/next/dist/shared/lib/loadable.shared-runtime.js +246 -0
  1282. package/frontend-build/node_modules/next/dist/shared/lib/match-local-pattern.js +46 -0
  1283. package/frontend-build/node_modules/next/dist/shared/lib/match-remote-pattern.js +63 -0
  1284. package/frontend-build/node_modules/next/dist/shared/lib/modern-browserslist-target.js +15 -0
  1285. package/frontend-build/node_modules/next/dist/shared/lib/no-fallback-error.external.js +18 -0
  1286. package/frontend-build/node_modules/next/dist/shared/lib/normalized-asset-prefix.js +28 -0
  1287. package/frontend-build/node_modules/next/dist/shared/lib/page-path/absolute-path-to-page.js +26 -0
  1288. package/frontend-build/node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js +18 -0
  1289. package/frontend-build/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +18 -0
  1290. package/frontend-build/node_modules/next/dist/shared/lib/page-path/get-page-paths.js +40 -0
  1291. package/frontend-build/node_modules/next/dist/shared/lib/page-path/normalize-data-path.js +23 -0
  1292. package/frontend-build/node_modules/next/dist/shared/lib/page-path/normalize-page-path.js +26 -0
  1293. package/frontend-build/node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js +19 -0
  1294. package/frontend-build/node_modules/next/dist/shared/lib/page-path/remove-page-path-tail.js +20 -0
  1295. package/frontend-build/node_modules/next/dist/shared/lib/promise-with-resolvers.js +26 -0
  1296. package/frontend-build/node_modules/next/dist/shared/lib/router/adapters.js +136 -0
  1297. package/frontend-build/node_modules/next/dist/shared/lib/router/routes/app.js +122 -0
  1298. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/add-locale.js +28 -0
  1299. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +20 -0
  1300. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js +20 -0
  1301. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/app-paths.js +62 -0
  1302. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/as-path-to-search-params.js +17 -0
  1303. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js +24 -0
  1304. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +16 -0
  1305. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js +27 -0
  1306. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/format-url.js +111 -0
  1307. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +174 -0
  1308. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js +52 -0
  1309. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/get-route-from-asset-path.js +25 -0
  1310. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +90 -0
  1311. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/html-bots.js +17 -0
  1312. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/index.js +30 -0
  1313. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +33 -0
  1314. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +108 -0
  1315. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/is-bot.js +57 -0
  1316. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +26 -0
  1317. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.js +31 -0
  1318. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +30 -0
  1319. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/parse-path.js +33 -0
  1320. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +43 -0
  1321. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/parse-url.js +38 -0
  1322. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +20 -0
  1323. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/path-match.js +49 -0
  1324. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +292 -0
  1325. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/querystring.js +79 -0
  1326. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/relativize-url.js +40 -0
  1327. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js +39 -0
  1328. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +21 -0
  1329. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +116 -0
  1330. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +113 -0
  1331. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +45 -0
  1332. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/route-regex.js +256 -0
  1333. package/frontend-build/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +244 -0
  1334. package/frontend-build/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +18 -0
  1335. package/frontend-build/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.js +99 -0
  1336. package/frontend-build/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.js +32 -0
  1337. package/frontend-build/node_modules/next/dist/shared/lib/segment.js +102 -0
  1338. package/frontend-build/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +35 -0
  1339. package/frontend-build/node_modules/next/dist/shared/lib/server-reference-info.js +56 -0
  1340. package/frontend-build/node_modules/next/dist/shared/lib/side-effect.js +63 -0
  1341. package/frontend-build/node_modules/next/dist/shared/lib/size-limit.js +40 -0
  1342. package/frontend-build/node_modules/next/dist/shared/lib/turbopack/internal-error.js +53 -0
  1343. package/frontend-build/node_modules/next/dist/shared/lib/utils/reflect-utils.js +69 -0
  1344. package/frontend-build/node_modules/next/dist/shared/lib/utils/warn-once.js +22 -0
  1345. package/frontend-build/node_modules/next/dist/shared/lib/utils.js +207 -0
  1346. package/frontend-build/node_modules/next/dist/shared/lib/zod.js +101 -0
  1347. package/frontend-build/node_modules/next/dist/telemetry/anonymous-meta.js +89 -0
  1348. package/frontend-build/node_modules/next/dist/telemetry/detached-flush.js +56 -0
  1349. package/frontend-build/node_modules/next/dist/telemetry/events/build.js +174 -0
  1350. package/frontend-build/node_modules/next/dist/telemetry/events/index.js +41 -0
  1351. package/frontend-build/node_modules/next/dist/telemetry/events/plugins.js +51 -0
  1352. package/frontend-build/node_modules/next/dist/telemetry/events/swc-load-failure.js +55 -0
  1353. package/frontend-build/node_modules/next/dist/telemetry/events/version.js +66 -0
  1354. package/frontend-build/node_modules/next/dist/telemetry/flush-telemetry.js +19 -0
  1355. package/frontend-build/node_modules/next/dist/telemetry/post-telemetry-payload.js +48 -0
  1356. package/frontend-build/node_modules/next/dist/telemetry/project-id.js +48 -0
  1357. package/frontend-build/node_modules/next/dist/telemetry/storage.js +301 -0
  1358. package/frontend-build/node_modules/next/dist/trace/index.js +58 -0
  1359. package/frontend-build/node_modules/next/dist/trace/report/index.js +37 -0
  1360. package/frontend-build/node_modules/next/dist/trace/report/to-json-build.js +40 -0
  1361. package/frontend-build/node_modules/next/dist/trace/report/to-json.js +165 -0
  1362. package/frontend-build/node_modules/next/dist/trace/report/to-telemetry.js +36 -0
  1363. package/frontend-build/node_modules/next/dist/trace/shared.js +39 -0
  1364. package/frontend-build/node_modules/next/dist/trace/trace.js +211 -0
  1365. package/frontend-build/node_modules/next/package.json +378 -0
  1366. package/frontend-build/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
  1367. package/frontend-build/node_modules/react/cjs/react-jsx-dev-runtime.production.js +14 -0
  1368. package/frontend-build/node_modules/react/cjs/react-jsx-runtime.production.js +34 -0
  1369. package/frontend-build/node_modules/react/cjs/react.development.js +1284 -0
  1370. package/frontend-build/node_modules/react/cjs/react.production.js +542 -0
  1371. package/frontend-build/node_modules/react/compiler-runtime.js +14 -0
  1372. package/frontend-build/node_modules/react/index.js +7 -0
  1373. package/frontend-build/node_modules/react/jsx-dev-runtime.js +7 -0
  1374. package/frontend-build/node_modules/react/jsx-runtime.js +7 -0
  1375. package/frontend-build/node_modules/react/package.json +51 -0
  1376. package/frontend-build/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +6603 -0
  1377. package/frontend-build/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +6692 -0
  1378. package/frontend-build/node_modules/react-dom/cjs/react-dom-server.browser.production.js +7410 -0
  1379. package/frontend-build/node_modules/react-dom/cjs/react-dom-server.edge.production.js +7512 -0
  1380. package/frontend-build/node_modules/react-dom/cjs/react-dom-server.node.production.js +7707 -0
  1381. package/frontend-build/node_modules/react-dom/cjs/react-dom.production.js +210 -0
  1382. package/frontend-build/node_modules/react-dom/index.js +38 -0
  1383. package/frontend-build/node_modules/react-dom/package.json +117 -0
  1384. package/frontend-build/node_modules/react-dom/server.browser.js +16 -0
  1385. package/frontend-build/node_modules/react-dom/server.edge.js +17 -0
  1386. package/frontend-build/node_modules/react-dom/server.node.js +18 -0
  1387. package/frontend-build/node_modules/react-dom/static.node.js +14 -0
  1388. package/frontend-build/node_modules/sharp/lib/channel.js +177 -0
  1389. package/frontend-build/node_modules/sharp/lib/colour.js +195 -0
  1390. package/frontend-build/node_modules/sharp/lib/composite.js +212 -0
  1391. package/frontend-build/node_modules/sharp/lib/constructor.js +499 -0
  1392. package/frontend-build/node_modules/sharp/lib/index.js +16 -0
  1393. package/frontend-build/node_modules/sharp/lib/input.js +809 -0
  1394. package/frontend-build/node_modules/sharp/lib/is.js +143 -0
  1395. package/frontend-build/node_modules/sharp/lib/libvips.js +207 -0
  1396. package/frontend-build/node_modules/sharp/lib/operation.js +1016 -0
  1397. package/frontend-build/node_modules/sharp/lib/output.js +1666 -0
  1398. package/frontend-build/node_modules/sharp/lib/resize.js +595 -0
  1399. package/frontend-build/node_modules/sharp/lib/sharp.js +121 -0
  1400. package/frontend-build/node_modules/sharp/lib/utility.js +291 -0
  1401. package/frontend-build/node_modules/sharp/node_modules/semver/classes/comparator.js +143 -0
  1402. package/frontend-build/node_modules/sharp/node_modules/semver/classes/range.js +557 -0
  1403. package/frontend-build/node_modules/sharp/node_modules/semver/classes/semver.js +333 -0
  1404. package/frontend-build/node_modules/sharp/node_modules/semver/functions/cmp.js +54 -0
  1405. package/frontend-build/node_modules/sharp/node_modules/semver/functions/coerce.js +62 -0
  1406. package/frontend-build/node_modules/sharp/node_modules/semver/functions/compare.js +7 -0
  1407. package/frontend-build/node_modules/sharp/node_modules/semver/functions/eq.js +5 -0
  1408. package/frontend-build/node_modules/sharp/node_modules/semver/functions/gt.js +5 -0
  1409. package/frontend-build/node_modules/sharp/node_modules/semver/functions/gte.js +5 -0
  1410. package/frontend-build/node_modules/sharp/node_modules/semver/functions/lt.js +5 -0
  1411. package/frontend-build/node_modules/sharp/node_modules/semver/functions/lte.js +5 -0
  1412. package/frontend-build/node_modules/sharp/node_modules/semver/functions/neq.js +5 -0
  1413. package/frontend-build/node_modules/sharp/node_modules/semver/functions/parse.js +18 -0
  1414. package/frontend-build/node_modules/sharp/node_modules/semver/functions/satisfies.js +12 -0
  1415. package/frontend-build/node_modules/sharp/node_modules/semver/internal/constants.js +37 -0
  1416. package/frontend-build/node_modules/sharp/node_modules/semver/internal/debug.js +11 -0
  1417. package/frontend-build/node_modules/sharp/node_modules/semver/internal/identifiers.js +29 -0
  1418. package/frontend-build/node_modules/sharp/node_modules/semver/internal/lrucache.js +42 -0
  1419. package/frontend-build/node_modules/sharp/node_modules/semver/internal/parse-options.js +17 -0
  1420. package/frontend-build/node_modules/sharp/node_modules/semver/internal/re.js +223 -0
  1421. package/frontend-build/node_modules/sharp/node_modules/semver/package.json +78 -0
  1422. package/frontend-build/node_modules/sharp/package.json +202 -0
  1423. package/frontend-build/node_modules/styled-jsx/dist/index/index.js +499 -0
  1424. package/frontend-build/node_modules/styled-jsx/index.js +1 -0
  1425. package/frontend-build/node_modules/styled-jsx/package.json +132 -0
  1426. package/frontend-build/node_modules/styled-jsx/style.js +1 -0
  1427. package/frontend-build/package.json +43 -0
  1428. package/frontend-build/public/aws-bedrock-icon.svg +1 -0
  1429. package/frontend-build/public/chatgpt-icon.svg +1 -0
  1430. package/frontend-build/public/claude-ai-icon.svg +1 -0
  1431. package/frontend-build/public/deepseek-logo-icon.svg +1 -0
  1432. package/frontend-build/public/discord-round-color-icon.svg +1 -0
  1433. package/frontend-build/public/file.svg +1 -0
  1434. package/frontend-build/public/globe.svg +1 -0
  1435. package/frontend-build/public/google-gemini-icon.svg +1 -0
  1436. package/frontend-build/public/grok-icon.svg +1 -0
  1437. package/frontend-build/public/next.svg +1 -0
  1438. package/frontend-build/public/ollama-icon.svg +1 -0
  1439. package/frontend-build/public/slack-icon.svg +6 -0
  1440. package/frontend-build/public/teams.svg +2 -0
  1441. package/frontend-build/public/telegram-icon.svg +1 -0
  1442. package/frontend-build/public/vercel.svg +1 -0
  1443. package/frontend-build/public/whatsapp-color-icon.svg +1 -0
  1444. package/frontend-build/public/window.svg +1 -0
  1445. package/frontend-build/server.js +38 -0
  1446. package/package.json +34 -0
@@ -0,0 +1,1017 @@
1
+ """
2
+ Shared ReAct loop engine used by both /chat and /chat/stream endpoints.
3
+ Yields structured event dicts that callers can handle differently
4
+ (collect for sync response, or stream as SSE).
5
+ """
6
+ import json
7
+ import sys
8
+ import time
9
+
10
+ import httpx
11
+
12
+ from core.config import load_settings
13
+ from core.vault import maybe_vault, expand_vault_mentions
14
+ from core.compaction import maybe_compact
15
+ from core.session import (
16
+ _get_session_id, _get_session_state,
17
+ _apply_sticky_args, _clear_session_embeddings,
18
+ get_recent_history_messages, _get_conversation_history,
19
+ _save_conversation_turn,
20
+ )
21
+ from core.llm_providers import generate_response as llm_generate_response
22
+ from core.tools import aggregate_all_tools, build_system_prompt, DEFAULT_TOOLS_BY_TYPE
23
+ from core.routes.agents import load_user_agents, get_active_agent_data
24
+ from core.routes.tools import load_custom_tools
25
+
26
+ import anyio as _anyio
27
+ from datetime import timedelta
28
+
29
+ MAX_TURNS = 30
30
+
31
+
32
+ def parse_all_tool_calls(llm_output: str) -> list[dict]:
33
+ """Extract ALL tool-call JSON objects from one LLM response, in order.
34
+
35
+ Unlike parse_tool_call, non-tool JSON objects are skipped (not an early-exit
36
+ trigger), so every tool-call found is returned. The caller executes them
37
+ sequentially before making the next LLM call.
38
+ """
39
+ cleaned = llm_output.replace("```json", "").replace("```", "").strip()
40
+
41
+ def _is_tool_call(obj) -> bool:
42
+ if not isinstance(obj, dict):
43
+ return False
44
+ name = obj.get("tool")
45
+ return isinstance(name, str) and bool(name.strip())
46
+
47
+ import re as _re
48
+
49
+ # XML <tool_call> wrappers (CLI providers) — collect ALL matches in order
50
+ xml_calls: list[dict] = []
51
+ for _m in _re.finditer(r"<tool_call>(.*?)</tool_call>", cleaned, _re.DOTALL):
52
+ try:
53
+ obj = json.loads(_m.group(1).strip())
54
+ if _is_tool_call(obj):
55
+ xml_calls.append(obj)
56
+ except json.JSONDecodeError:
57
+ pass
58
+ if xml_calls:
59
+ return xml_calls
60
+
61
+ if "{" not in cleaned:
62
+ return []
63
+
64
+ decoder = json.JSONDecoder()
65
+ tool_calls: list[dict] = []
66
+ used_end = -1 # end byte of the last decoded JSON blob (skip nested braces inside it)
67
+
68
+ for pos in [i for i, ch in enumerate(cleaned) if ch == "{"]:
69
+ if pos < used_end:
70
+ continue # position is inside a previously consumed JSON object
71
+ try:
72
+ obj, end_offset = decoder.raw_decode(cleaned[pos:])
73
+ used_end = pos + end_offset
74
+ except json.JSONDecodeError:
75
+ continue
76
+ if _is_tool_call(obj):
77
+ tool_calls.append(obj)
78
+ # Non-tool JSON: advance used_end but keep scanning (do NOT stop early)
79
+
80
+ return tool_calls
81
+
82
+
83
+ def parse_tool_call(llm_output: str) -> tuple[dict | None, str | None]:
84
+ """Extract a tool call JSON from LLM text output.
85
+
86
+ Searches the entire output for a JSON object containing a 'tool' key.
87
+ This tolerates LLM outputs that include a reasoning preamble before the
88
+ actual tool-call JSON (common in orchestration agents that plan before
89
+ acting). JSON objects that appear at or near the start of the output are
90
+ tried first so the fast path is preserved for well-behaved models.
91
+
92
+ Also handles <tool_call>...</tool_call> XML wrappers emitted by CLI providers
93
+ (claude, gemini, codex) that are instructed to use this format via system prompt.
94
+
95
+ Note: 'name' is deliberately NOT treated as an alias for 'tool' here — it
96
+ collides with domain JSON (e.g. an orchestration plan has a top-level `name`
97
+ field) and used to cause the planner's final output to be mis-parsed as a
98
+ tool call. All LLM providers normalise their native tool-call shapes to
99
+ {"tool": ..., "arguments": ...} at the provider boundary before reaching
100
+ this parser.
101
+ """
102
+ cleaned = llm_output.replace("```json", "").replace("```", "").strip()
103
+
104
+ def _is_tool_call(obj) -> bool:
105
+ if not isinstance(obj, dict):
106
+ return False
107
+ name = obj.get("tool")
108
+ return isinstance(name, str) and bool(name.strip())
109
+
110
+ # ── Fast path: <tool_call> XML wrapper (CLI providers) ──────────────────────
111
+ import re as _re
112
+ _tc_match = _re.search(r"<tool_call>(.*?)</tool_call>", cleaned, _re.DOTALL)
113
+ if _tc_match:
114
+ try:
115
+ obj = json.loads(_tc_match.group(1).strip())
116
+ if _is_tool_call(obj):
117
+ return obj, None
118
+ except json.JSONDecodeError:
119
+ pass # Fall through to bare-JSON detection
120
+
121
+ if "{" not in cleaned:
122
+ return None, None
123
+
124
+ decoder = json.JSONDecoder()
125
+
126
+ # Collect all '{' positions so we can try each candidate in order.
127
+ brace_positions = [i for i, ch in enumerate(cleaned) if ch == "{"]
128
+
129
+ # Try the earliest position first (fast path for well-behaved models),
130
+ # then fall back to later positions when there is a preamble.
131
+ for pos in brace_positions:
132
+ try:
133
+ obj, _ = decoder.raw_decode(cleaned[pos:])
134
+ except json.JSONDecodeError:
135
+ continue
136
+ if _is_tool_call(obj):
137
+ if pos > 0:
138
+ # LLM prefixed the JSON with preamble text — log it so we
139
+ # can monitor how often this happens.
140
+ preamble_preview = cleaned[:min(pos, 120)].replace("\n", " ")
141
+ print(
142
+ f"DEBUG parse_tool_call: ⚠️ JSON tool call found after "
143
+ f"{pos} chars of preamble: «{preamble_preview}…»",
144
+ flush=True,
145
+ )
146
+ return obj, None
147
+ if isinstance(obj, dict):
148
+ # Well-formed top-level JSON object but not a tool call (e.g. the
149
+ # LLM echoed a previous tool *result* as text). Stop scanning —
150
+ # later '{' positions are nested fields of this same object and
151
+ # matching them risks treating `{"agents":[{"tool":"..."}]}` as a
152
+ # real call. Treat this turn as a final text response.
153
+ print(f"DEBUG parse_tool_call: ✅ non-tool JSON at pos={pos}, keys={list(obj.keys())[:5]} → returning (None, None)", flush=True)
154
+ return None, None
155
+
156
+ return None, None
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ def _resolve_agent_by_id(agent_id):
165
+ """Load an agent dict by ID, falling back to the active agent."""
166
+ if agent_id:
167
+ agents = load_user_agents()
168
+ agent = next((a for a in agents if a["id"] == agent_id), None)
169
+ if agent:
170
+ return agent
171
+ return get_active_agent_data() # raises RuntimeError if no agents configured
172
+
173
+
174
+ def _inject_db_context(agent_data, system_template):
175
+ """Inject linked DB schema context into system prompt for code agents. Returns updated template."""
176
+ if agent_data.get("type") != "code":
177
+ return system_template
178
+ db_configs_list = agent_data.get("db_configs", [])
179
+ if not db_configs_list:
180
+ return system_template
181
+ try:
182
+ from core.routes.db_configs import load_db_configs
183
+ all_configs = load_db_configs()
184
+ linked_configs = [c for c in all_configs if c.get("id") in db_configs_list]
185
+ if not linked_configs:
186
+ return system_template
187
+
188
+ allow_db_write = load_settings().get("allow_db_write", False)
189
+
190
+ db_context = (
191
+ "\n\n### LINKED DATABASES ###\n"
192
+ "The following databases are associated with this codebase. "
193
+ "When calling `list_tables`, `get_table_schema`, or `run_sql_query`, "
194
+ "you MUST pass the `db_id` field matching the database you want to query.\n\n"
195
+ )
196
+ for c in linked_configs:
197
+ db_context += f"**DB Name:** {c.get('name')}\n"
198
+ db_context += f"**DB ID:** `{c.get('id')}` ← pass this as db_id in SQL tool calls\n"
199
+ db_context += f"**Type:** {c.get('db_type')}\n"
200
+ if c.get("description"):
201
+ db_context += f"**Description:** {c.get('description')}\n"
202
+ if c.get("schema_info"):
203
+ db_context += f"**Schema:**\n{c.get('schema_info')}\n"
204
+ db_context += "---\n"
205
+
206
+ if allow_db_write:
207
+ db_context += (
208
+ "\n**DB WRITE RULES (MANDATORY):**\n"
209
+ "- Write queries (INSERT, UPDATE, DELETE, DROP, CREATE, ALTER, TRUNCATE, etc.) ARE permitted.\n"
210
+ "- You MUST explicitly state the exact query you intend to run and ask the user for confirmation BEFORE calling `run_sql_query` with any write query.\n"
211
+ "- Never assume consent. Even for seemingly safe updates, always confirm first.\n"
212
+ )
213
+ else:
214
+ db_context += (
215
+ "\n**DB READ-ONLY MODE (MANDATORY):**\n"
216
+ "- You are STRICTLY limited to SELECT, SHOW, and DESCRIBE queries.\n"
217
+ "- NEVER attempt INSERT, UPDATE, DELETE, DROP, CREATE, ALTER, or any other write operation.\n"
218
+ "- If the user asks you to modify data, inform them that DB write access is disabled in General Settings.\n"
219
+ )
220
+
221
+ return system_template + db_context
222
+ except Exception as e:
223
+ print(f"DEBUG: Failed to load db context: {e}")
224
+ return system_template
225
+
226
+
227
+ def _inject_repo_context(agent_data, system_template):
228
+ """Inject repo context into system prompt for code agents. Returns updated template."""
229
+ if agent_data.get("type") != "code":
230
+ return system_template
231
+ if not load_settings().get("embed_code", False):
232
+ return system_template
233
+ repos_list = agent_data.get("repos", [])
234
+ if not repos_list:
235
+ return system_template
236
+ try:
237
+ from core.routes.repos import load_repos
238
+ all_repos = load_repos()
239
+ linked_repos = [r for r in all_repos if r.get("id") in repos_list]
240
+ if not linked_repos:
241
+ return system_template
242
+ repo_context = (
243
+ "\n\n### LINKED CODE REPOSITORIES ###\n"
244
+ "You have access to search the following indexed code repositories "
245
+ "using the `search_codebase` tool. When searching, you MUST provide "
246
+ "the `repo_ids` parameter as an array of IDs (e.g. [\"<repo_id>\"]) from the list below, "
247
+ "along with your natural language query.\n\n"
248
+ )
249
+ for r in linked_repos:
250
+ repo_context += f"**Repo Name:** {r.get('name')}\n"
251
+ repo_context += f"**Repo ID:** `{r.get('id')}` ← use as: repo_ids: [\"{r.get('id')}\"]\n"
252
+ repo_context += f"**Path:** {r.get('path')}\n"
253
+ if r.get("description"):
254
+ repo_context += f"**Description & Interconnections:** {r.get('description')}\n"
255
+ repo_context += "---\n"
256
+ repo_context += (
257
+ "\n**Tip:** `search_codebase` uses semantic vector search — it works well for "
258
+ "understanding questions (\"how does X work?\", \"where is Y handled?\") where "
259
+ "exact keyword matches are unreliable.\n"
260
+ )
261
+ return system_template + repo_context
262
+ except Exception as e:
263
+ print(f"DEBUG: Failed to load repo context: {e}")
264
+ return system_template
265
+
266
+
267
+ async def run_agent_step(
268
+ message,
269
+ agent_id,
270
+ session_id,
271
+ server_module,
272
+ max_turns=None,
273
+ allowed_tools_override=None,
274
+ source: str = "chat",
275
+ run_id: str | None = None,
276
+ images: list[str] | None = None,
277
+ system_prompt_extra: str | None = None,
278
+ # ── optional extension params (used by builder wrapper) ───────────────────
279
+ agent_override: dict | None = None, # skip _resolve_agent_by_id
280
+ tools_override: list | None = None, # skip aggregate_all_tools; list of OpenAI-format tool dicts
281
+ tool_executor=None, # async (name, args) -> str | None; None = fall through
282
+ post_tool_hook=None, # async gen (name, raw_output) -> yields extra events
283
+ history_override: list | None = None, # use instead of get_recent_history_messages
284
+ model_override: str | None = None, # per-step model override (from StepConfig.model)
285
+ ):
286
+ """Lower-level single-agent ReAct execution.
287
+
288
+ Used by both run_react_loop (chat) and the orchestration engine (per-step).
289
+ Yields the same structured events as run_react_loop.
290
+ """
291
+ if max_turns is None:
292
+ max_turns = MAX_TURNS
293
+
294
+ # Resolve agent
295
+ active_agent = agent_override if agent_override is not None else _resolve_agent_by_id(agent_id)
296
+ agent_id_for_session = active_agent.get("id", agent_id or "unknown")
297
+
298
+ # Build system prompt with repo and DB context injection
299
+ agent_system_template = active_agent.get("system_prompt", "")
300
+ agent_system_template = _inject_repo_context(active_agent, agent_system_template)
301
+ agent_system_template = _inject_db_context(active_agent, agent_system_template)
302
+
303
+ current_settings = load_settings()
304
+ # Per-agent model override: use agent's model if set, else fall back to default.
305
+ # Treat None, empty string, or "default" as "use the global default model".
306
+ agent_model = active_agent.get("model")
307
+ if agent_model and agent_model.strip().lower() in ("", "default"):
308
+ agent_model = None
309
+ # Precedence: per-step model (from orchestration) > per-agent model > global default
310
+ step_model = model_override.strip() if (model_override and model_override.strip().lower() not in ("", "default")) else None
311
+ current_model = step_model or agent_model or current_settings.get("model", "mistral")
312
+ # Auto-detect mode from model name instead of relying on global mode
313
+ from core.llm_providers import detect_mode_from_model
314
+ mode = detect_mode_from_model(current_model)
315
+ # Only inject tools into the system prompt for providers without native tool calling.
316
+ # Cloud (Anthropic/OpenAI/Gemini/Grok/DeepSeek) and local Ollama receive tools via
317
+ # the API tools= param, so injecting them into the system prompt is redundant.
318
+ inject_tools_in_prompt = mode in ("cli", "bedrock")
319
+
320
+ # Aggregate tools & build system prompt
321
+ if tools_override is not None:
322
+ # Caller provided a fixed tool set (e.g. builder) — skip MCP aggregation
323
+ tool_schema_map = {t["function"]["name"]: t for t in tools_override}
324
+ all_tools = list(tool_schema_map.values())
325
+ ollama_tools = tools_override
326
+ tools_json = json.dumps(tools_override)
327
+ print(f"DEBUG RUN_AGENT: start agent_id={agent_id_for_session}, tools_override={len(tools_override)} tools", flush=True)
328
+ else:
329
+ custom_tools = load_custom_tools()
330
+ print(f"DEBUG RUN_AGENT: start agent_id={agent_id_for_session}, sessions={list(server_module.agent_sessions.keys())}", flush=True)
331
+ all_tools, tool_schema_map, ollama_tools, tools_json = await aggregate_all_tools(
332
+ server_module.agent_sessions, active_agent, custom_tools
333
+ )
334
+ print(f"DEBUG RUN_AGENT: aggregate_all_tools done, tool_count={len(all_tools)}", flush=True)
335
+ allowed_tools = list(allowed_tools_override) if allowed_tools_override else active_agent.get("tools", ["all"])
336
+
337
+ system_prompt_text = build_system_prompt(
338
+ agent_system_template, tools_json, session_id,
339
+ _get_session_state, server_module.memory_store, agent_id=agent_id_for_session,
340
+ turns_remaining=max_turns, max_turns=max_turns,
341
+ inject_tools=inject_tools_in_prompt,
342
+ )
343
+
344
+ # Inject orchestration-awareness block when called from an orchestration step
345
+ if system_prompt_extra:
346
+ system_prompt_text = system_prompt_text + "\n\n" + system_prompt_extra
347
+
348
+ async def generate_response(prompt_msg, sys_prompt, tools=None, history_messages=None, memory_context_text="", images_for_turn=None, tool_name_for_log=None):
349
+ return await llm_generate_response(
350
+ prompt_msg=prompt_msg,
351
+ sys_prompt=sys_prompt,
352
+ mode=mode,
353
+ current_model=current_model,
354
+ current_settings=current_settings,
355
+ tools=tools,
356
+ history_messages=history_messages,
357
+ memory_context_text=memory_context_text,
358
+ session_id=session_id,
359
+ agent_id=agent_id_for_session,
360
+ source=source,
361
+ run_id=run_id,
362
+ tool_name=tool_name_for_log,
363
+ images=images_for_turn,
364
+ )
365
+
366
+ # ReAct loop state
367
+ user_message = message
368
+ memory_context = ""
369
+ agent_type = active_agent.get("type", "conversational")
370
+ # Orchestrator and builder agents always start fresh — no history carryover between runs
371
+ is_orchestrator = agent_type in ("orchestrator", "builder")
372
+ if history_override is not None:
373
+ recent_history_messages = history_override
374
+ elif is_orchestrator:
375
+ recent_history_messages = []
376
+ else:
377
+ recent_history_messages = get_recent_history_messages(session_id, agent_id=agent_id_for_session)
378
+ current_context_text = f"User Request: {user_message}\n"
379
+ final_response = ""
380
+ last_intent = "chat"
381
+ last_data = None
382
+ tool_name = None
383
+ last_tool_logged = None # track tool from previous turn for usage log
384
+ tools_used_summary = []
385
+ tool_repetition_counts = {}
386
+ # Compact log of browser actions taken this run — prepended before the live
387
+ # <<BROWSER_STATE>> block so the agent retains full action history even
388
+ # though the DOM snapshot is replaced on each navigation/click.
389
+ browser_action_history: list[str] = []
390
+ _has_compacted = False # anti-thrash: only compact once per run
391
+
392
+ # Build type-aware set of always-allowed tools
393
+ always_allowed = set(DEFAULT_TOOLS_BY_TYPE.get("all_types", set()))
394
+ always_allowed |= set(DEFAULT_TOOLS_BY_TYPE.get(agent_type, set()))
395
+
396
+ MAX_PROMPT_CHARS = 400000
397
+
398
+ # Browser tools produce DOM snapshots that are only useful for the current turn.
399
+ # Previous snapshots become stale the moment the page changes, so we skip
400
+ # appending them to the accumulated context and only keep a short summary.
401
+ BROWSER_TOOL_PREFIXES = ("browser_",)
402
+
403
+ def _truncate_tool_output(text: str, limit: int = 0) -> str:
404
+ """No-op: returns the full tool output without any truncation."""
405
+ return text
406
+
407
+ def _is_browser_tool(name: str) -> bool:
408
+ return name.startswith(BROWSER_TOOL_PREFIXES)
409
+
410
+ async with httpx.AsyncClient() as client:
411
+ for turn in range(max_turns):
412
+ print(f"\n{'#'*60}\n### TURN {turn + 1}/{max_turns} ###\n{'#'*60}\n")
413
+
414
+ yield {"type": "thinking", "message": "Analyzing your request..."}
415
+
416
+ # Rebuild system prompt each turn so turns_remaining is always accurate
417
+ turns_remaining = max_turns - turn # after this turn starts, turns_remaining decreases
418
+ active_sys_prompt = build_system_prompt(
419
+ agent_system_template, tools_json, session_id,
420
+ _get_session_state, server_module.memory_store, agent_id=agent_id_for_session,
421
+ turns_remaining=turns_remaining, max_turns=max_turns,
422
+ inject_tools=inject_tools_in_prompt,
423
+ )
424
+ # Re-inject orchestration context (system_prompt_extra) on every turn.
425
+ # This block is built once before the loop and must survive every
426
+ # rebuild of active_sys_prompt so the agent never loses orchestration
427
+ # step context, shared state, or turn-budget instructions.
428
+ if system_prompt_extra:
429
+ active_sys_prompt = active_sys_prompt + "\n\n" + system_prompt_extra
430
+
431
+ # Determine prompt
432
+ if turn == 0:
433
+ active_prompt = user_message
434
+ active_history = recent_history_messages
435
+ else:
436
+ active_prompt = current_context_text
437
+ active_history = []
438
+
439
+ # Auto-compact: summarise accumulated context when it exceeds the threshold.
440
+ # Gated on turn > 0 (nothing to compact on the first turn) and
441
+ # _has_compacted (anti-thrash: skip if we already compacted this run so we
442
+ # don't loop calling the LLM when a single output fills the window).
443
+ if turn > 0 and not _has_compacted:
444
+ _compact_ctx, _compact_hist, _compact_path = await maybe_compact(
445
+ current_context_text,
446
+ recent_history_messages,
447
+ current_settings,
448
+ current_model,
449
+ mode,
450
+ current_settings,
451
+ session_id,
452
+ agent_id_for_session,
453
+ )
454
+ if _compact_ctx is not current_context_text:
455
+ current_context_text = _compact_ctx
456
+ recent_history_messages = _compact_hist
457
+ active_prompt = current_context_text
458
+ active_history = []
459
+ _has_compacted = True
460
+ if _compact_path is not None:
461
+ yield {"type": "system", "message": f"Context compacted — original archived at: {_compact_path}"}
462
+ else:
463
+ yield {"type": "system", "message": "Context trimmed — oldest tool outputs dropped to stay within threshold."}
464
+
465
+ # Safety guard: truncate if too long
466
+ total_prompt_chars = len(active_prompt) + len(active_sys_prompt) + len(memory_context)
467
+ print(f"DEBUG: 📊 Context size — prompt: {len(active_prompt)} | system: {len(active_sys_prompt)} | memory: {len(memory_context)} | total: {total_prompt_chars} chars")
468
+ if total_prompt_chars > MAX_PROMPT_CHARS:
469
+ overflow = total_prompt_chars - MAX_PROMPT_CHARS
470
+ active_prompt = active_prompt[: len(active_prompt) - overflow]
471
+ print(f"DEBUG: ⚠️ Truncated prompt by {overflow} chars")
472
+
473
+ # Ask LLM
474
+ print(f"DEBUG: 🔄 Calling LLM...", flush=True)
475
+ _llm_start = time.time()
476
+ try:
477
+ llm_output = await generate_response(
478
+ active_prompt, active_sys_prompt,
479
+ tools=ollama_tools, history_messages=active_history,
480
+ memory_context_text=memory_context,
481
+ images_for_turn=images if turn == 0 else None, # images only on first turn
482
+ tool_name_for_log=last_tool_logged,
483
+ )
484
+ except Exception as llm_err:
485
+ _llm_duration = round(time.time() - _llm_start, 1)
486
+ error_msg = f"LLM Error ({_llm_duration}s): {llm_err}"
487
+ print(f"DEBUG: ❌ {error_msg}", flush=True)
488
+ final_response = str(llm_err)
489
+ yield {"type": "error", "message": str(llm_err)}
490
+ break
491
+ _llm_duration = round(time.time() - _llm_start, 1)
492
+ print(f"DEBUG: 🤖 LLM Response ({_llm_duration}s): {llm_output[:500]}{'...(truncated)' if len(llm_output) > 500 else ''}")
493
+
494
+ # Emit LLM thought for frontend (before tool parsing so UI can show reasoning)
495
+ if llm_output.strip():
496
+ yield {"type": "llm_thought", "thought": llm_output, "turn": turn + 1}
497
+
498
+ # Parse every tool call the LLM emitted in this response and execute
499
+ # them sequentially before the next LLM turn. This prevents partial
500
+ # saves when a provider batches multiple calls into one response.
501
+ tool_calls = parse_all_tool_calls(llm_output)
502
+
503
+ if not tool_calls:
504
+ final_response = llm_output
505
+ break
506
+
507
+ # Append the LLM's full reasoning to context once, before any execution,
508
+ # so the next turn has the chain-of-thought (including the tool-call JSON).
509
+ if llm_output.strip():
510
+ current_context_text += f"\nAssistant Thought: {llm_output}\n"
511
+
512
+ for tool_call in tool_calls:
513
+ tool_name = tool_call.get("tool", "")
514
+ if not isinstance(tool_name, str) or not tool_name.strip():
515
+ continue
516
+ tool_args = tool_call.get("arguments", {})
517
+ last_tool_logged = tool_name # record for next turn's log entry
518
+
519
+ # Apply sticky args
520
+ tool_schema = tool_schema_map.get(tool_name)
521
+ tool_args = _apply_sticky_args(session_id, tool_name, tool_args, tool_schema)
522
+
523
+ # ── browser_snapshot filename guard ────────────────────────────
524
+ # Ensure the `filename` arg always lives under data/vault/ so
525
+ # snapshots are persisted in the correct location regardless of
526
+ # what the LLM provides.
527
+ if tool_name == "browser_snapshot" and "filename" in tool_args:
528
+ _snap_fname = tool_args["filename"]
529
+ _vault_prefix = "data/vault/"
530
+ if not _snap_fname.startswith(_vault_prefix):
531
+ # Strip any leading slashes / accidental partial paths
532
+ # then prepend the canonical prefix.
533
+ _snap_fname = _snap_fname.lstrip("/")
534
+ # If it already contains "data/" or "vault/" as a fragment,
535
+ # strip that too so we never end up with double prefixes.
536
+ for _bad_prefix in ("data/vault/", "vault/", "data/"):
537
+ if _snap_fname.startswith(_bad_prefix):
538
+ _snap_fname = _snap_fname[len(_bad_prefix):]
539
+ break
540
+ tool_args = dict(tool_args) # don't mutate original
541
+ tool_args["filename"] = _vault_prefix + _snap_fname
542
+ print(
543
+ f"DEBUG: 📸 browser_snapshot filename normalised → {tool_args['filename']}",
544
+ flush=True,
545
+ )
546
+
547
+ yield {"type": "tool_execution", "tool_name": tool_name, "args": tool_args}
548
+ print(f"DEBUG: 🔧 Tool Call: {tool_name}")
549
+ print(f"DEBUG: 📥 Args: {json.dumps(tool_args, indent=2, default=str)[:1000]}")
550
+
551
+ # ── sequentialthinking hard cap (5 calls per task) ─────────────────
552
+ # sequentialthinking changes `thoughtNumber` on every call so the
553
+ # identical-args guard below never fires. Limit to 5 calls so the
554
+ # LLM cannot spin in an infinite think loop.
555
+ if tool_name == "sequentialthinking":
556
+ _seq_count = tool_repetition_counts.get("__sequentialthinking__", 0) + 1
557
+ tool_repetition_counts["__sequentialthinking__"] = _seq_count
558
+ if _seq_count > 5:
559
+ _seq_msg = (
560
+ "sequentialthinking has already been called 5 times this task. "
561
+ "You MUST now call a real action tool (browser, search, data tool, etc.) "
562
+ "to make progress. Do NOT call sequentialthinking again."
563
+ )
564
+ print(f"DEBUG: 🔁 sequentialthinking cap hit (call #{_seq_count}) — blocked", flush=True)
565
+ current_context_text += f"\nSystem: {_seq_msg}\n"
566
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": "Blocked: sequentialthinking already used 5 times (call a real tool now)"}
567
+ continue
568
+
569
+ # Execution guard
570
+ if "all" not in allowed_tools and tool_name not in allowed_tools and tool_name not in always_allowed:
571
+ block_msg = f"Tool '{tool_name}' is not available for this agent. Available tools: {', '.join(allowed_tools)}."
572
+ current_context_text += f"\nSystem: {block_msg}\n"
573
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": "Blocked: Tool not available for this agent"}
574
+ continue
575
+
576
+ if tool_name == "query_past_conversations":
577
+ # Tool has been removed — inform the LLM
578
+ current_context_text += f"\nSystem: The 'query_past_conversations' tool is no longer available. Use the current conversation context instead.\n"
579
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": "Tool removed"}
580
+ continue
581
+
582
+ # ===== BUILT-IN EXECUTOR OVERRIDE (e.g. builder) =====
583
+ # Checked before MCP/custom routing; returns None to fall through.
584
+
585
+ if tool_executor is not None:
586
+ _exec_result = await tool_executor(tool_name, tool_args)
587
+ if _exec_result is not None:
588
+ raw_output = maybe_vault(tool_name, _exec_result)
589
+ current_context_text += f"\nTool '{tool_name}' Output: {raw_output}\n"
590
+ tools_used_summary.append(f"{tool_name}: {raw_output}")
591
+ preview = raw_output[:500] + "..." if len(raw_output) > 500 else raw_output
592
+ print(f"DEBUG: 🔧 Executor result ({tool_name}): {preview}")
593
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": preview}
594
+ if post_tool_hook is not None:
595
+ async for _extra in post_tool_hook(tool_name, raw_output):
596
+ yield _extra
597
+ continue
598
+
599
+ # ===== NATIVE BUILDER TOOLS =====
600
+ # Registered as first-class tools in aggregate_all_tools. Any
601
+ # agent that declares these in its `tools` list lands here.
602
+ from core.builder_tools import BUILDER_TOOL_NAMES, execute_builder_tool
603
+ if tool_name in BUILDER_TOOL_NAMES:
604
+ try:
605
+ raw_output = await execute_builder_tool(tool_name, tool_args, server_module)
606
+ except Exception as e:
607
+ raw_output = json.dumps({"error": str(e)})
608
+ current_context_text += f"\nTool '{tool_name}' Output: {raw_output}\n"
609
+ tools_used_summary.append(f"{tool_name}: {raw_output}")
610
+ preview = raw_output[:500] + "..." if len(raw_output) > 500 else raw_output
611
+ print(f"DEBUG: 🏗 Builder tool ({tool_name}): {preview}")
612
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": preview}
613
+ if post_tool_hook is not None:
614
+ async for _extra in post_tool_hook(tool_name, raw_output):
615
+ yield _extra
616
+ continue
617
+
618
+ # ===== CUSTOM TOOLS (Webhook + Python) =====
619
+
620
+ if tool_name not in server_module.tool_router:
621
+ custom_tools_list = load_custom_tools()
622
+ target_tool = next((t for t in custom_tools_list if t["name"] == tool_name), None)
623
+
624
+ if target_tool:
625
+ tool_type = target_tool.get("tool_type", "http")
626
+
627
+ # ── Python Tool ──────────────────────────────────────────
628
+ if tool_type == "python":
629
+ try:
630
+ import asyncio as _asyncio
631
+ import shutil as _shutil
632
+ import tempfile as _tempfile
633
+ from pathlib import Path as _Path
634
+
635
+ python_code = target_tool.get("code", "")
636
+ if not python_code.strip():
637
+ raise ValueError("Python tool has no code defined.")
638
+
639
+ if not _shutil.which("docker"):
640
+ raise RuntimeError("Docker is not available. Cannot execute Python tool.")
641
+
642
+ # Inject _args at the top of user's code
643
+ args_json = json.dumps(tool_args)
644
+ escaped = args_json.replace("\\", "\\\\").replace('"""', '\\"\\"\\"')
645
+ injected_code = (
646
+ f'import json\n_args = json.loads("""{escaped}""")\n\n'
647
+ + python_code
648
+ )
649
+
650
+ DATA_DIR_PATH = _Path(__file__).resolve().parent.parent / "data"
651
+ vault_root = DATA_DIR_PATH / "vault"
652
+ docker_image = "sandbox-python:latest"
653
+
654
+ tmp_dir = _tempfile.mkdtemp(prefix="pytool_")
655
+ script_path = f"{tmp_dir}/script.py"
656
+ try:
657
+ with open(script_path, "w") as _f:
658
+ _f.write(injected_code)
659
+
660
+ docker_cmd = [
661
+ "docker", "run", "--rm",
662
+ "--memory", "512m",
663
+ "--cpus", "1.0",
664
+ "--pids-limit", "64",
665
+ "--read-only",
666
+ "--tmpfs", "/tmp:rw,size=256m",
667
+ "--tmpfs", "/root:rw,size=256m",
668
+ "--network", "none",
669
+ "-v", f"{script_path}:/sandbox/script.py:ro",
670
+ ]
671
+ if vault_root.exists():
672
+ docker_cmd += ["-v", f"{vault_root}:/data:ro"]
673
+ docker_cmd += [docker_image, "python", "/sandbox/script.py"]
674
+
675
+ proc = await _asyncio.create_subprocess_exec(
676
+ *docker_cmd,
677
+ stdout=_asyncio.subprocess.PIPE,
678
+ stderr=_asyncio.subprocess.PIPE,
679
+ )
680
+ try:
681
+ stdout_b, stderr_b = await _asyncio.wait_for(
682
+ proc.communicate(), timeout=35
683
+ )
684
+ except _asyncio.TimeoutError:
685
+ proc.kill()
686
+ await proc.wait()
687
+ raise RuntimeError("Python tool execution timed out after 30s")
688
+
689
+ stdout_text = stdout_b.decode("utf-8", errors="replace")[:20000]
690
+ stderr_text = stderr_b.decode("utf-8", errors="replace")[:5000]
691
+
692
+ if proc.returncode != 0:
693
+ raw_output = json.dumps({
694
+ "error": f"Python tool exited with code {proc.returncode}",
695
+ "stderr": stderr_text,
696
+ "stdout": stdout_text,
697
+ })
698
+ else:
699
+ # Try to parse stdout as JSON, otherwise wrap as string output
700
+ try:
701
+ parsed_out = json.loads(stdout_text.strip())
702
+ raw_output = json.dumps(parsed_out)
703
+ except Exception:
704
+ raw_output = json.dumps({"output": stdout_text})
705
+ if stderr_text:
706
+ print(f"DEBUG: Python tool stderr: {stderr_text[:200]}")
707
+
708
+ finally:
709
+ _shutil.rmtree(tmp_dir, ignore_errors=True)
710
+
711
+ raw_output = maybe_vault(tool_name, raw_output)
712
+ current_context_text += f"\nTool '{tool_name}' Output: {raw_output}\n"
713
+ tools_used_summary.append(f"{tool_name}: {raw_output}")
714
+ print(f"DEBUG: 🐍 Python Tool Result ({tool_name}): {raw_output}")
715
+ preview = raw_output[:500] + "..." if len(raw_output) > 500 else raw_output
716
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": preview}
717
+ last_intent = "custom_tool"
718
+ last_data = json.loads(raw_output) if raw_output else {}
719
+ continue
720
+ except Exception as e:
721
+ current_context_text += f"\nSystem: Error executing Python tool '{tool_name}': {str(e)}\n"
722
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": f"Error: {e}"}
723
+ continue
724
+
725
+ # ── HTTP / Webhook Tool ───────────────────────────────────
726
+ try:
727
+ method = target_tool.get("method", "POST")
728
+ url = target_tool.get("url")
729
+ headers = target_tool.get("headers", {})
730
+ if not url:
731
+ raise ValueError("No URL configured for this tool.")
732
+
733
+ resp = await client.request(method, url, json=tool_args, headers=headers, timeout=30.0)
734
+
735
+ json_resp = None
736
+ try:
737
+ json_resp = resp.json()
738
+ output_schema = target_tool.get("outputSchema", {})
739
+ if output_schema and "properties" in output_schema and isinstance(json_resp, dict):
740
+ filtered = {k: json_resp[k] for k in output_schema["properties"] if k in json_resp}
741
+ if filtered:
742
+ json_resp = filtered
743
+ raw_output = json.dumps(json_resp)
744
+ except Exception:
745
+ raw_output = resp.text or json.dumps({"error": f"Empty response (Status: {resp.status_code})"})
746
+
747
+ # Vault large outputs
748
+ raw_output = maybe_vault(tool_name, raw_output)
749
+
750
+ current_context_text += f"\nTool '{tool_name}' Output: {raw_output}\n"
751
+ tools_used_summary.append(f"{tool_name}: {raw_output}")
752
+ print(f"DEBUG: 📤 Tool Result ({tool_name}): {raw_output}")
753
+ preview = raw_output[:500] + "..." if len(raw_output) > 500 else raw_output
754
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": preview}
755
+
756
+ last_intent = "custom_tool"
757
+ last_data = json_resp if json_resp is not None else {"output": raw_output}
758
+ continue
759
+ except Exception as e:
760
+ current_context_text += f"\nSystem: Error executing custom tool {tool_name}: {str(e)}\n"
761
+ continue
762
+
763
+ # Hallucinated / unknown tool
764
+ available_tool_names = [t.name for t in all_tools]
765
+ names_str = ", ".join(available_tool_names[:30])
766
+ if len(available_tool_names) > 30:
767
+ names_str += f" ... ({len(available_tool_names)} total)"
768
+ print(f"DEBUG: ❓ Tool '{tool_name}' not found in any registered source (hallucinated or unregistered)", flush=True)
769
+ current_context_text += (
770
+ f"\nSystem: Tool '{tool_name}' does not exist and cannot be called. "
771
+ f"Do not attempt to call it again. "
772
+ f"Available tools: {names_str}. "
773
+ f"Use one of these tools, or respond with plain text if no tool is needed.\n"
774
+ )
775
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": "Error: tool not found"}
776
+ continue
777
+
778
+ # ===== MCP TOOLS =====
779
+
780
+ agent_name, actual_tool_name = server_module.tool_router[tool_name]
781
+ session = server_module.agent_sessions[agent_name]
782
+
783
+ try:
784
+ # Force event-loop checkpoint before MCP operations.
785
+ # The MCP stdio transport uses 0-buffer memory streams
786
+ # (rendezvous channels) — background tasks (_receive_loop,
787
+ # stdout_reader, stdin_writer) need event-loop ticks to
788
+ # drain pending data. In orchestration mode the deeply
789
+ # nested async-generator chain can starve these tasks.
790
+ # An explicit checkpoint here ensures they get a turn
791
+ # before we send a new request.
792
+ await _anyio.sleep(0)
793
+
794
+ _mcp_t0 = time.time()
795
+ print(f"DEBUG MCP: ▶ session='{agent_name}' tool='{tool_name}' — ping starting", flush=True)
796
+
797
+ # Health check: ping the session before committing to a blocking
798
+ # call_tool().
799
+ try:
800
+ with _anyio.fail_after(5):
801
+ await session.send_ping()
802
+ except (TimeoutError, Exception) as _ping_err:
803
+ _ping_msg = f"MCP session '{agent_name}' unresponsive (ping: {_ping_err}). Skipping '{tool_name}'."
804
+ print(f"DEBUG MCP: ⚠️ {_ping_msg} [{round(time.time()-_mcp_t0,2)}s]", flush=True)
805
+ current_context_text += f"\nSystem: Error — {_ping_msg}\n"
806
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": f"Error: session unresponsive"}
807
+ continue
808
+
809
+ print(f"DEBUG MCP: ✓ ping OK [{round(time.time()-_mcp_t0,2)}s] — call_tool starting", flush=True)
810
+
811
+ _timeout = timedelta(seconds=45) if actual_tool_name.startswith("browser_") else timedelta(seconds=30)
812
+
813
+ # Checkpoint again right before the actual call_tool —
814
+ # gives background transport tasks one more scheduling
815
+ # opportunity after the ping round-trip.
816
+ await _anyio.sleep(0)
817
+
818
+ with _anyio.fail_after(_timeout.total_seconds() + 5):
819
+ result = await session.call_tool(actual_tool_name, tool_args, read_timeout_seconds=_timeout)
820
+ raw_output = result.content[0].text
821
+
822
+ print(f"DEBUG MCP: ✓ call_tool OK [{round(time.time()-_mcp_t0,2)}s] tool='{tool_name}'", flush=True)
823
+
824
+ # Vault large outputs before any further processing
825
+ raw_output = maybe_vault(tool_name, raw_output)
826
+
827
+ try:
828
+ parsed = json.loads(raw_output)
829
+ if "error" in parsed and parsed["error"] == "auth_required":
830
+ yield {"type": "final", "response": "Authentication required.", "intent": "request_auth", "data": parsed, "tool_name": tool_name}
831
+ return
832
+
833
+ # Set intent for frontend UI rendering.
834
+ # Map MCP tool names to the intents the frontend expects.
835
+ TOOL_INTENT_MAP = {
836
+ "list_gmail_messages": "list_emails",
837
+ "search_gmail_messages": "list_emails",
838
+ "get_message": "read_email",
839
+ "list_drive_files": "list_files",
840
+ "get_drive_file": "read_file",
841
+ "list_calendar_events": "list_events",
842
+ "create_calendar_event": "create_event",
843
+ "list_directory": "list_local_files",
844
+ }
845
+ intent = TOOL_INTENT_MAP.get(tool_name, tool_name)
846
+ if intent.startswith(("list_", "read_", "create_")):
847
+ last_intent = intent
848
+ last_data = parsed
849
+ if tool_name == "collect_data":
850
+ last_intent = "collect_data"
851
+ last_data = parsed
852
+ except (json.JSONDecodeError, KeyError, TypeError):
853
+ pass
854
+
855
+ if _is_browser_tool(tool_name):
856
+ # Browser snapshots go stale on every navigation/click.
857
+ # Keep a compact action history log + only the latest DOM snapshot.
858
+ BROWSER_MARKER = "\n<<BROWSER_STATE>>\n"
859
+ BROWSER_END = "\n<</BROWSER_STATE>>\n"
860
+ BROWSER_HISTORY_MARKER = "\n<<BROWSER_HISTORY>>\n"
861
+ BROWSER_HISTORY_END = "\n<</BROWSER_HISTORY>>\n"
862
+
863
+ # Record a one-line summary of this browser action in the history log
864
+ args_summary = ", ".join(f"{k}={str(v)[:80]}" for k, v in tool_args.items())
865
+ snapshot_preview = raw_output[:200].replace("\n", " ")
866
+ browser_action_history.append(
867
+ f"[Step {turn + 1}] {tool_name}({args_summary}) → {snapshot_preview}..."
868
+ )
869
+
870
+ # Remove previous browser history block if present
871
+ bhstart = current_context_text.find(BROWSER_HISTORY_MARKER)
872
+ if bhstart != -1:
873
+ bhend = current_context_text.find(BROWSER_HISTORY_END, bhstart)
874
+ if bhend != -1:
875
+ current_context_text = current_context_text[:bhstart] + current_context_text[bhend + len(BROWSER_HISTORY_END):]
876
+
877
+ # Remove previous live browser snapshot block if present
878
+ bstart = current_context_text.find(BROWSER_MARKER)
879
+ if bstart != -1:
880
+ bend = current_context_text.find(BROWSER_END, bstart)
881
+ if bend != -1:
882
+ current_context_text = current_context_text[:bstart] + current_context_text[bend + len(BROWSER_END):]
883
+
884
+ # Append updated history log + latest snapshot
885
+ history_text = "\n".join(browser_action_history)
886
+ current_context_text += (
887
+ f"{BROWSER_HISTORY_MARKER}Previous browser actions (oldest→newest):\n"
888
+ f"{history_text}"
889
+ f"{BROWSER_HISTORY_END}"
890
+ )
891
+ current_context_text += f"{BROWSER_MARKER}Tool '{tool_name}' Output (current page state): {raw_output}{BROWSER_END}"
892
+ print(f"DEBUG: 📤 Tool Result ({tool_name}): [browser, {len(raw_output)} chars in context, history={len(browser_action_history)} actions]")
893
+ else:
894
+ current_context_text += f"\nTool '{tool_name}' Output: {raw_output}\n"
895
+ print(f"DEBUG: 📤 Tool Result ({tool_name}): {raw_output}")
896
+
897
+ # MCP tool results are no longer embedded in ChromaDB
898
+ preview = raw_output[:500] + "..." if len(raw_output) > 500 else raw_output
899
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": preview}
900
+ if post_tool_hook is not None:
901
+ async for _extra in post_tool_hook(tool_name, raw_output):
902
+ yield _extra
903
+ tools_used_summary.append(f"{tool_name}: {raw_output}")
904
+ except Exception as e:
905
+ error_msg = str(e)
906
+ print(f"DEBUG: ❌ Tool '{tool_name}' failed: {error_msg}", flush=True)
907
+ current_context_text += f"\nSystem: Error executing tool {tool_name}: {error_msg}\n"
908
+ yield {"type": "tool_result", "tool_name": tool_name, "preview": f"Error: {error_msg}"}
909
+
910
+ if not final_response:
911
+ final_response = "I completed the requested actions."
912
+
913
+ # Persist conversation turn to JSON session file (skip for orchestrator agents)
914
+ if not is_orchestrator:
915
+ try:
916
+ _save_conversation_turn(
917
+ session_id=session_id,
918
+ agent_id=agent_id_for_session,
919
+ user=user_message,
920
+ assistant=final_response,
921
+ tools=tools_used_summary,
922
+ )
923
+ except Exception as mem_err:
924
+ print(f"WARNING: Session save failed (non-fatal): {mem_err}")
925
+
926
+ yield {"type": "final", "response": final_response, "intent": last_intent, "data": last_data, "tool_name": tool_name}
927
+
928
+
929
+ async def run_react_loop(request, server_module):
930
+ """Async generator that runs the ReAct loop and yields structured events.
931
+
932
+ This is the top-level entry point called by /chat and /chat/stream.
933
+ It resolves the active agent, checks for orchestrator type, and delegates
934
+ to either the orchestration engine or run_agent_step().
935
+
936
+ Event types:
937
+ {"type": "status", "message": str}
938
+ {"type": "thinking", "message": str}
939
+ {"type": "tool_execution", "tool_name": str, "args": dict}
940
+ {"type": "tool_result", "tool_name": str, "preview": str}
941
+ {"type": "final", "response": str, "intent": str, "data": Any, "tool_name": str|None}
942
+ {"type": "error", "message": str}
943
+ """
944
+ if not server_module.agent_sessions:
945
+ yield {"type": "error", "message": "No agents connected"}
946
+ return
947
+
948
+ session_id = _get_session_id(request)
949
+ user_message = expand_vault_mentions(request.message)
950
+
951
+ # Merge client state
952
+ ss = _get_session_state(session_id)
953
+ if request.client_state and isinstance(request.client_state, dict):
954
+ for key, value in request.client_state.items():
955
+ if value:
956
+ ss[key] = str(value)
957
+
958
+ yield {"type": "status", "message": "Processing your request..."}
959
+
960
+ # Resolve active agent
961
+ active_agent = _resolve_agent_by_id(request.agent_id)
962
+
963
+ # --- Orchestrator delegation ---
964
+ if active_agent.get("type") == "orchestrator":
965
+ orch_id = active_agent.get("orchestration_id")
966
+ if orch_id:
967
+ try:
968
+ from core.routes.orchestrations import load_orchestrations
969
+ from core.models_orchestration import Orchestration
970
+ from core.orchestration.engine import OrchestrationEngine
971
+
972
+ orchs = load_orchestrations()
973
+ orch_data = next((o for o in orchs if o["id"] == orch_id), None)
974
+ if orch_data:
975
+ orch = Orchestration.model_validate(orch_data)
976
+ engine = OrchestrationEngine(orch, server_module)
977
+ run_id = f"run_{orch_id}_{int(time.time() * 1000)}"
978
+ async for event in engine.run(user_message, run_id, session_id=session_id):
979
+ yield event
980
+ return
981
+ else:
982
+ yield {"type": "error", "message": f"Orchestration '{orch_id}' not found"}
983
+ return
984
+ except Exception as e:
985
+ yield {"type": "error", "message": f"Orchestration error: {e}"}
986
+ return
987
+ else:
988
+ yield {"type": "error", "message": "Orchestrator agent has no orchestration_id configured"}
989
+ return
990
+
991
+ # --- Standard single-agent ReAct loop ---
992
+ from core.agent_logger import AgentLogger
993
+ _agent_log = AgentLogger(
994
+ agent_id=active_agent.get("id", "default"),
995
+ agent_name=active_agent.get("name", "Unknown Agent"),
996
+ session_id=session_id,
997
+ source="chat",
998
+ user_message=user_message,
999
+ )
1000
+ _log_status = "completed"
1001
+ try:
1002
+ agent_max_turns = active_agent.get("max_turns") or None
1003
+ async for event in run_agent_step(
1004
+ message=user_message,
1005
+ agent_id=active_agent.get("id"),
1006
+ session_id=session_id,
1007
+ server_module=server_module,
1008
+ max_turns=agent_max_turns,
1009
+ images=getattr(request, 'images', None) or None,
1010
+ ):
1011
+ _agent_log.log_event(event)
1012
+ yield event
1013
+ except Exception:
1014
+ _log_status = "error"
1015
+ raise
1016
+ finally:
1017
+ _agent_log.run_end(_log_status)