fleetlens 0.15.7 → 0.16.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 (303) hide show
  1. package/app/apps/web/.next/BUILD_ID +1 -1
  2. package/app/apps/web/.next/app-path-routes-manifest.json +9 -0
  3. package/app/apps/web/.next/build-manifest.json +3 -3
  4. package/app/apps/web/.next/prerender-manifest.json +3 -3
  5. package/app/apps/web/.next/routes-manifest.json +62 -0
  6. package/app/apps/web/.next/server/app/_global-error/page.js +1 -1
  7. package/app/apps/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/app/apps/web/.next/server/app/_global-error.html +1 -1
  9. package/app/apps/web/.next/server/app/_global-error.rsc +1 -1
  10. package/app/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/app/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/app/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  13. package/app/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/app/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/app/apps/web/.next/server/app/_not-found/page.js +1 -1
  16. package/app/apps/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/app/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/app/apps/web/.next/server/app/agent/page/app-paths-manifest.json +3 -0
  19. package/app/apps/web/.next/server/app/agent/page/build-manifest.json +17 -0
  20. package/app/apps/web/.next/server/app/agent/page/next-font-manifest.json +6 -0
  21. package/app/apps/web/.next/server/app/agent/page/react-loadable-manifest.json +1 -0
  22. package/app/apps/web/.next/server/app/agent/page/server-reference-manifest.json +4 -0
  23. package/app/apps/web/.next/server/app/agent/page.js +18 -0
  24. package/app/apps/web/.next/server/app/agent/page.js.map +5 -0
  25. package/app/apps/web/.next/server/app/agent/page.js.nft.json +1 -0
  26. package/app/apps/web/.next/server/app/agent/page_client-reference-manifest.js +3 -0
  27. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route/app-paths-manifest.json +3 -0
  28. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route/build-manifest.json +9 -0
  29. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route/server-reference-manifest.json +4 -0
  30. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js +7 -0
  31. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js.map +5 -0
  32. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route.js.nft.json +1 -0
  33. package/app/apps/web/.next/server/app/api/agent/chats/[id]/events/route_client-reference-manifest.js +3 -0
  34. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route/app-paths-manifest.json +3 -0
  35. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route/build-manifest.json +9 -0
  36. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route/server-reference-manifest.json +4 -0
  37. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js +9 -0
  38. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js.map +5 -0
  39. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route.js.nft.json +1 -0
  40. package/app/apps/web/.next/server/app/api/agent/chats/[id]/messages/route_client-reference-manifest.js +3 -0
  41. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route/app-paths-manifest.json +3 -0
  42. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route/build-manifest.json +9 -0
  43. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route/server-reference-manifest.json +4 -0
  44. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js +7 -0
  45. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js.map +5 -0
  46. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route.js.nft.json +1 -0
  47. package/app/apps/web/.next/server/app/api/agent/chats/[id]/route_client-reference-manifest.js +3 -0
  48. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route/app-paths-manifest.json +3 -0
  49. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route/build-manifest.json +9 -0
  50. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route/server-reference-manifest.json +4 -0
  51. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js +7 -0
  52. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js.map +5 -0
  53. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route.js.nft.json +1 -0
  54. package/app/apps/web/.next/server/app/api/agent/chats/[id]/stop/route_client-reference-manifest.js +3 -0
  55. package/app/apps/web/.next/server/app/api/agent/chats/route/app-paths-manifest.json +3 -0
  56. package/app/apps/web/.next/server/app/api/agent/chats/route/build-manifest.json +9 -0
  57. package/app/apps/web/.next/server/app/api/agent/chats/route/server-reference-manifest.json +4 -0
  58. package/app/apps/web/.next/server/app/api/agent/chats/route.js +7 -0
  59. package/app/apps/web/.next/server/app/api/agent/chats/route.js.map +5 -0
  60. package/app/apps/web/.next/server/app/api/agent/chats/route.js.nft.json +1 -0
  61. package/app/apps/web/.next/server/app/api/agent/chats/route_client-reference-manifest.js +3 -0
  62. package/app/apps/web/.next/server/app/api/agent/index/route/app-paths-manifest.json +3 -0
  63. package/app/apps/web/.next/server/app/api/agent/index/route/build-manifest.json +9 -0
  64. package/app/apps/web/.next/server/app/api/agent/index/route/server-reference-manifest.json +4 -0
  65. package/app/apps/web/.next/server/app/api/agent/index/route.js +9 -0
  66. package/app/apps/web/.next/server/app/api/agent/index/route.js.map +5 -0
  67. package/app/apps/web/.next/server/app/api/agent/index/route.js.nft.json +1 -0
  68. package/app/apps/web/.next/server/app/api/agent/index/route_client-reference-manifest.js +3 -0
  69. package/app/apps/web/.next/server/app/api/agent/mcp/route/app-paths-manifest.json +3 -0
  70. package/app/apps/web/.next/server/app/api/agent/mcp/route/build-manifest.json +9 -0
  71. package/app/apps/web/.next/server/app/api/agent/mcp/route/server-reference-manifest.json +4 -0
  72. package/app/apps/web/.next/server/app/api/agent/mcp/route.js +10 -0
  73. package/app/apps/web/.next/server/app/api/agent/mcp/route.js.map +5 -0
  74. package/app/apps/web/.next/server/app/api/agent/mcp/route.js.nft.json +1 -0
  75. package/app/apps/web/.next/server/app/api/agent/mcp/route_client-reference-manifest.js +3 -0
  76. package/app/apps/web/.next/server/app/api/agent/suggestions/route/app-paths-manifest.json +3 -0
  77. package/app/apps/web/.next/server/app/api/agent/suggestions/route/build-manifest.json +9 -0
  78. package/app/apps/web/.next/server/app/api/agent/suggestions/route/server-reference-manifest.json +4 -0
  79. package/app/apps/web/.next/server/app/api/agent/suggestions/route.js +12 -0
  80. package/app/apps/web/.next/server/app/api/agent/suggestions/route.js.map +5 -0
  81. package/app/apps/web/.next/server/app/api/agent/suggestions/route.js.nft.json +1 -0
  82. package/app/apps/web/.next/server/app/api/agent/suggestions/route_client-reference-manifest.js +3 -0
  83. package/app/apps/web/.next/server/app/api/ask/route.js +3 -4
  84. package/app/apps/web/.next/server/app/api/ask/route.js.nft.json +1 -1
  85. package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js +4 -4
  86. package/app/apps/web/.next/server/app/api/digest/day/[date]/route.js.nft.json +1 -1
  87. package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js +4 -4
  88. package/app/apps/web/.next/server/app/api/digest/month/[yearMonth]/route.js.nft.json +1 -1
  89. package/app/apps/web/.next/server/app/api/digest/month-index/route.js +2 -2
  90. package/app/apps/web/.next/server/app/api/digest/month-index/route.js.nft.json +1 -1
  91. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js +4 -4
  92. package/app/apps/web/.next/server/app/api/digest/week/[startDate]/route.js.nft.json +1 -1
  93. package/app/apps/web/.next/server/app/api/digest/week-index/route.js +2 -2
  94. package/app/apps/web/.next/server/app/api/digest/week-index/route.js.nft.json +1 -1
  95. package/app/apps/web/.next/server/app/api/events/route.js.nft.json +1 -1
  96. package/app/apps/web/.next/server/app/api/jobs/route.js.nft.json +1 -1
  97. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js +3 -3
  98. package/app/apps/web/.next/server/app/api/pdf/[key]/route.js.nft.json +1 -1
  99. package/app/apps/web/.next/server/app/api/projects/open-folder/route.js.nft.json +1 -1
  100. package/app/apps/web/.next/server/app/api/runs/[runId]/route.js.nft.json +1 -1
  101. package/app/apps/web/.next/server/app/api/runs/[runId]/stream/route.js.nft.json +1 -1
  102. package/app/apps/web/.next/server/app/api/runs/route.js.nft.json +1 -1
  103. package/app/apps/web/.next/server/app/api/settings/credentials/route.js +5 -5
  104. package/app/apps/web/.next/server/app/api/settings/credentials/route.js.nft.json +1 -1
  105. package/app/apps/web/.next/server/app/api/settings/route.js +3 -3
  106. package/app/apps/web/.next/server/app/api/settings/route.js.nft.json +1 -1
  107. package/app/apps/web/.next/server/app/api/team/autostart/route.js.nft.json +1 -1
  108. package/app/apps/web/.next/server/app/api/team/onboarding/start/route.js.nft.json +1 -1
  109. package/app/apps/web/.next/server/app/api/team/sync-projects/route.js.nft.json +1 -1
  110. package/app/apps/web/.next/server/app/api/workflow-agent/route.js.nft.json +1 -1
  111. package/app/apps/web/.next/server/app/changelog/page.js +1 -1
  112. package/app/apps/web/.next/server/app/changelog/page.js.nft.json +1 -1
  113. package/app/apps/web/.next/server/app/changelog/page_client-reference-manifest.js +1 -1
  114. package/app/apps/web/.next/server/app/day/[date]/page.js +2 -2
  115. package/app/apps/web/.next/server/app/day/[date]/page.js.nft.json +1 -1
  116. package/app/apps/web/.next/server/app/day/[date]/page_client-reference-manifest.js +1 -1
  117. package/app/apps/web/.next/server/app/day/page.js +1 -1
  118. package/app/apps/web/.next/server/app/day/page.js.nft.json +1 -1
  119. package/app/apps/web/.next/server/app/day/page_client-reference-manifest.js +1 -1
  120. package/app/apps/web/.next/server/app/digest/[date]/page.js +1 -1
  121. package/app/apps/web/.next/server/app/digest/[date]/page.js.nft.json +1 -1
  122. package/app/apps/web/.next/server/app/digest/[date]/page_client-reference-manifest.js +1 -1
  123. package/app/apps/web/.next/server/app/digest/page.js +1 -1
  124. package/app/apps/web/.next/server/app/digest/page.js.nft.json +1 -1
  125. package/app/apps/web/.next/server/app/digest/page_client-reference-manifest.js +1 -1
  126. package/app/apps/web/.next/server/app/insights/[key]/page.js +2 -2
  127. package/app/apps/web/.next/server/app/insights/[key]/page.js.nft.json +1 -1
  128. package/app/apps/web/.next/server/app/insights/[key]/page_client-reference-manifest.js +1 -1
  129. package/app/apps/web/.next/server/app/insights/page.js +2 -2
  130. package/app/apps/web/.next/server/app/insights/page.js.nft.json +1 -1
  131. package/app/apps/web/.next/server/app/insights/page_client-reference-manifest.js +1 -1
  132. package/app/apps/web/.next/server/app/page.js +2 -2
  133. package/app/apps/web/.next/server/app/page.js.nft.json +1 -1
  134. package/app/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  135. package/app/apps/web/.next/server/app/parallelism/page.js +1 -1
  136. package/app/apps/web/.next/server/app/parallelism/page.js.nft.json +1 -1
  137. package/app/apps/web/.next/server/app/parallelism/page_client-reference-manifest.js +1 -1
  138. package/app/apps/web/.next/server/app/print/[key]/page.js +2 -2
  139. package/app/apps/web/.next/server/app/print/[key]/page.js.nft.json +1 -1
  140. package/app/apps/web/.next/server/app/print/[key]/page_client-reference-manifest.js +1 -1
  141. package/app/apps/web/.next/server/app/projects/[slug]/page.js +1 -1
  142. package/app/apps/web/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  143. package/app/apps/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  144. package/app/apps/web/.next/server/app/projects/page.js +1 -1
  145. package/app/apps/web/.next/server/app/projects/page.js.nft.json +1 -1
  146. package/app/apps/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  147. package/app/apps/web/.next/server/app/runs/page.js +1 -1
  148. package/app/apps/web/.next/server/app/runs/page.js.nft.json +1 -1
  149. package/app/apps/web/.next/server/app/runs/page_client-reference-manifest.js +1 -1
  150. package/app/apps/web/.next/server/app/sessions/[id]/page.js +1 -1
  151. package/app/apps/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  152. package/app/apps/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  153. package/app/apps/web/.next/server/app/sessions/page.js +1 -1
  154. package/app/apps/web/.next/server/app/sessions/page.js.nft.json +1 -1
  155. package/app/apps/web/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  156. package/app/apps/web/.next/server/app/settings/page.js +2 -2
  157. package/app/apps/web/.next/server/app/settings/page.js.nft.json +1 -1
  158. package/app/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  159. package/app/apps/web/.next/server/app/team/onboarding/page.js +1 -1
  160. package/app/apps/web/.next/server/app/team/onboarding/page.js.nft.json +1 -1
  161. package/app/apps/web/.next/server/app/team/onboarding/page_client-reference-manifest.js +1 -1
  162. package/app/apps/web/.next/server/app/team/page.js +1 -1
  163. package/app/apps/web/.next/server/app/team/page.js.nft.json +1 -1
  164. package/app/apps/web/.next/server/app/team/page_client-reference-manifest.js +1 -1
  165. package/app/apps/web/.next/server/app/usage/page.js +1 -1
  166. package/app/apps/web/.next/server/app/usage/page.js.nft.json +1 -1
  167. package/app/apps/web/.next/server/app/usage/page_client-reference-manifest.js +1 -1
  168. package/app/apps/web/.next/server/app-paths-manifest.json +9 -0
  169. package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_agent_chats_[id]_events_route_actions_0fkgl_r.js +3 -0
  170. package/app/apps/web/.next/server/chunks/02dz_web__next-internal_server_app_api_agent_chats_[id]_stop_route_actions_036fon_.js +3 -0
  171. package/app/apps/web/.next/server/chunks/09og__next-internal_server_app_api_agent_chats_[id]_messages_route_actions_0ubwh4q.js +3 -0
  172. package/app/apps/web/.next/server/chunks/[root-of-the-server]__01~cgp8._.js +3 -0
  173. package/app/apps/web/.next/server/chunks/[root-of-the-server]__02faosk._.js +30 -0
  174. package/app/apps/web/.next/server/chunks/[root-of-the-server]__02puo0u._.js +3 -0
  175. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0367vbv._.js +3 -0
  176. package/app/apps/web/.next/server/chunks/[root-of-the-server]__04g-b-m._.js +9 -0
  177. package/app/apps/web/.next/server/chunks/[root-of-the-server]__06xto5z._.js +9 -0
  178. package/app/apps/web/.next/server/chunks/[root-of-the-server]__096_llw._.js +3 -0
  179. package/app/apps/web/.next/server/chunks/[root-of-the-server]__09cgmam._.js +28 -0
  180. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0_5tf-2._.js +21 -0
  181. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0gvw6dk._.js +3 -0
  182. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0mx_9mb._.js +5 -0
  183. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0pirsh0._.js +9 -0
  184. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0sbhe0s._.js +3 -0
  185. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0tk8p3d._.js +28 -0
  186. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0u6pamj._.js +28 -0
  187. package/app/apps/web/.next/server/chunks/[root-of-the-server]__123tfcb._.js +3 -0
  188. package/app/apps/web/.next/server/chunks/[root-of-the-server]__12jomao._.js +28 -0
  189. package/app/apps/web/.next/server/chunks/_132c.4p._.js +3 -0
  190. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_chats_[id]_route_actions_0b95y8h.js +3 -0
  191. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_chats_route_actions_07b4w1x.js +3 -0
  192. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_index_route_actions_03~ylvr.js +3 -0
  193. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_mcp_route_actions_0-b30h..js +3 -0
  194. package/app/apps/web/.next/server/chunks/apps_web__next-internal_server_app_api_agent_suggestions_route_actions_0r_5s~k.js +3 -0
  195. package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0sr4wr_.js +13 -0
  196. package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0z_xi9k.js +16 -0
  197. package/app/apps/web/.next/server/chunks/{packages_0o6.gpk._.js → packages_entries_dist_0-0s5ui._.js} +2 -2
  198. package/app/apps/web/.next/server/chunks/packages_entries_dist_0~0d7ku._.js +3 -0
  199. package/app/apps/web/.next/server/chunks/packages_entries_dist_node_0bckr7-.js +8 -8
  200. package/app/apps/web/.next/server/chunks/packages_parser_dist_06d9se1._.js +1 -1
  201. package/app/apps/web/.next/server/chunks/packages_parser_dist_10ihc3~._.js +1 -1
  202. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0e.gxk3._.js → [root-of-the-server]__0.wm54e._.js} +2 -2
  203. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__04il6m2._.js → [root-of-the-server]__04qodwp._.js} +2 -2
  204. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0k1x-c9._.js → [root-of-the-server]__07~kk2~._.js} +2 -2
  205. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__03uoeiw._.js → [root-of-the-server]__0_78i1t._.js} +2 -2
  206. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0amklf0._.js +3 -0
  207. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0nr2~y1._.js → [root-of-the-server]__0d5y90m._.js} +2 -2
  208. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__03svi~4._.js → [root-of-the-server]__0iv286q._.js} +2 -2
  209. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0j683am._.js +3 -0
  210. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__0rvzdnx._.js → [root-of-the-server]__0kml6jt._.js} +2 -2
  211. package/app/apps/web/.next/server/chunks/ssr/{[root-of-the-server]__08l86e-._.js → [root-of-the-server]__0lmftab._.js} +2 -2
  212. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ns6ydi._.js +3 -0
  213. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0vo.r~s._.js +3 -0
  214. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~8.fgs._.js +3 -0
  215. package/app/apps/web/.next/server/chunks/ssr/_0k8yioi._.js +1 -1
  216. package/app/apps/web/.next/server/chunks/ssr/{_13jdm1g._.js → _0~r5ica._.js} +2 -2
  217. package/app/apps/web/.next/server/chunks/ssr/apps_web__next-internal_server_app_agent_page_actions_0tuled1.js +3 -0
  218. package/app/apps/web/.next/server/chunks/ssr/apps_web_app_day_[date]_day-view_tsx_0wjoe1u._.js +1 -1
  219. package/app/apps/web/.next/server/chunks/ssr/apps_web_app_sessions_[id]_session-view_tsx_0-9t5~.._.js +12 -0
  220. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_0x014hn._.js +1 -1
  221. package/app/apps/web/.next/server/chunks/ssr/apps_web_components_agent-chat_tsx_0xbtx2n._.js +5 -0
  222. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0n7_p1d._.js +1 -1
  223. package/app/apps/web/.next/server/chunks/ssr/apps_web_lib_changelog_ts_0nb5_-s._.js +1 -1
  224. package/app/apps/web/.next/server/chunks/ssr/{node_modules_0yrkyef._.js → node_modules_next_dist_0t-hj0x._.js} +2 -2
  225. package/app/apps/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0~g07z5.js +4 -0
  226. package/app/apps/web/.next/server/chunks/ssr/packages_parser_dist_0mx_509._.js +1 -1
  227. package/app/apps/web/.next/server/functions-config-manifest.json +8 -0
  228. package/app/apps/web/.next/server/middleware-build-manifest.js +3 -3
  229. package/app/apps/web/.next/server/middleware-manifest.json +5 -5
  230. package/app/apps/web/.next/server/pages/500.html +1 -1
  231. package/app/apps/web/.next/server/server-reference-manifest.js +1 -1
  232. package/app/apps/web/.next/server/server-reference-manifest.json +1 -1
  233. package/app/apps/web/.next/static/chunks/04feoajklmrl3.js +3 -0
  234. package/app/apps/web/.next/static/chunks/07bzlfv97o1ig.js +10 -0
  235. package/app/apps/web/.next/static/chunks/0d~7p_ye7v7_5.css +1 -0
  236. package/app/apps/web/.next/static/chunks/0iiqpl6d_3i5~.js +1 -0
  237. package/app/apps/web/.next/static/chunks/0mry~475v0fa3.js +14 -0
  238. package/app/apps/web/.next/static/chunks/0qwgm81o9o~um.js +1 -0
  239. package/app/apps/web/.next/static/chunks/{0y3448zrint0k.js → 0~rycwo36m~c3.js} +1 -1
  240. package/app/apps/web/.next/static/chunks/12zmbd3mlcbn_.js +1 -0
  241. package/app/apps/web/.next/static/chunks/16bapkvp5.x37.js +1 -0
  242. package/app/apps/web/app/agent/page.tsx +12 -0
  243. package/app/apps/web/app/api/agent/chats/[id]/events/route.ts +86 -0
  244. package/app/apps/web/app/api/agent/chats/[id]/messages/route.ts +47 -0
  245. package/app/apps/web/app/api/agent/chats/[id]/route.ts +19 -0
  246. package/app/apps/web/app/api/agent/chats/[id]/stop/route.ts +10 -0
  247. package/app/apps/web/app/api/agent/chats/route.ts +26 -0
  248. package/app/apps/web/app/api/agent/index/route.ts +56 -0
  249. package/app/apps/web/app/api/agent/mcp/route.ts +31 -0
  250. package/app/apps/web/app/api/agent/suggestions/route.ts +150 -0
  251. package/app/apps/web/components/agent-chat.tsx +940 -0
  252. package/app/apps/web/components/sidebar.tsx +8 -21
  253. package/app/apps/web/lib/agent/chat-model.ts +125 -0
  254. package/app/apps/web/lib/agent/chat-store.test.ts +125 -0
  255. package/app/apps/web/lib/agent/chat-store.ts +59 -0
  256. package/app/apps/web/lib/agent/extract.test.ts +141 -0
  257. package/app/apps/web/lib/agent/extract.ts +75 -0
  258. package/app/apps/web/lib/agent/index-store.ts +206 -0
  259. package/app/apps/web/lib/agent/links.test.ts +27 -0
  260. package/app/apps/web/lib/agent/links.ts +10 -0
  261. package/app/apps/web/lib/agent/mcp.test.ts +83 -0
  262. package/app/apps/web/lib/agent/mcp.ts +85 -0
  263. package/app/apps/web/lib/agent/prompt.test.ts +38 -0
  264. package/app/apps/web/lib/agent/prompt.ts +44 -0
  265. package/app/apps/web/lib/agent/run.ts +426 -0
  266. package/app/apps/web/lib/agent/search.test.ts +111 -0
  267. package/app/apps/web/lib/agent/search.ts +144 -0
  268. package/app/apps/web/lib/agent/suggestions.test.ts +156 -0
  269. package/app/apps/web/lib/agent/suggestions.ts +167 -0
  270. package/app/apps/web/lib/agent/tools.test.ts +98 -0
  271. package/app/apps/web/lib/agent/tools.ts +176 -0
  272. package/app/apps/web/lib/agent/types.ts +50 -0
  273. package/app/apps/web/lib/changelog-data.generated.ts +1 -1
  274. package/app/apps/web/package.json +1 -1
  275. package/app/apps/web/tsconfig.tsbuildinfo +1 -1
  276. package/app/apps/web/vitest.config.ts +4 -0
  277. package/dist/daemon-worker.js +9 -4
  278. package/dist/index.js +19 -12
  279. package/menubar/FleetlensMenubar.app/Contents/Info.plist +2 -2
  280. package/menubar/FleetlensMenubar.app/Contents/MacOS/FleetlensMenubar +0 -0
  281. package/package.json +1 -1
  282. package/app/apps/web/.next/server/chunks/[root-of-the-server]__03ewxxu._.js +0 -9
  283. package/app/apps/web/.next/server/chunks/[root-of-the-server]__03rmbz6._.js +0 -3
  284. package/app/apps/web/.next/server/chunks/[root-of-the-server]__05z0pcw._.js +0 -3
  285. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0acikq.._.js +0 -9
  286. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0b5r~-1._.js +0 -3
  287. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0jbc7tz._.js +0 -3
  288. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0ow1kn1._.js +0 -9
  289. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0t7i-hy._.js +0 -3
  290. package/app/apps/web/.next/server/chunks/[root-of-the-server]__0~xt99s._.js +0 -3
  291. package/app/apps/web/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0ck.78s.js +0 -21
  292. package/app/apps/web/.next/server/chunks/packages_09wmnv.._.js +0 -3
  293. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0g-tomj._.js +0 -3
  294. package/app/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0~.f_3z._.js +0 -12
  295. package/app/apps/web/.next/static/chunks/02xxpexzk3rf-.js +0 -1
  296. package/app/apps/web/.next/static/chunks/044mtrzh7d7va.js +0 -10
  297. package/app/apps/web/.next/static/chunks/05-k9oryi9wz1.js +0 -14
  298. package/app/apps/web/.next/static/chunks/05b0dn.r00hq1.js +0 -1
  299. package/app/apps/web/.next/static/chunks/0t2on1dhydyb2.css +0 -1
  300. package/app/apps/web/.next/static/chunks/0tliv91mhmrzn.js +0 -1
  301. /package/app/apps/web/.next/static/{5IC6kxw0JoPeCIPdnTpEp → bTww6lPxII4wde65VQDrF}/_buildManifest.js +0 -0
  302. /package/app/apps/web/.next/static/{5IC6kxw0JoPeCIPdnTpEp → bTww6lPxII4wde65VQDrF}/_clientMiddlewareManifest.js +0 -0
  303. /package/app/apps/web/.next/static/{5IC6kxw0JoPeCIPdnTpEp → bTww6lPxII4wde65VQDrF}/_ssgManifest.js +0 -0
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Search-index maintenance.
3
+ *
4
+ * GET → current index stats (session count, last refresh, building flag)
5
+ * POST → run an incremental refresh, streaming progress as SSE
6
+ */
7
+
8
+ import { ensureIndex, indexStats } from "@/lib/agent/index-store";
9
+
10
+ export const dynamic = "force-dynamic";
11
+ export const runtime = "nodejs";
12
+
13
+ export function GET() {
14
+ return Response.json(indexStats());
15
+ }
16
+
17
+ export async function POST() {
18
+ const encoder = new TextEncoder();
19
+ const stream = new ReadableStream({
20
+ start(controller) {
21
+ let closed = false;
22
+ const send = (data: unknown) => {
23
+ if (closed) return;
24
+ try {
25
+ controller.enqueue(encoder.encode(`data: ${JSON.stringify(data)}\n\n`));
26
+ } catch {
27
+ closed = true;
28
+ }
29
+ };
30
+ void (async () => {
31
+ try {
32
+ // Explicit refresh always rescans — the 15s freshness window is
33
+ // for tool calls piggybacking mid-turn, not the refresh button.
34
+ const docs = await ensureIndex((p) => send({ type: "progress", ...p }), { force: true });
35
+ send({ type: "done", sessions: docs.length });
36
+ } catch (err) {
37
+ send({ type: "error", message: (err as Error).message });
38
+ }
39
+ if (!closed) {
40
+ try {
41
+ controller.close();
42
+ } catch {}
43
+ closed = true;
44
+ }
45
+ })();
46
+ },
47
+ });
48
+ return new Response(stream, {
49
+ headers: {
50
+ "Content-Type": "text/event-stream",
51
+ "Cache-Control": "no-cache, no-transform",
52
+ Connection: "keep-alive",
53
+ "X-Accel-Buffering": "no",
54
+ },
55
+ });
56
+ }
@@ -0,0 +1,31 @@
1
+ /** MCP tool server the spawned claude subprocess calls back into
2
+ * (streamable-HTTP), so tools run in-process sharing the session index.
3
+ * Unauthenticated by design — localhost-only threat model like the rest
4
+ * of the dashboard; do NOT port to team-server without adding auth. */
5
+
6
+ import { handleMcpMessage } from "@/lib/agent/mcp";
7
+ import { agentTools } from "@/lib/agent/tools";
8
+
9
+ export const dynamic = "force-dynamic";
10
+ export const runtime = "nodejs";
11
+
12
+ export async function POST(request: Request) {
13
+ let body: unknown;
14
+ try {
15
+ body = await request.json();
16
+ } catch {
17
+ return Response.json(
18
+ { jsonrpc: "2.0", id: null, error: { code: -32700, message: "parse error" } },
19
+ { status: 400 },
20
+ );
21
+ }
22
+ const res = await handleMcpMessage(body, agentTools);
23
+ if (res === null) return new Response(null, { status: 202 });
24
+ return Response.json(res);
25
+ }
26
+
27
+ /** The streamable-HTTP transport probes GET for an event stream; we don't
28
+ * push server-initiated messages, so decline politely. */
29
+ export function GET() {
30
+ return new Response(null, { status: 405 });
31
+ }
@@ -0,0 +1,150 @@
1
+ /** Personalized empty-state suggestion chips. GET answers immediately from
2
+ * the best tier (cached LLM chips → deterministic template-fill → static
3
+ * fallback; AI off ⇒ deterministic) and, when stale, fires one background
4
+ * haiku regeneration — the client re-fetches while `refreshing` is true. */
5
+
6
+ import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
7
+ import { dirname } from "node:path";
8
+ import { cclensPath } from "@claude-lens/parser/fs";
9
+ import { interactiveLockFresh, readSettings, runClaudeSubprocess } from "@claude-lens/entries/node";
10
+ import { ensureIndex, indexIsEmpty, indexStats, peekDocs } from "@/lib/agent/index-store";
11
+ import {
12
+ FALLBACK_SUGGESTIONS,
13
+ SUGGESTION_SYSTEM_PROMPT,
14
+ buildSuggestionContext,
15
+ deterministicSuggestions,
16
+ parseSuggestions,
17
+ suggestionInputKey,
18
+ type Suggestion,
19
+ } from "@/lib/agent/suggestions";
20
+
21
+ export const dynamic = "force-dynamic";
22
+ export const runtime = "nodejs";
23
+
24
+ const CACHE_TTL_MS = 24 * 3_600_000;
25
+
26
+ type Cache = {
27
+ version: 1;
28
+ generated_at: string;
29
+ input_key: string;
30
+ model: string;
31
+ suggestions: Suggestion[];
32
+ };
33
+
34
+ function cachePath(): string {
35
+ return cclensPath("agent-suggestions.json");
36
+ }
37
+
38
+ function readCache(): Cache | null {
39
+ try {
40
+ const c = JSON.parse(readFileSync(cachePath(), "utf8")) as Cache;
41
+ return c.version === 1 && Array.isArray(c.suggestions) && c.suggestions.length === 4 ? c : null;
42
+ } catch {
43
+ return null;
44
+ }
45
+ }
46
+
47
+ function writeCache(c: Cache): void {
48
+ const p = cachePath();
49
+ mkdirSync(dirname(p), { recursive: true });
50
+ const tmp = `${p}.tmp.${process.pid}`;
51
+ writeFileSync(tmp, JSON.stringify(c, null, 2), "utf8");
52
+ renameSync(tmp, p);
53
+ }
54
+
55
+ // Cross-route/cross-compile latch — see the globalThis note in index-store.
56
+ type Latch = { refreshing: Promise<void> | null; lastAttemptMs: number };
57
+ const latch: Latch = ((globalThis as Record<string, unknown>).__fleetlensAgentSuggestions ??= {
58
+ refreshing: null,
59
+ lastAttemptMs: 0,
60
+ }) as Latch;
61
+
62
+ /** Minimum spacing between generation attempts. Success short-circuits via
63
+ * the fresh cache; this floor is what stops a persistently-unparseable
64
+ * model from being re-spawned by every polling client. */
65
+ const RETRY_FLOOR_MS = 5 * 60_000;
66
+
67
+ function kickRefresh(context: string, inputKey: string): void {
68
+ if (latch.refreshing) return;
69
+ if (Date.now() - latch.lastAttemptMs < RETRY_FLOOR_MS) return;
70
+ // A digest pipeline mid-run owns the LLM budget; suggestions can wait for
71
+ // the next visit rather than pile on.
72
+ if (interactiveLockFresh(Date.now())) return;
73
+ latch.lastAttemptMs = Date.now();
74
+ latch.refreshing = (async () => {
75
+ try {
76
+ const res = await runClaudeSubprocess({
77
+ systemPrompt: SUGGESTION_SYSTEM_PROMPT,
78
+ model: "haiku",
79
+ userPrompt: context,
80
+ });
81
+ const parsed = parseSuggestions(res.content);
82
+ if (parsed) {
83
+ writeCache({
84
+ version: 1,
85
+ generated_at: new Date().toISOString(),
86
+ input_key: inputKey,
87
+ model: res.model,
88
+ suggestions: parsed,
89
+ });
90
+ }
91
+ } catch {
92
+ /* stay on the deterministic tier; next visit retries */
93
+ }
94
+ })().finally(() => {
95
+ latch.refreshing = null;
96
+ });
97
+ }
98
+
99
+ /** Always answers in milliseconds: chips come from cache/memory only. Index
100
+ * warm-up and LLM generation both happen off the request path; the client
101
+ * re-fetches while `refreshing` is true. */
102
+ export function GET() {
103
+ const cache = readCache();
104
+
105
+ // Never trigger the expensive first index build just for chips — the page
106
+ // kicks that off explicitly with visible progress.
107
+ if (indexIsEmpty()) {
108
+ return Response.json({
109
+ suggestions: cache?.suggestions ?? FALLBACK_SUGGESTIONS,
110
+ source: cache ? "llm-stale" : "fallback",
111
+ refreshing: false,
112
+ });
113
+ }
114
+
115
+ const docs = peekDocs();
116
+ if (docs.length === 0 || indexStats().building) {
117
+ // Index warming up (or mid-rebuild): serve what we have and DON'T
118
+ // generate — chips written from a partially-filled store describe a
119
+ // user who barely codes. Kick the warm-up if nothing is running.
120
+ if (docs.length === 0) void ensureIndex().catch(() => {});
121
+ return Response.json({
122
+ suggestions: cache?.suggestions ?? (docs.length ? deterministicSuggestions(docs, Date.now()) : FALLBACK_SUGGESTIONS),
123
+ source: cache ? "llm-stale" : "fallback",
124
+ refreshing: true,
125
+ });
126
+ }
127
+
128
+ const deterministic = deterministicSuggestions(docs, Date.now());
129
+ if (!readSettings().ai_features.enabled) {
130
+ return Response.json({ suggestions: deterministic, source: "deterministic", refreshing: false });
131
+ }
132
+
133
+ const inputKey = suggestionInputKey(docs);
134
+ const cacheFresh =
135
+ cache !== null &&
136
+ cache.input_key === inputKey &&
137
+ Date.now() - Date.parse(cache.generated_at) < CACHE_TTL_MS;
138
+
139
+ if (cacheFresh) {
140
+ return Response.json({ suggestions: cache.suggestions, source: "llm", refreshing: false });
141
+ }
142
+
143
+ kickRefresh(buildSuggestionContext(docs, Date.now()), inputKey);
144
+ return Response.json({
145
+ // A stale LLM set still beats templates — it was written for this user.
146
+ suggestions: cache?.suggestions ?? deterministic,
147
+ source: cache ? "llm-stale" : "deterministic",
148
+ refreshing: latch.refreshing !== null,
149
+ });
150
+ }