larkup 0.1.22 → 0.1.23

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 (115) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/diagnostics/route-bundle-stats.json +12 -12
  4. package/.next/fallback-build-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +16 -16
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/analytics.html +1 -1
  25. package/.next/server/app/analytics.rsc +17 -17
  26. package/.next/server/app/analytics.segments/_full.segment.rsc +17 -17
  27. package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
  28. package/.next/server/app/analytics.segments/_index.segment.rsc +11 -11
  29. package/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
  30. package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
  31. package/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
  32. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/chat.html +1 -1
  34. package/.next/server/app/chat.rsc +17 -17
  35. package/.next/server/app/chat.segments/_full.segment.rsc +17 -17
  36. package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
  37. package/.next/server/app/chat.segments/_index.segment.rsc +11 -11
  38. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  39. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
  40. package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
  41. package/.next/server/app/data/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/data.html +1 -1
  43. package/.next/server/app/data.rsc +17 -17
  44. package/.next/server/app/data.segments/_full.segment.rsc +17 -17
  45. package/.next/server/app/data.segments/_head.segment.rsc +4 -4
  46. package/.next/server/app/data.segments/_index.segment.rsc +11 -11
  47. package/.next/server/app/data.segments/_tree.segment.rsc +1 -1
  48. package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
  49. package/.next/server/app/data.segments/data.segment.rsc +3 -3
  50. package/.next/server/app/index.html +1 -1
  51. package/.next/server/app/index.rsc +16 -16
  52. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  53. package/.next/server/app/index.segments/_full.segment.rsc +16 -16
  54. package/.next/server/app/index.segments/_head.segment.rsc +4 -4
  55. package/.next/server/app/index.segments/_index.segment.rsc +11 -11
  56. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  57. package/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/settings.html +1 -1
  60. package/.next/server/app/settings.rsc +18 -18
  61. package/.next/server/app/settings.segments/_full.segment.rsc +18 -18
  62. package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
  63. package/.next/server/app/settings.segments/_index.segment.rsc +11 -11
  64. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  65. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
  66. package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  67. package/.next/server/chunks/[root-of-the-server]__0036943._.js +1 -1
  68. package/.next/server/chunks/[root-of-the-server]__00nqa2u._.js +2 -2
  69. package/.next/server/chunks/[root-of-the-server]__02cpmox._.js +2 -2
  70. package/.next/server/chunks/[root-of-the-server]__02p-tv7._.js +1 -1
  71. package/.next/server/chunks/[root-of-the-server]__02t_0g7._.js +1 -1
  72. package/.next/server/chunks/[root-of-the-server]__04kopvt._.js +1 -1
  73. package/.next/server/chunks/[root-of-the-server]__04l~ip-._.js +2 -2
  74. package/.next/server/chunks/[root-of-the-server]__04visk8._.js +1 -1
  75. package/.next/server/chunks/[root-of-the-server]__05x8tmf._.js +1 -1
  76. package/.next/server/chunks/[root-of-the-server]__06l96vc._.js +1 -1
  77. package/.next/server/chunks/[root-of-the-server]__06ohoeu._.js +1 -1
  78. package/.next/server/chunks/[root-of-the-server]__07_1411._.js +2 -2
  79. package/.next/server/chunks/[root-of-the-server]__0acpo9m._.js +1 -1
  80. package/.next/server/chunks/[root-of-the-server]__0exyn0q._.js +1 -1
  81. package/.next/server/chunks/[root-of-the-server]__0fcf_rl._.js +1 -1
  82. package/.next/server/chunks/[root-of-the-server]__0f~eq1-._.js +1 -1
  83. package/.next/server/chunks/[root-of-the-server]__0ljy49-._.js +2 -2
  84. package/.next/server/chunks/[root-of-the-server]__0n0nerw._.js +1 -1
  85. package/.next/server/chunks/[root-of-the-server]__0oh5wgp._.js +1 -1
  86. package/.next/server/chunks/[root-of-the-server]__0oyc7s4._.js +2 -2
  87. package/.next/server/chunks/[root-of-the-server]__0pg~eys._.js +1 -1
  88. package/.next/server/chunks/[root-of-the-server]__0qtx78g._.js +1 -1
  89. package/.next/server/chunks/[root-of-the-server]__0r03jcl._.js +2 -2
  90. package/.next/server/chunks/[root-of-the-server]__0sb7d93._.js +1 -1
  91. package/.next/server/chunks/[root-of-the-server]__0t36t5o._.js +3 -3
  92. package/.next/server/chunks/[root-of-the-server]__0t_hp52._.js +1 -1
  93. package/.next/server/chunks/[root-of-the-server]__0v03x56._.js +2 -2
  94. package/.next/server/chunks/[root-of-the-server]__0v4bbce._.js +1 -1
  95. package/.next/server/chunks/[root-of-the-server]__0vcdpoc._.js +1 -1
  96. package/.next/server/chunks/[root-of-the-server]__0wvxpqf._.js +1 -1
  97. package/.next/server/chunks/[root-of-the-server]__0wyl7x5._.js +2 -2
  98. package/.next/server/chunks/[root-of-the-server]__0yx8vxp._.js +2 -2
  99. package/.next/server/chunks/[root-of-the-server]__0zh8t6z._.js +1 -1
  100. package/.next/server/chunks/[root-of-the-server]__0~q2fro._.js +1 -1
  101. package/.next/server/chunks/[root-of-the-server]__10d58x4._.js +2 -2
  102. package/.next/server/chunks/[root-of-the-server]__12kvuvp._.js +1 -1
  103. package/.next/server/chunks/ssr/_0s5_0n1._.js +1 -1
  104. package/.next/server/middleware-build-manifest.js +3 -3
  105. package/.next/server/pages/404.html +1 -1
  106. package/.next/server/pages/500.html +1 -1
  107. package/.next/static/chunks/0u4n0ggeto75y.js +1 -0
  108. package/CHANGELOG.md +6 -0
  109. package/components/onboarding/simple-setup.tsx +2 -2
  110. package/components/onboarding/welcome-screen.tsx +2 -2
  111. package/package.json +1 -1
  112. package/.next/static/chunks/0ho7lc.x2uknx.js +0 -1
  113. /package/.next/static/{r6jTeoDnymfOosNztAlzL → Fb01QU1MyWBHc7U1LHf5y}/_buildManifest.js +0 -0
  114. /package/.next/static/{r6jTeoDnymfOosNztAlzL → Fb01QU1MyWBHc7U1LHf5y}/_clientMiddlewareManifest.js +0 -0
  115. /package/.next/static/{r6jTeoDnymfOosNztAlzL → Fb01QU1MyWBHc7U1LHf5y}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[984918,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ViewportBoundary"]
3
- 3:I[984918,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"MetadataBoundary"]
2
+ 2:I[984918,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ViewportBoundary"]
3
+ 3:I[984918,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"MetadataBoundary"]
4
4
  4:"$Sreact.suspense"
5
- 5:I[640294,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"IconMark"]
6
- 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"larkup"}],["$","meta","1",{"name":"description","content":"larkup — a toolkit to build, index, and serve your own AI model and knowledge base."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.01rzdfen4476b.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"r6jTeoDnymfOosNztAlzL"}
5
+ 5:I[640294,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"IconMark"]
6
+ 0:{"rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"larkup"}],["$","meta","1",{"name":"description","content":"larkup — a toolkit to build, index, and serve your own AI model and knowledge base."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.01rzdfen4476b.ico","sizes":"256x256","type":"image/x-icon"}],["$","$L5","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Fb01QU1MyWBHc7U1LHf5y"}
@@ -1,14 +1,14 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[232295,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"UpdateBanner"]
3
- 3:I[82100,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ThemeCustomizerProvider"]
4
- 4:I[624529,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"WorkspaceProvider"]
5
- 5:I[266186,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ClientLayoutWrapper"]
6
- 6:I[180366,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
7
- 7:I[724474,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js","/_next/static/chunks/0ufxt21gvl.3g.js","/_next/static/chunks/03jot0gqi~a10.js"],"default"]
8
- 8:I[16248,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
9
- 9:I[7012,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"Toaster"]
10
- a:I[953159,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"GlobalIndexProgress"]
11
- b:I[675973,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"Analytics"]
2
+ 2:I[232295,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"UpdateBanner"]
3
+ 3:I[82100,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ThemeCustomizerProvider"]
4
+ 4:I[624529,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"WorkspaceProvider"]
5
+ 5:I[266186,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ClientLayoutWrapper"]
6
+ 6:I[180366,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
7
+ 7:I[724474,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js","/_next/static/chunks/0ufxt21gvl.3g.js","/_next/static/chunks/03jot0gqi~a10.js"],"default"]
8
+ 8:I[16248,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
9
+ 9:I[7012,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"Toaster"]
10
+ a:I[953159,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"GlobalIndexProgress"]
11
+ b:I[675973,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"Analytics"]
12
12
  :HL["/_next/static/chunks/066jf0nk75nic.css","style"]
13
13
  :HL["/_next/static/chunks/0uawaqqylt5zw.css","style"]
14
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0uawaqqylt5zw.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0q_qvc60_3aw4.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0zoh3o_.geqbv.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0ho7lc.x2uknx.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/00h-ng_jqta-2.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/14x~vj_4i-4bz.js","async":true}],["$","script","script-5",{"src":"/_next/static/chunks/0~_-3fik2n4-i.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable bg-transparent","children":["$","body",null,{"suppressHydrationWarning":true,"className":"font-sans antialiased ","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem('app-theme');var b=localStorage.getItem('app-background');var r=localStorage.getItem('app-radius');var d=document.body;if(t&&t!=='default')d.classList.add(t);if(b)d.classList.add(b);if(r&&r!=='radius-default')d.classList.add(r);}catch(e){}})();"}}],["$","$L2",null,{}],["$","$L3",null,{"children":["$","$L4",null,{"children":[["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{"children":["$","$L8",null,{}]}],"templateStyles":[],"templateScripts":[["$","script","script-0",{"src":"/_next/static/chunks/0ufxt21gvl.3g.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03jot0gqi~a10.js","async":true}]],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L9",null,{"position":"bottom-left"}],["$","$La",null,{}]]}]}],["$","$Lb",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"r6jTeoDnymfOosNztAlzL"}
14
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/066jf0nk75nic.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/chunks/0uawaqqylt5zw.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/0q_qvc60_3aw4.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0zoh3o_.geqbv.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0u4n0ggeto75y.js","async":true}],["$","script","script-3",{"src":"/_next/static/chunks/00h-ng_jqta-2.js","async":true}],["$","script","script-4",{"src":"/_next/static/chunks/14x~vj_4i-4bz.js","async":true}],["$","script","script-5",{"src":"/_next/static/chunks/0~_-3fik2n4-i.js","async":true}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"className":"geist_a71539c9-module__T19VSG__variable geist_mono_8d43a2aa-module__8Li5zG__variable bg-transparent","children":["$","body",null,{"suppressHydrationWarning":true,"className":"font-sans antialiased ","children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{var t=localStorage.getItem('app-theme');var b=localStorage.getItem('app-background');var r=localStorage.getItem('app-radius');var d=document.body;if(t&&t!=='default')d.classList.add(t);if(b)d.classList.add(b);if(r&&r!=='radius-default')d.classList.add(r);}catch(e){}})();"}}],["$","$L2",null,{}],["$","$L3",null,{"children":["$","$L4",null,{"children":[["$","$L5",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","template":["$","$L7",null,{"children":["$","$L8",null,{}]}],"templateStyles":[],"templateScripts":[["$","script","script-0",{"src":"/_next/static/chunks/0ufxt21gvl.3g.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/03jot0gqi~a10.js","async":true}]],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$L9",null,{"position":"bottom-left"}],["$","$La",null,{}]]}]}],["$","$Lb",null,{}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Fb01QU1MyWBHc7U1LHf5y"}
@@ -2,4 +2,4 @@
2
2
  :HL["/_next/static/chunks/0uawaqqylt5zw.css","style"]
3
3
  :HL["/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
4
4
  :HL["/_next/static/media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
5
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"settings","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"r6jTeoDnymfOosNztAlzL"}
5
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"settings","param":null,"prefetchHints":0,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}}}},"staleTime":300,"buildId":"Fb01QU1MyWBHc7U1LHf5y"}
@@ -1,9 +1,9 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[217281,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ClientPageRoot"]
3
- 3:I[93505,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js","/_next/static/chunks/0w6lgn24.0eip.js","/_next/static/chunks/0c-2rnxmjsotm.js","/_next/static/chunks/0~074ua5vk6f8.js"],"default"]
4
- 6:I[984918,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"OutletBoundary"]
2
+ 2:I[217281,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"ClientPageRoot"]
3
+ 3:I[93505,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js","/_next/static/chunks/0w6lgn24.0eip.js","/_next/static/chunks/0c-2rnxmjsotm.js","/_next/static/chunks/0~074ua5vk6f8.js"],"default"]
4
+ 6:I[984918,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"OutletBoundary"]
5
5
  7:"$Sreact.suspense"
6
- 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0w6lgn24.0eip.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0c-2rnxmjsotm.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0~074ua5vk6f8.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"r6jTeoDnymfOosNztAlzL"}
6
+ 0:{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/0w6lgn24.0eip.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/0c-2rnxmjsotm.js","async":true}],["$","script","script-2",{"src":"/_next/static/chunks/0~074ua5vk6f8.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"Fb01QU1MyWBHc7U1LHf5y"}
7
7
  4:{}
8
8
  5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
9
9
  8:null
@@ -1,5 +1,5 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[180366,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
3
- 3:I[16248,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0ho7lc.x2uknx.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
2
+ 2:I[180366,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
3
+ 3:I[16248,["/_next/static/chunks/0q_qvc60_3aw4.js","/_next/static/chunks/0zoh3o_.geqbv.js","/_next/static/chunks/0u4n0ggeto75y.js","/_next/static/chunks/00h-ng_jqta-2.js","/_next/static/chunks/14x~vj_4i-4bz.js","/_next/static/chunks/0~_-3fik2n4-i.js"],"default"]
4
4
  4:[]
5
- 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"r6jTeoDnymfOosNztAlzL"}
5
+ 0:{"rsc":["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}]}]]}],"isPartial":false,"staleTime":300,"varyParams":"$W4","buildId":"Fb01QU1MyWBHc7U1LHf5y"}
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(478500),o=e.i(761095);let i={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},s=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(478500),o=e.i(761095);let i={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},s=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),s=e.i(761095);let o={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},i=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),s=e.i(761095);let o={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},i=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -54,6 +54,6 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
56
  - DO NOT hallucinate facts; rely strictly on the provided query results.
57
- - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"DEFAULT_DEPLOYMENT_CONFIG",0,{type:"rag-only",authMode:"none",enabledToolIds:[],widgetStyle:{primaryColor:"#000000",position:"bottom-right",title:"Chat with AI",welcomeMessage:"Hi! How can I help you today?",placeholder:"Type a message...",darkMode:!1,borderRadius:"lg"},allowedOrigins:["*"]},"DEFAULT_SYSTEM_PROMPT",0,i],638725);let l=a.default.join(process.cwd(),".larkup"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function g(e){return await E(),m(async()=>e(await S()??c))}function y(e){return a.default.join(u,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(e)){await t.promises.mkdir(a.default.dirname(r),{recursive:!0});try{await t.promises.rename(e,r)}catch{await t.promises.cp(e,r,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function A(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function E(){let e=await S();return e||m(R)}async function R(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return A(c);let n=(0,r.randomUUID)(),s=y(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(s,e));await v(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let o="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),u={id:n,name:o,port:8080,createdAt:i,updatedAt:i};return A({username:null,activeServerId:n,servers:[u],mode:null})}async function b(){let e=await E(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function T(){let e=await b();if(!e)return null;let a=y(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function x(){let e=await T();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await O("my-larkup");return y(a.id)}async function C(e){return new Promise(t=>{let a=s.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function I(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await C(t);)t++;return t}function O(e){return g(async n=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await I(n),createdAt:i,updatedAt:i},u=y(s);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(y(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await A(c),{workspace:c,server:l}})}e.s(["createServer",0,O,"deleteServer",0,function(e){return g(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(y(e),{recursive:!0,force:!0}),A({...a,servers:r,activeServerId:n})})},"getActiveServer",0,b,"getDataDir",0,T,"getWorkspace",0,E,"renameServer",0,function(e,t){return g(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return A({...a,servers:r})})},"requireDataDir",0,x,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return g(async t=>t.servers.some(t=>t.id===e)?A({...t,activeServerId:e}):t)},"setMode",0,function(e){return g(async t=>A({...t,mode:e}))},"setUsername",0,function(e){return g(async t=>A({...t,username:e.trim()||null}))}],192441)},198650,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),s=e.i(601263),o=e.i(706859),i=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),g=e.i(37125),y=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),v=e.i(902157),S=e.i(750227),A=e.i(192441);async function E(e){let t=e?await (0,A.requireDataDir)():await (0,A.getDataDir)();return t?S.default.join(t,"connections.json"):null}async function R(){try{let e=await E(!1);if(!e)return w.NextResponse.json({});try{let t=await v.promises.readFile(e,"utf8");return w.NextResponse.json(JSON.parse(t))}catch{return w.NextResponse.json({})}}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}async function b(e){try{let t=await e.json(),a=await E(!0);if(!a)throw Error("No workspace directory");return await v.promises.writeFile(a,JSON.stringify(t,null,2),"utf8"),w.NextResponse.json({success:!0})}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}e.s(["GET",0,R,"PUT",0,b],108e3);var T=e.i(108e3);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/connections/route",pathname:"/api/connections",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/connections/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:I,serverHooks:O}=x;async function N(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/connections/route";w=w.replace(/\/index$/,"")||"/";let v=await x.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:E,nextConfig:R,parsedUrl:b,isDraftMode:T,prerenderManifest:C,routerServerContext:I,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=v,k=(0,i.normalizeAppPath)(w),M=!!(C.dynamicRoutes[k]||C.routes[D]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!T){let e=!!C.routes[D],t=C.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await j();throw new y.NoFallbackError}}let q=null;!M||x.isDev||T||(q="/index"===(q=D)?"/":q);let L=!0===x.isDev||!M,K=M&&!L;P&&U&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:P});let F=e.method||"GET",H=(0,s.getTracer)(),_=H.getActiveScopeSpan(),W=!!(null==I?void 0:I.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,R,C,z);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:L,incrementalCache:Y,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,I)},sharedContext:{buildId:S,deploymentId:A}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>x.handle($,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=H.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${F} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!z&&O&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(V,B,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,I),t}},u=await x.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:z});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return z&&M||d.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,B,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&_?await i(_):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},i),void 0,!W))}catch(t){if(t instanceof y.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,I),M)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:I})},"routeModule",0,x,"serverHooks",0,O,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,I],198650)}];
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"DEFAULT_DEPLOYMENT_CONFIG",0,{type:"rag-only",authMode:"none",enabledToolIds:[],widgetStyle:{primaryColor:"#000000",position:"bottom-right",title:"Chat with AI",welcomeMessage:"Hi! How can I help you today?",placeholder:"Type a message...",darkMode:!1,borderRadius:"lg"},allowedOrigins:["*"]},"DEFAULT_SYSTEM_PROMPT",0,i],638725);let l=a.default.join(process.cwd(),".larkup"),u=a.default.join(l,"servers"),d=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function y(e){return await E(),m(async()=>e(await S()??c))}function g(e){return a.default.join(u,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(e)){await t.promises.mkdir(a.default.dirname(r),{recursive:!0});try{await t.promises.rename(e,r)}catch{await t.promises.cp(e,r,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function S(){try{let e=await t.promises.readFile(d,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function A(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(d,JSON.stringify(e,null,2),"utf8"),e}async function E(){let e=await S();return e||m(R)}async function R(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return A(c);let n=(0,r.randomUUID)(),s=g(n);for(let e of(await t.promises.mkdir(s,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(s,e));await v(a.default.join(l,"lancedb"),a.default.join(s,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(s,"generated-server"));let o="Default server";try{let e=a.default.join(s,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let i=new Date().toISOString(),u={id:n,name:o,port:8080,createdAt:i,updatedAt:i};return A({username:null,activeServerId:n,servers:[u],mode:null})}async function b(){let e=await E(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function T(){let e=await b();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function x(){let e=await T();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await O("my-larkup");return g(a.id)}async function C(e){return new Promise(t=>{let a=s.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function I(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await C(t);)t++;return t}function O(e){return y(async n=>{let s=(0,r.randomUUID)(),i=new Date().toISOString(),l={id:s,name:e.trim()||"Untitled server",port:await I(n),createdAt:i,updatedAt:i},u=g(s);await t.promises.mkdir(u,{recursive:!0});let d={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");d=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(u,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(s,l.name,d),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:s};return await A(c),{workspace:c,server:l}})}e.s(["createServer",0,O,"deleteServer",0,function(e){return y(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),A({...a,servers:r,activeServerId:n})})},"getActiveServer",0,b,"getDataDir",0,T,"getWorkspace",0,E,"renameServer",0,function(e,t){return y(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return A({...a,servers:r})})},"requireDataDir",0,x,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return y(async t=>t.servers.some(t=>t.id===e)?A({...t,activeServerId:e}):t)},"setMode",0,function(e){return y(async t=>A({...t,mode:e}))},"setUsername",0,function(e){return y(async t=>A({...t,username:e.trim()||null}))}],192441)},198650,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),s=e.i(601263),o=e.i(706859),i=e.i(947547),l=e.i(819797),u=e.i(135958),d=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),y=e.i(37125),g=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),v=e.i(902157),S=e.i(750227),A=e.i(192441);async function E(e){let t=e?await (0,A.requireDataDir)():await (0,A.getDataDir)();return t?S.default.join(t,"connections.json"):null}async function R(){try{let e=await E(!1);if(!e)return w.NextResponse.json({});try{let t=await v.promises.readFile(e,"utf8");return w.NextResponse.json(JSON.parse(t))}catch{return w.NextResponse.json({})}}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}async function b(e){try{let t=await e.json(),a=await E(!0);if(!a)throw Error("No workspace directory");return await v.promises.writeFile(a,JSON.stringify(t,null,2),"utf8"),w.NextResponse.json({success:!0})}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}e.s(["GET",0,R,"PUT",0,b],108e3);var T=e.i(108e3);let x=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/connections/route",pathname:"/api/connections",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/connections/route.ts",nextConfigOutput:"standalone",userland:T,...{}}),{workAsyncStorage:C,workUnitAsyncStorage:I,serverHooks:O}=x;async function N(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),x.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/connections/route";w=w.replace(/\/index$/,"")||"/";let v=await x.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:A,params:E,nextConfig:R,parsedUrl:b,isDraftMode:T,prerenderManifest:C,routerServerContext:I,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=v,k=(0,i.normalizeAppPath)(w),M=!!(C.dynamicRoutes[k]||C.routes[D]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(M&&!T){let e=!!C.routes[D],t=C.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(R.adapterPath)return await j();throw new g.NoFallbackError}}let q=null;!M||x.isDev||T||(q="/index"===(q=D)?"/":q);let L=!0===x.isDev||!M,K=M&&!L;P&&U&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:P});let F=e.method||"GET",H=(0,s.getTracer)(),_=H.getActiveScopeSpan(),W=!!(null==I?void 0:I.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),Y=(0,n.getRequestMeta)(e,"incrementalCache")||await x.getIncrementalCache(e,R,C,z);null==Y||Y.resetRequestCache(),globalThis.__incrementalCache=Y;let G={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:L,incrementalCache:Y,cacheLifeProfiles:R.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>x.onRequestError(e,t,r,n,I)},sharedContext:{buildId:S,deploymentId:A}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t));try{let n,o=async e=>x.handle($,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=H.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${F} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${F} ${w}`)}),i=async n=>{var s,i;let l=async({previousCacheEntry:a})=>{try{if(!z&&O&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let i=G.renderOpts.pendingWaitUntil;i&&r.waitUntil&&(r.waitUntil(i),i=void 0);let l=G.renderOpts.collectedTags;if(!M)return await (0,p.sendResponse)(V,B,s,G.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await x.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,I),t}},u=await x.handleResponse({req:e,nextConfig:R,cacheKey:q,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:N,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:z});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",O?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return z&&M||d.delete(y.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,m.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(V,B,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&_?await i(_):(n=H.getActiveScopeSpan(),await H.withPropagatedContext(e.headers,()=>H.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${w}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},i),void 0,!W))}catch(t){if(t instanceof g.NoFallbackError||await x.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:K,isOnDemandRevalidate:O})},!1,I),M)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:I})},"routeModule",0,x,"serverHooks",0,O,"workAsyncStorage",0,C,"workUnitAsyncStorage",0,I],198650)}];
58
58
 
59
59
  //# sourceMappingURL=%5Broot-of-the-server%5D__00nqa2u._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),i=e.i(761095);let s={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),i=e.i(761095);let s={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -100,6 +100,6 @@ ${n}
100
100
  environment:
101
101
  ${i}
102
102
  restart: unless-stopped
103
- `}async function b(){let e=await S();if(!e.compose)return y({...await g(),running:!1,lastError:e.message});let{compose:r}=await v(),i=await g(),s=i.apiKey||`fc-local-${(0,n.randomUUID)()}`,o=i.port||3002,l=await f();await t.promises.mkdir(a.default.dirname(p),{recursive:!0}),await t.promises.writeFile(p,E(s,o,l),"utf8");try{await c(`${r} -p ${m} -f "${p}" up -d`,18e4)}catch(a){let e=a instanceof Error?a.message:"docker compose failed";if(!(e.includes("address already in use")||e.includes("Ports are not available")))return y({...i,apiKey:s,port:o,running:!1,lastError:e});try{o=await w(o+1),await t.promises.writeFile(p,E(s,o,l),"utf8"),await c(`${r} -p ${m} -f "${p}" up -d`,18e4)}catch(e){return y({...i,apiKey:s,port:o,running:!1,lastError:e instanceof Error?e.message:"docker compose retry failed"})}}let u=(0,t.existsSync)("/.dockerenv"),d=`http://${u?"host.docker.internal":"localhost"}:${o}`,h=await I(d,6e4);return y({running:h,endpoint:d,apiKey:s,port:o,project:m,startedAt:new Date().toISOString(),lastError:h?void 0:"Containers started but the API did not become healthy in time. It may still be warming up — try refreshing in a moment."})}async function A(){let{compose:e}=await v(),t=await g();if(e)try{await c(`${e} -p ${m} -f "${p}" down`,6e4)}catch{}return y({...t,running:!1,startedAt:void 0})}async function C(){let e=await g();if(!e.startedAt)return e;let t=await R(e.endpoint);return t!==e.running?y({...e,running:t}):e}async function R(e){try{return(await fetch(e,{method:"GET",signal:AbortSignal.timeout(4e3)})).status>0}catch{return!1}}async function I(e,t){let a=Date.now()+t;for(;Date.now()<a;){if(await R(e))return!0;await new Promise(e=>setTimeout(e,3e3))}return!1}let D="http://firecrawl-api:3002";async function O(){return"true"===process.env.DOCKER_ENV||"1"===process.env.DOCKER_BUILD||(0,t.existsSync)("/.dockerenv")?{available:await R(D),endpoint:D}:{available:!1,endpoint:""}}async function T(){let{available:e}=await O();return e?y({running:!0,endpoint:D,apiKey:`fc-docker-${(0,n.randomUUID)()}`,port:3002,project:"docker-sibling",startedAt:new Date().toISOString()}):y({...h,running:!1,lastError:"Firecrawl sibling service is not running. Restart with: docker compose --profile crawler up"})}e.s(["checkDocker",0,S,"checkDockerSibling",0,O,"connectDockerSibling",0,T,"readLocalState",0,g,"refreshLocalStatus",0,C,"startLocal",0,b,"stopLocal",0,A])},304368,e=>{"use strict";var t=e.i(367165),a=e.i(700259);class r extends Error{status;constructor(e,t){super(e),this.status=t,this.name="FirecrawlError"}}async function n(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,a.readLocalState)();if(e.running&&e.apiKey)return{base:`${e.endpoint}/v1`,key:e.apiKey,mode:"local"};throw new r("Local Firecrawl is selected but not running. Launch a local instance from the UI.",401)}let n=e.firecrawlApiKey;if(n)return{base:"https://api.firecrawl.dev/v1",key:n,mode:"cloud"};throw new r("Cloud Firecrawl is selected but no API key is configured. Set FIRECRAWL_API_KEY in Settings.",401)}async function i(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,a.readLocalState)();return!!(e.running&&e.apiKey)}return!!e.firecrawlApiKey}async function s(e,t){let{base:a,key:i}=await n(),s=await fetch(`${a}${e}`,{...t,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",...t?.headers??{}},cache:"no-store"}),o=await s.text(),c=o?l(o):{};if(!s.ok)throw new r(c?.error||`Firecrawl request failed (${s.status})`,s.status);return c}async function o(e){let{key:t}=await n(),a=await fetch(e,{headers:{Authorization:`Bearer ${t}`},cache:"no-store"}),i=await a.text(),s=i?l(i):{};if(!a.ok)throw new r(s?.error||`Firecrawl request failed (${a.status})`,a.status);return s}function l(e){try{return JSON.parse(e)}catch{return{}}}async function c(e,t=10){return((await s("/search",{method:"POST",body:JSON.stringify({query:e,limit:t})})).data??[]).map(e=>({url:e.url,title:e.title||e.url,description:e.description}))}let u={waitFor:1e4,onlyMainContent:!1,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","Accept-Language":"en-US,en;q=0.9","Sec-Ch-Ua":'"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"Windows"'}};async function d(e){let t=(await s("/scrape",{method:"POST",body:JSON.stringify({url:e,formats:["markdown"],...u})})).data??{};return{url:t.metadata?.sourceURL||e,title:t.metadata?.title||t.metadata?.ogTitle||e,markdown:t.markdown??""}}async function p(e,t){let a=await s("/crawl",{method:"POST",body:JSON.stringify({url:e,limit:t,allowExternalLinks:!1,scrapeOptions:{...u,formats:["markdown"],onlyMainContent:!0}})});if(!a.id)throw new r("Firecrawl did not return a crawl id");return a.id}async function m(e,t=!1){let a=t?await o(e):await s(`/crawl/${e}`,{method:"GET"});return{state:a.status??"scraping",total:a.total??0,completed:a.completed??0,next:a.next,pages:(a.data??[]).map(e=>({url:e.metadata?.sourceURL||e.metadata?.url||"",title:e.metadata?.title||e.metadata?.sourceURL||"Untitled",markdown:e.markdown??""}))}}async function w(e){try{await s(`/crawl/${e}`,{method:"DELETE"})}catch{}}e.s(["FirecrawlError",0,r,"cancelCrawl",0,w,"getCrawlStatus",0,m,"isFirecrawlConfigured",0,i,"scrapePage",0,d,"searchWeb",0,c,"startCrawl",0,p])},798898,490117,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(192441);let n=Promise.resolve();function i(e){let t=n.then(e,e);return n=t.catch(()=>{}),t}async function s(e){let t=e?await (0,r.requireDataDir)():await (0,r.getDataDir)();return t?a.default.join(t,"jobs.json"):null}async function o(){let e=await s(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8");return JSON.parse(a)}catch{return[]}}async function l(e){let a=await s(!0);a&&await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8")}async function c(e){return(await o()).find(t=>t.id===e)}function u(e,t){return i(async()=>{let a=await o(),r=a.findIndex(t=>t.id===e);if(r<0)return;let n={...t(a[r]),updatedAt:new Date().toISOString()};return a[r]=n,await l(a),n})}e.s(["deleteJob",0,function(e){return i(async()=>{let t=await o();await l(t.filter(t=>t.id!==e))})},"getJob",0,c,"readJobs",0,o,"saveJob",0,function(e){return i(async()=>{let t=await o(),a=t.findIndex(t=>t.id===e.id),r={...e,updatedAt:new Date().toISOString()};return a>=0?t[a]=r:t.unshift(r),await l(t),r})},"updateJob",0,u],798898);var d=e.i(705252),p=e.i(304368);let m=new Set;function w(e){if(!e)return!1;let t=e.toLowerCase();return t.includes("verification successful. waiting for")||t.includes("please verify you are a human")||t.includes("checking if the site connection is secure")||t.includes("just a moment...")||t.includes("enable javascript and cookies to continue")}async function f(e,t){try{let a=await (0,p.scrapePage)(t.url);if(w(a.markdown))throw Error("Scraping blocked by anti-bot protection (e.g. Cloudflare)");return{added:await (0,d.addCrawledDocuments)(e,[{title:a.title,url:a.url,content:a.markdown,source:"scrape"}]),target:{...t,status:"completed",pagesCrawled:+!!a.markdown}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"scrape failed"}}}}async function h(e,t,a){try{if(!t.firecrawlId){let e=await (0,p.startCrawl)(t.url,a);return{added:0,target:{...t,firecrawlId:e,status:"running"}}}let r=t.firecrawlId,n=!1,i=0,s=0,o=t.pagesCrawled,l="running",c=[];for(;i<5;){let e=await (0,p.getCrawlStatus)(r,n);for(let t of(o=e.completed||o,e.pages))w(t.markdown)||c.push({title:t.title,url:t.url,content:t.markdown,source:"scrape"});if(i++,"completed"===e.state?l="completed":"failed"===e.state?l="failed":"cancelled"===e.state&&(l="cancelled"),e.next)r=e.next,n=!0;else break}return c.length&&(s=await (0,d.addCrawledDocuments)(e,c)),{added:s,target:{...t,status:l,pagesCrawled:o}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"crawl failed"}}}}async function g(e){let t=await c(e);if(t){if(["completed","failed","cancelled"].includes(t.status)||m.has(e))return t;m.add(e);try{let a=await Promise.all(t.targets.map(a=>"completed"===a.status||"failed"===a.status?Promise.resolve({target:a,added:0}):"page"===a.scope?f(e,a):h(e,a,t.pageLimit))),r=a.map(e=>e.target),n=r.reduce((e,t)=>e+t.pagesCrawled,0);return await u(e,e=>({...e,targets:r,pagesCrawled:n,docCount:e.docCount+a.reduce((e,t)=>e+t.added,0),status:r.every(e=>"completed"===e.status)?"completed":r.every(e=>"failed"===e.status)?"failed":r.every(e=>"completed"===e.status||"failed"===e.status)&&r.some(e=>"completed"===e.status)?"completed":"running"}))}finally{m.delete(e)}}}async function y(e){let t=await c(e);if(t)return await Promise.all(t.targets.filter(e=>e.firecrawlId&&"running"===e.status).map(e=>(0,p.cancelCrawl)(e.firecrawlId))),u(e,e=>({...e,status:"cancelled",targets:e.targets.map(e=>"running"===e.status||"queued"===e.status?{...e,status:"cancelled"}:e)}))}e.s(["cancelJob",0,y,"syncJob",0,g],490117)},271681,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),i=e.i(601263),s=e.i(706859),o=e.i(947547),l=e.i(819797),c=e.i(135958),u=e.i(86520),d=e.i(970949),p=e.i(741165),m=e.i(106898),w=e.i(454415),f=e.i(37125),h=e.i(193695);e.i(530058);var g=e.i(605998),y=e.i(686296),v=e.i(666680),S=e.i(798898),E=e.i(490117),b=e.i(304368),A=e.i(705252);async function C(){let e=await (0,S.readJobs)();return y.NextResponse.json({jobs:e,configured:await (0,b.isFirecrawlConfigured)()})}async function R(e){let t;if(!await (0,b.isFirecrawlConfigured)())return y.NextResponse.json({error:"No Firecrawl available. Launch a local instance or set FIRECRAWL_API_KEY to run scraping jobs."},{status:401});try{t=await e.json()}catch{return y.NextResponse.json({error:"Invalid request body."},{status:400})}let a=new Set((await (0,A.readDocuments)()).filter(e=>e.url).map(e=>e.url)),r=new Map,n=new Map;(t.targets??[]).forEach(e=>{if(e.url&&/^https?:\/\//i.test(e.url))try{let t=new URL(e.url).origin;a.has(t)||a.has(t+"/")||r.set(t,{url:t,scope:"domain"===e.scope?"domain":"page",status:"queued",pagesCrawled:0}),e.url===t||e.url===t+"/"||a.has(e.url)||n.set(e.url,{url:e.url,scope:"domain"===e.scope?"domain":"page",status:"queued",pagesCrawled:0})}catch{a.has(e.url)||n.set(e.url,{url:e.url,scope:"domain"===e.scope?"domain":"page",status:"queued",pagesCrawled:0})}});let i=[...Array.from(r.values()),...Array.from(n.values())];if(0===i.length)return y.NextResponse.json({error:"Select at least one valid new URL to scrape."},{status:400});let s={id:(0,v.randomUUID)(),keywords:t.keywords?.trim()||i[0].url,targets:i,status:"queued",pageLimit:Math.min(Math.max(t.pageLimit??2e3,1),2e3),pagesCrawled:0,docCount:0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};await (0,S.saveJob)(s);let o=await (0,E.syncJob)(s.id);return y.NextResponse.json({job:o??s},{status:201})}e.s(["GET",0,C,"POST",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],889376);var I=e.i(889376);let D=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/jobs/route",pathname:"/api/jobs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/jobs/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:T,serverHooks:x}=D;async function N(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),D.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/jobs/route";y=y.replace(/\/index$/,"")||"/";let v=await D.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:E,params:b,nextConfig:A,parsedUrl:C,isDraftMode:R,prerenderManifest:I,routerServerContext:O,isOnDemandRevalidate:T,revalidateOnlyGenerated:x,resolvedPathname:N,clientReferenceManifest:k,serverActionsManifest:U}=v,P=(0,o.normalizeAppPath)(y),L=!!(I.dynamicRoutes[P]||I.routes[N]),j=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(L&&!R){let e=!!I.routes[N],t=I.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await j();throw new h.NoFallbackError}}let _=null;!L||D.isDev||R||(_="/index"===(_=N)?"/":_);let F=!0===D.isDev||!L,M=L&&!F;U&&k&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:k,serverActionsManifest:U});let q=e.method||"GET",K=(0,i.getTracer)(),$=K.getActiveScopeSpan(),H=!!(null==O?void 0:O.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),J=(0,n.getRequestMeta)(e,"incrementalCache")||await D.getIncrementalCache(e,A,I,G);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let W={params:b,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:F,incrementalCache:J,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>D.onRequestError(e,t,r,n,O)},sharedContext:{buildId:S,deploymentId:E}},B=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(B,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>D.handle(z,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${q} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${q} ${y}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:a})=>{try{if(!G&&T&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(B,Y,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await D.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,O),t}},c=await D.handleResponse({req:e,nextConfig:A,cacheKey:_,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:G});if(!L)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return G&&L||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,w.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,Y,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&$?await o($):(n=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof h.NoFallbackError||await D.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,O),L)throw t;return await (0,p.sendResponse)(B,Y,new Response(null,{status:500})),null}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:T})},"routeModule",0,D,"serverHooks",0,x,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,T],271681)}];
103
+ `}async function b(){let e=await S();if(!e.compose)return y({...await g(),running:!1,lastError:e.message});let{compose:r}=await v(),i=await g(),s=i.apiKey||`fc-local-${(0,n.randomUUID)()}`,o=i.port||3002,l=await f();await t.promises.mkdir(a.default.dirname(p),{recursive:!0}),await t.promises.writeFile(p,E(s,o,l),"utf8");try{await c(`${r} -p ${m} -f "${p}" up -d`,18e4)}catch(a){let e=a instanceof Error?a.message:"docker compose failed";if(!(e.includes("address already in use")||e.includes("Ports are not available")))return y({...i,apiKey:s,port:o,running:!1,lastError:e});try{o=await w(o+1),await t.promises.writeFile(p,E(s,o,l),"utf8"),await c(`${r} -p ${m} -f "${p}" up -d`,18e4)}catch(e){return y({...i,apiKey:s,port:o,running:!1,lastError:e instanceof Error?e.message:"docker compose retry failed"})}}let u=(0,t.existsSync)("/.dockerenv"),d=`http://${u?"host.docker.internal":"localhost"}:${o}`,h=await I(d,6e4);return y({running:h,endpoint:d,apiKey:s,port:o,project:m,startedAt:new Date().toISOString(),lastError:h?void 0:"Containers started but the API did not become healthy in time. It may still be warming up — try refreshing in a moment."})}async function A(){let{compose:e}=await v(),t=await g();if(e)try{await c(`${e} -p ${m} -f "${p}" down`,6e4)}catch{}return y({...t,running:!1,startedAt:void 0})}async function C(){let e=await g();if(!e.startedAt)return e;let t=await R(e.endpoint);return t!==e.running?y({...e,running:t}):e}async function R(e){try{return(await fetch(e,{method:"GET",signal:AbortSignal.timeout(4e3)})).status>0}catch{return!1}}async function I(e,t){let a=Date.now()+t;for(;Date.now()<a;){if(await R(e))return!0;await new Promise(e=>setTimeout(e,3e3))}return!1}let D="http://firecrawl-api:3002";async function O(){return"true"===process.env.DOCKER_ENV||"1"===process.env.DOCKER_BUILD||(0,t.existsSync)("/.dockerenv")?{available:await R(D),endpoint:D}:{available:!1,endpoint:""}}async function T(){let{available:e}=await O();return e?y({running:!0,endpoint:D,apiKey:`fc-docker-${(0,n.randomUUID)()}`,port:3002,project:"docker-sibling",startedAt:new Date().toISOString()}):y({...h,running:!1,lastError:"Firecrawl sibling service is not running. Restart with: docker compose --profile crawler up"})}e.s(["checkDocker",0,S,"checkDockerSibling",0,O,"connectDockerSibling",0,T,"readLocalState",0,g,"refreshLocalStatus",0,C,"startLocal",0,b,"stopLocal",0,A])},304368,e=>{"use strict";var t=e.i(367165),a=e.i(700259);class r extends Error{status;constructor(e,t){super(e),this.status=t,this.name="FirecrawlError"}}async function n(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,a.readLocalState)();if(e.running&&e.apiKey)return{base:`${e.endpoint}/v1`,key:e.apiKey,mode:"local"};throw new r("Local Firecrawl is selected but not running. Launch a local instance from the UI.",401)}let n=e.firecrawlApiKey;if(n)return{base:"https://api.firecrawl.dev/v1",key:n,mode:"cloud"};throw new r("Cloud Firecrawl is selected but no API key is configured. Set FIRECRAWL_API_KEY in Settings.",401)}async function i(){let e=await (0,t.readConfig)();if("local"===(e.webCrawlerProvider||"local")){let e=await (0,a.readLocalState)();return!!(e.running&&e.apiKey)}return!!e.firecrawlApiKey}async function s(e,t){let{base:a,key:i}=await n(),s=await fetch(`${a}${e}`,{...t,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",...t?.headers??{}},cache:"no-store"}),o=await s.text(),c=o?l(o):{};if(!s.ok)throw new r(c?.error||`Firecrawl request failed (${s.status})`,s.status);return c}async function o(e){let{key:t}=await n(),a=await fetch(e,{headers:{Authorization:`Bearer ${t}`},cache:"no-store"}),i=await a.text(),s=i?l(i):{};if(!a.ok)throw new r(s?.error||`Firecrawl request failed (${a.status})`,a.status);return s}function l(e){try{return JSON.parse(e)}catch{return{}}}async function c(e,t=10){return((await s("/search",{method:"POST",body:JSON.stringify({query:e,limit:t})})).data??[]).map(e=>({url:e.url,title:e.title||e.url,description:e.description}))}let u={waitFor:1e4,onlyMainContent:!1,headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36","Accept-Language":"en-US,en;q=0.9","Sec-Ch-Ua":'"Chromium";v="124", "Google Chrome";v="124", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"Windows"'}};async function d(e){let t=(await s("/scrape",{method:"POST",body:JSON.stringify({url:e,formats:["markdown"],...u})})).data??{};return{url:t.metadata?.sourceURL||e,title:t.metadata?.title||t.metadata?.ogTitle||e,markdown:t.markdown??""}}async function p(e,t){let a=await s("/crawl",{method:"POST",body:JSON.stringify({url:e,limit:t,allowExternalLinks:!1,scrapeOptions:{...u,formats:["markdown"],onlyMainContent:!0}})});if(!a.id)throw new r("Firecrawl did not return a crawl id");return a.id}async function m(e,t=!1){let a=t?await o(e):await s(`/crawl/${e}`,{method:"GET"});return{state:a.status??"scraping",total:a.total??0,completed:a.completed??0,next:a.next,pages:(a.data??[]).map(e=>({url:e.metadata?.sourceURL||e.metadata?.url||"",title:e.metadata?.title||e.metadata?.sourceURL||"Untitled",markdown:e.markdown??""}))}}async function w(e){try{await s(`/crawl/${e}`,{method:"DELETE"})}catch{}}e.s(["FirecrawlError",0,r,"cancelCrawl",0,w,"getCrawlStatus",0,m,"isFirecrawlConfigured",0,i,"scrapePage",0,d,"searchWeb",0,c,"startCrawl",0,p])},798898,490117,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(192441);let n=Promise.resolve();function i(e){let t=n.then(e,e);return n=t.catch(()=>{}),t}async function s(e){let t=e?await (0,r.requireDataDir)():await (0,r.getDataDir)();return t?a.default.join(t,"jobs.json"):null}async function o(){let e=await s(!1);if(!e)return[];try{let a=await t.promises.readFile(e,"utf8");return JSON.parse(a)}catch{return[]}}async function l(e){let a=await s(!0);a&&await t.promises.writeFile(a,JSON.stringify(e,null,2),"utf8")}async function c(e){return(await o()).find(t=>t.id===e)}function u(e,t){return i(async()=>{let a=await o(),r=a.findIndex(t=>t.id===e);if(r<0)return;let n={...t(a[r]),updatedAt:new Date().toISOString()};return a[r]=n,await l(a),n})}e.s(["deleteJob",0,function(e){return i(async()=>{let t=await o();await l(t.filter(t=>t.id!==e))})},"getJob",0,c,"readJobs",0,o,"saveJob",0,function(e){return i(async()=>{let t=await o(),a=t.findIndex(t=>t.id===e.id),r={...e,updatedAt:new Date().toISOString()};return a>=0?t[a]=r:t.unshift(r),await l(t),r})},"updateJob",0,u],798898);var d=e.i(705252),p=e.i(304368);let m=new Set;function w(e){if(!e)return!1;let t=e.toLowerCase();return t.includes("verification successful. waiting for")||t.includes("please verify you are a human")||t.includes("checking if the site connection is secure")||t.includes("just a moment...")||t.includes("enable javascript and cookies to continue")}async function f(e,t){try{let a=await (0,p.scrapePage)(t.url);if(w(a.markdown))throw Error("Scraping blocked by anti-bot protection (e.g. Cloudflare)");return{added:await (0,d.addCrawledDocuments)(e,[{title:a.title,url:a.url,content:a.markdown,source:"scrape"}]),target:{...t,status:"completed",pagesCrawled:+!!a.markdown}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"scrape failed"}}}}async function h(e,t,a){try{if(!t.firecrawlId){let e=await (0,p.startCrawl)(t.url,a);return{added:0,target:{...t,firecrawlId:e,status:"running"}}}let r=t.firecrawlId,n=!1,i=0,s=0,o=t.pagesCrawled,l="running",c=[];for(;i<5;){let e=await (0,p.getCrawlStatus)(r,n);for(let t of(o=e.completed||o,e.pages))w(t.markdown)||c.push({title:t.title,url:t.url,content:t.markdown,source:"scrape"});if(i++,"completed"===e.state?l="completed":"failed"===e.state?l="failed":"cancelled"===e.state&&(l="cancelled"),e.next)r=e.next,n=!0;else break}return c.length&&(s=await (0,d.addCrawledDocuments)(e,c)),{added:s,target:{...t,status:l,pagesCrawled:o}}}catch(e){return{added:0,target:{...t,status:"failed",error:e instanceof Error?e.message:"crawl failed"}}}}async function g(e){let t=await c(e);if(t){if(["completed","failed","cancelled"].includes(t.status)||m.has(e))return t;m.add(e);try{let a=await Promise.all(t.targets.map(a=>"completed"===a.status||"failed"===a.status?Promise.resolve({target:a,added:0}):"page"===a.scope?f(e,a):h(e,a,t.pageLimit))),r=a.map(e=>e.target),n=r.reduce((e,t)=>e+t.pagesCrawled,0);return await u(e,e=>({...e,targets:r,pagesCrawled:n,docCount:e.docCount+a.reduce((e,t)=>e+t.added,0),status:r.every(e=>"completed"===e.status)?"completed":r.every(e=>"failed"===e.status)?"failed":r.every(e=>"completed"===e.status||"failed"===e.status)&&r.some(e=>"completed"===e.status)?"completed":"running"}))}finally{m.delete(e)}}}async function y(e){let t=await c(e);if(t)return await Promise.all(t.targets.filter(e=>e.firecrawlId&&"running"===e.status).map(e=>(0,p.cancelCrawl)(e.firecrawlId))),u(e,e=>({...e,status:"cancelled",targets:e.targets.map(e=>"running"===e.status||"queued"===e.status?{...e,status:"cancelled"}:e)}))}e.s(["cancelJob",0,y,"syncJob",0,g],490117)},271681,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),i=e.i(601263),s=e.i(706859),o=e.i(947547),l=e.i(819797),c=e.i(135958),u=e.i(86520),d=e.i(970949),p=e.i(741165),m=e.i(106898),w=e.i(454415),f=e.i(37125),h=e.i(193695);e.i(530058);var g=e.i(605998),y=e.i(686296),v=e.i(666680),S=e.i(798898),E=e.i(490117),b=e.i(304368),A=e.i(705252);async function C(){let e=await (0,S.readJobs)();return y.NextResponse.json({jobs:e,configured:await (0,b.isFirecrawlConfigured)()})}async function R(e){let t;if(!await (0,b.isFirecrawlConfigured)())return y.NextResponse.json({error:"No Firecrawl available. Launch a local instance or set FIRECRAWL_API_KEY to run scraping jobs."},{status:401});try{t=await e.json()}catch{return y.NextResponse.json({error:"Invalid request body."},{status:400})}let a=new Set((await (0,A.readDocuments)()).filter(e=>e.url).map(e=>e.url)),r=new Map,n=new Map;(t.targets??[]).forEach(e=>{if(e.url&&/^https?:\/\//i.test(e.url))try{let t=new URL(e.url).origin;a.has(t)||a.has(t+"/")||r.set(t,{url:t,scope:"domain"===e.scope?"domain":"page",status:"queued",pagesCrawled:0}),e.url===t||e.url===t+"/"||a.has(e.url)||n.set(e.url,{url:e.url,scope:"domain"===e.scope?"domain":"page",status:"queued",pagesCrawled:0})}catch{a.has(e.url)||n.set(e.url,{url:e.url,scope:"domain"===e.scope?"domain":"page",status:"queued",pagesCrawled:0})}});let i=[...Array.from(r.values()),...Array.from(n.values())];if(0===i.length)return y.NextResponse.json({error:"Select at least one valid new URL to scrape."},{status:400});let s={id:(0,v.randomUUID)(),keywords:t.keywords?.trim()||i[0].url,targets:i,status:"queued",pageLimit:Math.min(Math.max(t.pageLimit??2e3,1),2e3),pagesCrawled:0,docCount:0,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};await (0,S.saveJob)(s);let o=await (0,E.syncJob)(s.id);return y.NextResponse.json({job:o??s},{status:201})}e.s(["GET",0,C,"POST",0,R,"dynamic",0,"force-dynamic","runtime",0,"nodejs"],889376);var I=e.i(889376);let D=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/jobs/route",pathname:"/api/jobs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/jobs/route.ts",nextConfigOutput:"standalone",userland:I,...{}}),{workAsyncStorage:O,workUnitAsyncStorage:T,serverHooks:x}=D;async function k(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),D.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/jobs/route";y=y.replace(/\/index$/,"")||"/";let v=await D.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:E,params:b,nextConfig:A,parsedUrl:C,isDraftMode:R,prerenderManifest:I,routerServerContext:O,isOnDemandRevalidate:T,revalidateOnlyGenerated:x,resolvedPathname:k,clientReferenceManifest:N,serverActionsManifest:U}=v,P=(0,o.normalizeAppPath)(y),L=!!(I.dynamicRoutes[P]||I.routes[k]),j=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,C,!1):t.end("This page could not be found"),null);if(L&&!R){let e=!!I.routes[k],t=I.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(A.adapterPath)return await j();throw new h.NoFallbackError}}let _=null;!L||D.isDev||R||(_="/index"===(_=k)?"/":_);let F=!0===D.isDev||!L,M=L&&!F;U&&N&&(0,s.setManifestsSingleton)({page:y,clientReferenceManifest:N,serverActionsManifest:U});let q=e.method||"GET",K=(0,i.getTracer)(),$=K.getActiveScopeSpan(),H=!!(null==O?void 0:O.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),J=(0,n.getRequestMeta)(e,"incrementalCache")||await D.getIncrementalCache(e,A,I,G);null==J||J.resetRequestCache(),globalThis.__incrementalCache=J;let W={params:b,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:F,incrementalCache:J,cacheLifeProfiles:A.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>D.onRequestError(e,t,r,n,O)},sharedContext:{buildId:S,deploymentId:E}},B=new l.NodeNextRequest(e),Y=new l.NodeNextResponse(t),z=c.NextRequestAdapter.fromNodeNextRequest(B,(0,c.signalFromNodeResponse)(t));try{let n,s=async e=>D.handle(z,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${q} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${q} ${y}`)}),o=async n=>{var i,o;let l=async({previousCacheEntry:a})=>{try{if(!G&&T&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await s(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(B,Y,i,W.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[f.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,r=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await D.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,O),t}},c=await D.handleResponse({req:e,nextConfig:A,cacheKey:_,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:G});if(!L)return null;if((null==c||null==(i=c.value)?void 0:i.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(o=c.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),R&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(c.value.headers);return G&&L||u.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,w.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,Y,new Response(c.value.body,{headers:u,status:c.value.status||200})),null};H&&$?await o($):(n=K.getActiveScopeSpan(),await K.withPropagatedContext(e.headers,()=>K.trace(u.BaseServerSpan.handleRequest,{spanName:`${q} ${y}`,kind:i.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof h.NoFallbackError||await D.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:T})},!1,O),L)throw t;return await (0,p.sendResponse)(B,Y,new Response(null,{status:500})),null}}e.s(["handler",0,k,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:T})},"routeModule",0,D,"serverHooks",0,x,"workAsyncStorage",0,O,"workUnitAsyncStorage",0,T],271681)}];
104
104
 
105
105
  //# sourceMappingURL=%5Broot-of-the-server%5D__02cpmox._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(478500),i=e.i(761095);let s={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(478500),i=e.i(761095);let s={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),o=e.i(478500),s=e.i(761095);let n={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},i=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),o=e.i(478500),s=e.i(761095);let n={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},i=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),i=e.i(761095);let s={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),i=e.i(761095);let s={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),i=e.i(761095);let o={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},s=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),i=e.i(761095);let o={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},s=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -54,6 +54,6 @@ RESPONSE FORMATTING (Analytics Style):
54
54
  - Structure complex responses logically (e.g., Summary -> Key Metrics -> Breakdown).
55
55
  - If your findings contain a small table of data, format it cleanly using Markdown tables.
56
56
  - DO NOT hallucinate facts; rely strictly on the provided query results.
57
- - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"DEFAULT_DEPLOYMENT_CONFIG",0,{type:"rag-only",authMode:"none",enabledToolIds:[],widgetStyle:{primaryColor:"#000000",position:"bottom-right",title:"Chat with AI",welcomeMessage:"Hi! How can I help you today?",placeholder:"Type a message...",darkMode:!1,borderRadius:"lg"},allowedOrigins:["*"]},"DEFAULT_SYSTEM_PROMPT",0,s],638725);let l=a.default.join(process.cwd(),".larkup"),d=a.default.join(l,"servers"),u=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function y(e){return await A(),m(async()=>e(await S()??c))}function g(e){return a.default.join(d,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(e)){await t.promises.mkdir(a.default.dirname(r),{recursive:!0});try{await t.promises.rename(e,r)}catch{await t.promises.cp(e,r,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function S(){try{let e=await t.promises.readFile(u,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function E(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(u,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await S();return e||m(R)}async function R(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return E(c);let n=(0,r.randomUUID)(),i=g(n);for(let e of(await t.promises.mkdir(i,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(i,e));await v(a.default.join(l,"lancedb"),a.default.join(i,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(i,"generated-server"));let o="Default server";try{let e=a.default.join(i,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let s=new Date().toISOString(),d={id:n,name:o,port:8080,createdAt:s,updatedAt:s};return E({username:null,activeServerId:n,servers:[d],mode:null})}async function T(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function b(){let e=await T();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function C(){let e=await b();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await N("my-larkup");return g(a.id)}async function O(e){return new Promise(t=>{let a=i.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function I(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await O(t);)t++;return t}function N(e){return y(async n=>{let i=(0,r.randomUUID)(),s=new Date().toISOString(),l={id:i,name:e.trim()||"Untitled server",port:await I(n),createdAt:s,updatedAt:s},d=g(i);await t.promises.mkdir(d,{recursive:!0});let u={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");u=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(d,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(i,l.name,u),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:i};return await E(c),{workspace:c,server:l}})}e.s(["createServer",0,N,"deleteServer",0,function(e){return y(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),E({...a,servers:r,activeServerId:n})})},"getActiveServer",0,T,"getDataDir",0,b,"getWorkspace",0,A,"renameServer",0,function(e,t){return y(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return E({...a,servers:r})})},"requireDataDir",0,C,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return y(async t=>t.servers.some(t=>t.id===e)?E({...t,activeServerId:e}):t)},"setMode",0,function(e){return y(async t=>E({...t,mode:e}))},"setUsername",0,function(e){return y(async t=>E({...t,username:e.trim()||null}))}],192441)},886173,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(638725),n=e.i(192441);async function i(){let e=await (0,n.getDataDir)();if(!e)return r.DEFAULT_DEPLOYMENT_CONFIG;try{let n=await t.promises.readFile(a.default.join(e,"deployment.json"),"utf8"),i=JSON.parse(n);return{...r.DEFAULT_DEPLOYMENT_CONFIG,...i,widgetStyle:{...r.DEFAULT_DEPLOYMENT_CONFIG.widgetStyle,...i.widgetStyle}}}catch{return r.DEFAULT_DEPLOYMENT_CONFIG}}async function o(e){let r=await (0,n.requireDataDir)();return await t.promises.writeFile(a.default.join(r,"deployment.json"),JSON.stringify(e,null,2),"utf8"),e}e.s(["readDeploymentConfig",0,i,"writeDeploymentConfig",0,o])},260046,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),i=e.i(601263),o=e.i(706859),s=e.i(947547),l=e.i(819797),d=e.i(135958),u=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),y=e.i(37125),g=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),v=e.i(886173);async function S(){try{let e=await (0,v.readDeploymentConfig)();return w.NextResponse.json(e)}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}async function E(e){try{let t=await e.json(),a=await (0,v.writeDeploymentConfig)(t);return w.NextResponse.json(a)}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}e.s(["GET",0,S,"PUT",0,E,"dynamic",0,"force-dynamic"],439066);var A=e.i(439066);let R=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/deployment/config/route",pathname:"/api/deployment/config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/deployment/config/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:b,serverHooks:C}=R;async function O(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/deployment/config/route";w=w.replace(/\/index$/,"")||"/";let v=await R.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:E,params:A,nextConfig:T,parsedUrl:b,isDraftMode:C,prerenderManifest:O,routerServerContext:I,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=v,M=(0,s.normalizeAppPath)(w),L=!!(O.dynamicRoutes[M]||O.routes[D]),j=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(L&&!C){let e=!!O.routes[D],t=O.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(T.adapterPath)return await j();throw new g.NoFallbackError}}let k=null;!L||R.isDev||C||(k="/index"===(k=D)?"/":k);let q=!0===R.isDev||!L,F=L&&!q;P&&U&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:P});let K=e.method||"GET",_=(0,i.getTracer)(),H=_.getActiveScopeSpan(),W=!!(null==I?void 0:I.isWrappedByNextServer),Y=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,T,O,Y);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let G={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts},cacheComponents:!!T.cacheComponents,supportsDynamicResponse:q,incrementalCache:z,cacheLifeProfiles:T.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>R.onRequestError(e,t,r,n,I)},sharedContext:{buildId:S,deploymentId:E}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>R.handle($,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=_.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${K} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${K} ${w}`)}),s=async n=>{var i,s;let l=async({previousCacheEntry:a})=>{try{if(!Y&&N&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let s=G.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=G.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(V,B,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),t}},d=await R.handleResponse({req:e,nextConfig:T,cacheKey:k,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:Y});if(!L)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(s=d.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Y||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return Y&&L||u.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,B,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};W&&H?await s(H):(n=_.getActiveScopeSpan(),await _.withPropagatedContext(e.headers,()=>_.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},s),void 0,!W))}catch(t){if(t instanceof g.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),L)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:b})},"routeModule",0,R,"serverHooks",0,C,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,b],260046)}];
57
+ - End with a one-sentence synthesis if appropriate, avoiding filler words.`;e.s(["DEFAULT_CONFIG",0,o,"DEFAULT_DEPLOYMENT_CONFIG",0,{type:"rag-only",authMode:"none",enabledToolIds:[],widgetStyle:{primaryColor:"#000000",position:"bottom-right",title:"Chat with AI",welcomeMessage:"Hi! How can I help you today?",placeholder:"Type a message...",darkMode:!1,borderRadius:"lg"},allowedOrigins:["*"]},"DEFAULT_SYSTEM_PROMPT",0,s],638725);let l=a.default.join(process.cwd(),".larkup"),d=a.default.join(l,"servers"),u=a.default.join(l,"workspace.json"),c={username:null,activeServerId:null,servers:[],mode:null},p=new n.AsyncLocalStorage,h=Promise.resolve();function m(e){let t=h.then(e,e);return h=t.catch(()=>{}),t}async function y(e){return await A(),m(async()=>e(await S()??c))}function g(e){return a.default.join(d,e)}function f(e,t){return`./.larkup/servers/${e}/${t}`}async function w(e){try{return await t.promises.access(e),!0}catch{return!1}}async function v(e,r){if(await w(e)){await t.promises.mkdir(a.default.dirname(r),{recursive:!0});try{await t.promises.rename(e,r)}catch{await t.promises.cp(e,r,{recursive:!0}),await t.promises.rm(e,{recursive:!0,force:!0})}}}async function S(){try{let e=await t.promises.readFile(u,"utf8");return{...c,...JSON.parse(e)}}catch{return null}}async function E(e){return await t.promises.mkdir(l,{recursive:!0}),await t.promises.writeFile(u,JSON.stringify(e,null,2),"utf8"),e}async function A(){let e=await S();return e||m(R)}async function R(){let e=await S();if(e)return e;if(!await w(a.default.join(l,"config.json")))return E(c);let n=(0,r.randomUUID)(),i=g(n);for(let e of(await t.promises.mkdir(i,{recursive:!0}),["config.json","documents.json","jobs.json","index-run.json","server-local.json"]))await v(a.default.join(l,e),a.default.join(i,e));await v(a.default.join(l,"lancedb"),a.default.join(i,"lancedb")),await v(a.default.join(l,"generated-server"),a.default.join(i,"generated-server"));let o="Default server";try{let e=a.default.join(i,"config.json"),r=JSON.parse(await t.promises.readFile(e,"utf8"));r.projectName&&(o=r.projectName),"lancedb"===r.vectorStore&&(r.storeConfig?.mode??"local")==="local"&&(r.storeConfig={...r.storeConfig,dbPath:f(n,"lancedb")}),await t.promises.writeFile(e,JSON.stringify(r,null,2),"utf8")}catch{}let s=new Date().toISOString(),d={id:n,name:o,port:8080,createdAt:s,updatedAt:s};return E({username:null,activeServerId:n,servers:[d],mode:null})}async function T(){let e=await A(),t=p.getStore()?.serverId??e.activeServerId;return t?e.servers.find(e=>e.id===t)??null:null}async function b(){let e=await T();if(!e)return null;let a=g(e.id);return await t.promises.mkdir(a,{recursive:!0}),a}async function C(){let e=await b();if(e)return e;let t=p.getStore()?.serverId;if(t)throw Error(`Server "${t}" no longer exists.`);let{server:a}=await N("my-larkup");return g(a.id)}async function O(e){return new Promise(t=>{let a=i.default.createServer();a.once("error",()=>t(!1)),a.once("listening",()=>{a.close(()=>t(!0))}),a.listen(e,"127.0.0.1")})}async function I(e){let t=Math.max(8079,...e.servers.map(e=>e.port))+1;for(;!await O(t);)t++;return t}function N(e){return y(async n=>{let i=(0,r.randomUUID)(),s=new Date().toISOString(),l={id:i,name:e.trim()||"Untitled server",port:await I(n),createdAt:s,updatedAt:s},d=g(i);await t.promises.mkdir(d,{recursive:!0});let u={};if(n.activeServerId)try{let e=await t.promises.readFile(a.default.join(g(n.activeServerId),"config.json"),"utf8");u=JSON.parse(e)}catch{}await t.promises.writeFile(a.default.join(d,"config.json"),JSON.stringify(function(e,t,a={}){return{...o,projectName:t.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"my-larkup",storeConfig:{mode:"local",dbPath:f(e,"lancedb")},embeddingApiKey:a.embeddingApiKey??o.embeddingApiKey,customEmbeddings:a.customEmbeddings??o.customEmbeddings,chatApiKey:a.chatApiKey??o.chatApiKey,customChatModels:a.customChatModels??o.customChatModels,serperApiKey:a.serperApiKey??o.serperApiKey,firecrawlApiKey:a.firecrawlApiKey??o.firecrawlApiKey,updatedAt:new Date().toISOString()}}(i,l.name,u),null,2),"utf8");let c={...n,servers:[...n.servers,l],activeServerId:i};return await E(c),{workspace:c,server:l}})}e.s(["createServer",0,N,"deleteServer",0,function(e){return y(async a=>{let r=a.servers.filter(t=>t.id!==e),n=a.activeServerId===e?r[0]?.id??null:a.activeServerId;return await t.promises.rm(g(e),{recursive:!0,force:!0}),E({...a,servers:r,activeServerId:n})})},"getActiveServer",0,T,"getDataDir",0,b,"getWorkspace",0,A,"renameServer",0,function(e,t){return y(async a=>{let r=a.servers.map(a=>a.id===e?{...a,name:t.trim()||a.name,updatedAt:new Date().toISOString()}:a);return E({...a,servers:r})})},"requireDataDir",0,C,"runWithServer",0,function(e,t){return p.run({serverId:e},t)},"setActiveServer",0,function(e){return y(async t=>t.servers.some(t=>t.id===e)?E({...t,activeServerId:e}):t)},"setMode",0,function(e){return y(async t=>E({...t,mode:e}))},"setUsername",0,function(e){return y(async t=>E({...t,username:e.trim()||null}))}],192441)},886173,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(638725),n=e.i(192441);async function i(){let e=await (0,n.getDataDir)();if(!e)return r.DEFAULT_DEPLOYMENT_CONFIG;try{let n=await t.promises.readFile(a.default.join(e,"deployment.json"),"utf8"),i=JSON.parse(n);return{...r.DEFAULT_DEPLOYMENT_CONFIG,...i,widgetStyle:{...r.DEFAULT_DEPLOYMENT_CONFIG.widgetStyle,...i.widgetStyle}}}catch{return r.DEFAULT_DEPLOYMENT_CONFIG}}async function o(e){let r=await (0,n.requireDataDir)();return await t.promises.writeFile(a.default.join(r,"deployment.json"),JSON.stringify(e,null,2),"utf8"),e}e.s(["readDeploymentConfig",0,i,"writeDeploymentConfig",0,o])},260046,e=>{"use strict";var t=e.i(850492),a=e.i(891119),r=e.i(697373),n=e.i(765700),i=e.i(601263),o=e.i(706859),s=e.i(947547),l=e.i(819797),d=e.i(135958),u=e.i(86520),c=e.i(970949),p=e.i(741165),h=e.i(106898),m=e.i(454415),y=e.i(37125),g=e.i(193695);e.i(530058);var f=e.i(605998),w=e.i(686296),v=e.i(886173);async function S(){try{let e=await (0,v.readDeploymentConfig)();return w.NextResponse.json(e)}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}async function E(e){try{let t=await e.json(),a=await (0,v.writeDeploymentConfig)(t);return w.NextResponse.json(a)}catch(e){return w.NextResponse.json({error:String(e)},{status:500})}}e.s(["GET",0,S,"PUT",0,E,"dynamic",0,"force-dynamic"],439066);var A=e.i(439066);let R=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/deployment/config/route",pathname:"/api/deployment/config",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/apps/web/app/api/deployment/config/route.ts",nextConfigOutput:"standalone",userland:A,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:b,serverHooks:C}=R;async function O(e,t,r){r.requestMeta&&(0,n.setRequestMeta)(e,r.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/deployment/config/route";w=w.replace(/\/index$/,"")||"/";let v=await R.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:E,params:A,nextConfig:T,parsedUrl:b,isDraftMode:C,prerenderManifest:O,routerServerContext:I,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,resolvedPathname:D,clientReferenceManifest:U,serverActionsManifest:P}=v,M=(0,s.normalizeAppPath)(w),L=!!(O.dynamicRoutes[M]||O.routes[D]),k=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,b,!1):t.end("This page could not be found"),null);if(L&&!C){let e=!!O.routes[D],t=O.dynamicRoutes[M];if(t&&!1===t.fallback&&!e){if(T.adapterPath)return await k();throw new g.NoFallbackError}}let j=null;!L||R.isDev||C||(j="/index"===(j=D)?"/":j);let q=!0===R.isDev||!L,F=L&&!q;P&&U&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:U,serverActionsManifest:P});let K=e.method||"GET",_=(0,i.getTracer)(),H=_.getActiveScopeSpan(),W=!!(null==I?void 0:I.isWrappedByNextServer),Y=!!(0,n.getRequestMeta)(e,"minimalMode"),z=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,T,O,Y);null==z||z.resetRequestCache(),globalThis.__incrementalCache=z;let G={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts},cacheComponents:!!T.cacheComponents,supportsDynamicResponse:q,incrementalCache:z,cacheLifeProfiles:T.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,r,n)=>R.onRequestError(e,t,r,n,I)},sharedContext:{buildId:S,deploymentId:E}},V=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),$=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let n,o=async e=>R.handle($,G).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let a=_.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=a.get("next.route");if(r){let t=`${K} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",r),n.updateName(t))}else e.updateName(`${K} ${w}`)}),s=async n=>{var i,s;let l=async({previousCacheEntry:a})=>{try{if(!Y&&N&&x&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await o(n);e.fetchMetrics=G.renderOpts.fetchMetrics;let s=G.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=G.renderOpts.collectedTags;if(!L)return await (0,p.sendResponse)(V,B,i,G.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[y.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=y.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=y.INFINITE_CACHE?void 0:G.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:r}}}}catch(t){throw(null==a?void 0:a.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),t}},d=await R.handleResponse({req:e,nextConfig:T,cacheKey:j,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:x,responseGenerator:l,waitUntil:r.waitUntil,isMinimalMode:Y});if(!L)return null;if((null==d||null==(i=d.value)?void 0:i.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(s=d.value)?void 0:s.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Y||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return Y&&L||u.delete(y.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,B,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};W&&H?await s(H):(n=_.getActiveScopeSpan(),await _.withPropagatedContext(e.headers,()=>_.trace(u.BaseServerSpan.handleRequest,{spanName:`${K} ${w}`,kind:i.SpanKind.SERVER,attributes:{"http.method":K,"http.target":e.url}},s),void 0,!W))}catch(t){if(t instanceof g.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,I),L)throw t;return await (0,p.sendResponse)(V,B,new Response(null,{status:500})),null}}e.s(["handler",0,O,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:b})},"routeModule",0,R,"serverHooks",0,C,"workAsyncStorage",0,T,"workUnitAsyncStorage",0,b],260046)}];
58
58
 
59
59
  //# sourceMappingURL=%5Broot-of-the-server%5D__04l~ip-._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},192441,638725,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(478500),s=e.i(761095);let i={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},761095,(e,t,r)=>{t.exports=e.x("node:net",()=>require("node:net"))},478500,(e,t,r)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},192441,638725,e=>{"use strict";var t=e.i(902157),r=e.i(750227),a=e.i(666680),n=e.i(478500),s=e.i(761095);let i={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),i=e.i(478500),n=e.i(761095);let s={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),i=e.i(478500),n=e.i(761095);let s={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),s=e.i(761095);let i={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),s=e.i(761095);let i={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},o=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.
@@ -1,4 +1,4 @@
1
- module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),o=e.i(761095);let i={projectName:"my-rag",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},s=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
1
+ module.exports=[750227,(e,t,a)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,a)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},666680,(e,t,a)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},478500,(e,t,a)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},761095,(e,t,a)=>{t.exports=e.x("node:net",()=>require("node:net"))},192441,638725,e=>{"use strict";var t=e.i(902157),a=e.i(750227),r=e.i(666680),n=e.i(478500),o=e.i(761095);let i={projectName:"my-larkup",embeddingProvider:"openai",embeddingApiKey:"",embeddingModelId:"openai/text-embedding-3-small",indexType:"hybrid",chunking:{chunkSize:512,chunkOverlap:64,strategy:"recursive"},vectorStore:"lancedb",storeConfig:{mode:"local",dbPath:"./.larkup/lancedb",tableName:"documents"},topK:5,serperApiKey:"",webSearchEnabled:!1,webSearchProvider:"tavily",tavilyApiKey:"",googleApiKey:"",braveApiKey:"",bingApiKey:"",exaApiKey:"",chatModelId:"",chatApiKey:"",scraperProxyServer:"",scraperProxyUsername:"",scraperProxyPassword:"",useScraperProxy:!1,webCrawlerProvider:"local",firecrawlApiKey:"",toolConfigs:{},updatedAt:new Date(0).toISOString()},s=`You are a powerful data analysis assistant with access to a knowledge base, corpus introspection tools, tabular data tools, and a code sandbox.
2
2
 
3
3
  You have these tools:
4
4
  1. "searchKnowledgeBase" — semantic search over the RAG knowledge base. Returns top-K most relevant document chunks.