six-degrees 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +35 -7
  5. package/.next/standalone/.next/required-server-files.json +6 -1
  6. package/.next/standalone/.next/routes-manifest.json +18 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
  18. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  19. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +10 -10
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  21. package/.next/standalone/.next/server/app/api/admin-delete/route.js +1 -1
  22. package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/admin-update/route.js +1 -1
  24. package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/bridges/route.js +1 -1
  26. package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/bulk-import/route.js +1 -1
  28. package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/connections/route.js +1 -1
  32. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +1 -1
  39. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/ingest/route.js +1 -1
  41. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/network/route.js +1 -1
  43. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/notifications/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/outreach/route.js +3 -3
  47. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/queue/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
  51. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/setup-profile/route.js +1 -1
  56. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/unlock/route.js +1 -1
  58. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/api/update-images/route.js +1 -1
  61. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  62. package/.next/standalone/.next/server/app/api/users/route.js +1 -1
  63. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  65. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/import.html +1 -1
  68. package/.next/standalone/.next/server/app/import.rsc +13 -13
  69. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
  70. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
  71. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +12 -12
  72. package/.next/standalone/.next/server/app/index.html +1 -1
  73. package/.next/standalone/.next/server/app/index.rsc +13 -13
  74. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +12 -12
  75. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
  76. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  77. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  79. package/.next/standalone/.next/server/app/launch.html +2 -2
  80. package/.next/standalone/.next/server/app/launch.rsc +13 -13
  81. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
  82. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
  83. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +12 -12
  84. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  86. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  88. package/.next/standalone/.next/server/app/paths.html +1 -1
  89. package/.next/standalone/.next/server/app/paths.rsc +13 -13
  90. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
  91. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
  92. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +12 -12
  93. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  95. package/.next/standalone/.next/server/app/profile.html +1 -1
  96. package/.next/standalone/.next/server/app/profile.rsc +13 -13
  97. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
  98. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
  99. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +12 -12
  100. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  101. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  102. package/.next/standalone/.next/server/app/queue.html +1 -1
  103. package/.next/standalone/.next/server/app/queue.rsc +13 -13
  104. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
  105. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
  106. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +12 -12
  107. package/.next/standalone/.next/server/app/scores/page/app-paths-manifest.json +3 -0
  108. package/.next/standalone/.next/server/app/scores/page/build-manifest.json +20 -0
  109. package/.next/standalone/.next/server/app/scores/page/next-font-manifest.json +11 -0
  110. package/.next/standalone/.next/server/app/scores/page/react-loadable-manifest.json +1 -0
  111. package/.next/standalone/.next/server/app/scores/page/server-reference-manifest.json +4 -0
  112. package/.next/standalone/.next/server/app/scores/page.js +13 -0
  113. package/.next/standalone/.next/server/app/scores/page.js.map +5 -0
  114. package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -0
  115. package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +3 -0
  116. package/.next/standalone/.next/server/app/scores.html +1 -0
  117. package/.next/standalone/.next/server/app/scores.meta +26 -0
  118. package/.next/standalone/.next/server/app/scores.rsc +24 -0
  119. package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +24 -0
  120. package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +4 -0
  121. package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +28 -0
  122. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/settings.html +1 -1
  125. package/.next/standalone/.next/server/app/settings.rsc +13 -13
  126. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +13 -13
  127. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  128. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +12 -12
  129. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  131. package/.next/standalone/.next/server/app/setup.html +1 -1
  132. package/.next/standalone/.next/server/app/setup.rsc +13 -13
  133. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
  134. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
  135. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +12 -12
  136. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  137. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +1 -1
  138. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
  139. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0i5hdu4._.js → [root-of-the-server]__03ydxxh._.js} +2 -2
  140. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
  141. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bat8nx._.js +8 -0
  142. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
  143. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
  144. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +1 -1
  145. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
  146. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
  147. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
  148. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
  149. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +1 -1
  150. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +1 -1
  151. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +1 -1
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
  156. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +1 -1
  157. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
  158. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +2 -2
  159. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
  160. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
  161. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +1 -1
  162. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
  163. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +1 -1
  164. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
  165. package/.next/standalone/.next/server/chunks/_02twlca._.js +10 -0
  166. package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
  167. package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
  168. package/.next/standalone/.next/server/chunks/_1_fynia._.js +8 -6
  169. package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
  170. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
  171. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  172. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +13 -8
  173. package/.next/standalone/.next/server/chunks/{lib_rpc_02ndsg2.js → lib_rpc_03i8xef.js} +1 -1
  174. package/.next/standalone/.next/server/chunks/{lib_rpc_08q5vp6.js → lib_rpc_08fc3rp.js} +1 -1
  175. package/.next/standalone/.next/server/chunks/{lib_rpc_00tx2sm.js → lib_rpc_08r2t_q.js} +1 -1
  176. package/.next/standalone/.next/server/chunks/{lib_rpc_02-qa4d.js → lib_rpc_0btpv1t.js} +1 -1
  177. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -5
  178. package/.next/standalone/.next/server/chunks/lib_rpc_0cm2ev3.js +3 -0
  179. package/.next/standalone/.next/server/chunks/lib_rpc_0iovswz.js +3 -0
  180. package/.next/standalone/.next/server/chunks/lib_rpc_0is8flp.js +3 -0
  181. package/.next/standalone/.next/server/chunks/lib_rpc_0v8ajtd.js +3 -0
  182. package/.next/standalone/.next/server/chunks/lib_rpc_0xgmvvt.js +3 -0
  183. package/.next/standalone/.next/server/chunks/lib_rpc_144mzbf.js +3 -0
  184. package/.next/standalone/.next/server/chunks/lib_rpc_1bggi0n.js +3 -0
  185. package/.next/standalone/.next/server/chunks/lib_rpc_1dkcu9f.js +3 -0
  186. package/.next/standalone/.next/server/chunks/lib_rpc_1o0jb6w.js +3 -0
  187. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0an6blh._.js → [root-of-the-server]__0zzcbqg._.js} +2 -2
  188. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1194jps._.js +3 -0
  189. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1z1j3ek._.js → [root-of-the-server]__19ip1qq._.js} +2 -2
  190. package/.next/standalone/.next/server/chunks/ssr/_01f38ty._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/ssr/_06w_gl4._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/ssr/_0hw_qnj._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/ssr/_13kzrwv._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/ssr/_15xuwkv._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/ssr/_1cyxocj._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/ssr/_1gpbbw9._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/ssr/_1hgd5dp._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_scores_page_actions_0x-w58n.js +3 -0
  201. package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +3 -0
  202. package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +1 -1
  203. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +11 -9
  204. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +4 -0
  205. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  206. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
  207. package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +3 -0
  208. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
  209. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
  210. package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_0x3i8za._.js +131 -0
  212. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_1bunoni._.js → node_modules_next_dist_1v8aef8._.js} +2 -2
  213. package/.next/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1dato.js +3 -0
  214. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  215. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  216. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  217. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  218. package/.next/standalone/.next/server/pages/404.html +1 -1
  219. package/.next/standalone/.next/server/pages/500.html +1 -1
  220. package/.next/standalone/.next/server/prefetch-hints.json +14 -0
  221. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  222. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  223. package/.next/standalone/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  224. package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  225. package/.next/standalone/.next/static/chunks/0l1568qff0efj.js +1 -0
  226. package/.next/standalone/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  227. package/.next/standalone/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  228. package/.next/standalone/.next/static/chunks/135n87ydxjrra.js +2 -0
  229. package/.next/standalone/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  230. package/.next/standalone/.next/static/chunks/28bu26ausqzmn.js +1 -0
  231. package/.next/standalone/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
  232. package/.next/standalone/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  233. package/.next/standalone/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  234. package/.next/standalone/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  235. package/.next/standalone/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  236. package/.next/standalone/CHANGELOG.md +286 -0
  237. package/.next/standalone/CONTRIBUTING.md +15 -4
  238. package/.next/standalone/README.md +50 -29
  239. package/.next/standalone/SECURITY.md +10 -0
  240. package/.next/standalone/app/api/company-scores/legacy/route.js +1 -1
  241. package/.next/standalone/app/api/company-scores/route.js +1 -1
  242. package/.next/standalone/app/api/ingest/route.js +23 -2
  243. package/.next/standalone/app/api/outreach/route.js +107 -44
  244. package/.next/standalone/app/api/scraper/route.js +146 -17
  245. package/.next/standalone/app/api/settings/sector-preview/route.js +3 -2
  246. package/.next/standalone/app/api/settings/sector-suggestions/route.js +1 -1
  247. package/.next/standalone/app/api/update-images/route.js +41 -7
  248. package/.next/standalone/app/avatars/[file]/route.js +6 -1
  249. package/.next/standalone/app/components/Avatar.js +5 -2
  250. package/.next/standalone/app/components/ChainView.js +659 -469
  251. package/.next/standalone/app/components/CompanyScores.js +16 -10
  252. package/.next/standalone/app/components/EmptyState.js +1 -1
  253. package/.next/standalone/app/components/FieldStep.js +94 -0
  254. package/.next/standalone/app/components/ForceGraph.js +183 -768
  255. package/.next/standalone/app/components/GridView.js +9 -7
  256. package/.next/standalone/app/components/LegacyScoresCard.js +1 -1
  257. package/.next/standalone/app/components/LinkedInLimits.js +22 -7
  258. package/.next/standalone/app/components/ListView.js +6 -4
  259. package/.next/standalone/app/components/MappingProgress.js +5 -6
  260. package/.next/standalone/app/components/OnboardingGate.js +1 -1
  261. package/.next/standalone/app/components/OrbitGraph.js +33 -1
  262. package/.next/standalone/app/components/OutlinkQuest.js +5 -4
  263. package/.next/standalone/app/components/PathsAnalyzer.js +1 -1
  264. package/.next/standalone/app/components/RingsView.js +9 -8
  265. package/.next/standalone/app/components/SeparationView.js +96 -14
  266. package/.next/standalone/app/components/Sidebar.js +366 -287
  267. package/.next/standalone/app/components/TheirCircle.js +300 -0
  268. package/.next/standalone/app/components/settings/SectorPicker.js +202 -0
  269. package/.next/standalone/app/components/settings/SectorSection.js +21 -195
  270. package/.next/standalone/app/components/settings/TierSection.js +99 -0
  271. package/.next/standalone/app/components/useRequests.js +12 -0
  272. package/.next/standalone/app/components/useScanner.js +13 -0
  273. package/.next/standalone/app/components/views.js +3 -5
  274. package/.next/standalone/app/globals.css +7 -0
  275. package/.next/standalone/app/launch/page.js +6 -3
  276. package/.next/standalone/app/page.js +183 -74
  277. package/.next/standalone/app/paths/page.js +20 -14
  278. package/.next/standalone/app/profile/page.js +3 -3
  279. package/.next/standalone/app/queue/page.js +56 -60
  280. package/.next/standalone/app/scores/page.js +72 -0
  281. package/.next/standalone/app/settings/page.js +15 -3
  282. package/.next/standalone/app/setup/page.js +423 -260
  283. package/.next/standalone/db/schema.js +2 -1
  284. package/.next/standalone/eslint.config.mjs +3 -3
  285. package/.next/standalone/install.sh +3 -3
  286. package/.next/standalone/lib/chain-layout.js +139 -0
  287. package/.next/standalone/lib/circle.js +169 -0
  288. package/.next/standalone/lib/companies.js +1 -1
  289. package/.next/standalone/lib/csv.js +21 -10
  290. package/.next/standalone/lib/data-export.js +2 -1
  291. package/.next/standalone/lib/data-folder.js +4 -2
  292. package/.next/standalone/lib/db-client.js +1 -0
  293. package/.next/standalone/lib/galaxy.js +12 -0
  294. package/.next/standalone/lib/ingest.js +27 -8
  295. package/.next/standalone/lib/legacy-offer.js +7 -6
  296. package/.next/standalone/lib/legacy-scores.js +2 -2
  297. package/.next/standalone/lib/linkedin-limits.js +30 -8
  298. package/.next/standalone/lib/photos.js +47 -0
  299. package/.next/standalone/lib/quest.js +8 -3
  300. package/.next/standalone/lib/rarity.js +80 -0
  301. package/.next/standalone/lib/reach.js +113 -0
  302. package/.next/standalone/lib/requests-client.js +113 -0
  303. package/.next/standalone/lib/rpc.js +26 -15
  304. package/.next/standalone/lib/scan-state.js +1 -0
  305. package/.next/standalone/lib/scanner-setup.js +20 -1
  306. package/.next/standalone/lib/score-guess.js +60 -0
  307. package/.next/standalone/lib/scoring.js +1761 -69
  308. package/.next/standalone/lib/scraper-client.js +235 -17
  309. package/.next/standalone/lib/sector-directory.js +1 -1
  310. package/.next/standalone/lib/sector-focus.js +17 -3
  311. package/.next/standalone/lib/separation.js +4 -2
  312. package/.next/standalone/lib/settings-client.js +21 -0
  313. package/.next/standalone/lib/settings-effects.js +19 -1
  314. package/.next/standalone/lib/settings.js +7 -2
  315. package/.next/standalone/next.config.mjs +25 -3
  316. package/.next/standalone/package-lock.json +2 -2
  317. package/.next/standalone/package.json +2 -2
  318. package/.next/standalone/public/demo-data.json +1 -1
  319. package/.next/standalone/scripts/build-app.mjs +11 -2
  320. package/.next/standalone/scripts/check-node.mjs +1 -1
  321. package/.next/standalone/scripts/gen-synthetic.mjs +1 -1
  322. package/.next/standalone/scripts/image_store.py +77 -21
  323. package/.next/standalone/scripts/scrape.py +305 -29
  324. package/.next/standalone/server.js +1 -1
  325. package/.next/static/chunks/0ax_9zzboyv6d.js +44 -0
  326. package/.next/static/chunks/0cuuo2jwc9h94.js +1 -0
  327. package/.next/static/chunks/0l1568qff0efj.js +1 -0
  328. package/.next/static/chunks/0muwt9bykzr-1.js +1 -0
  329. package/.next/static/chunks/0w76iraw7ij3k.js +18 -0
  330. package/.next/static/chunks/135n87ydxjrra.js +2 -0
  331. package/.next/static/chunks/18xu0fbgo_qz-.js +1 -0
  332. package/.next/static/chunks/28bu26ausqzmn.js +1 -0
  333. package/.next/static/chunks/{40nvbgfn7-072.css → 2p6o90z0vgcwr.css} +1 -1
  334. package/.next/static/chunks/2pnbm1z6j7xab.js +1 -0
  335. package/.next/static/chunks/2xjho0lroiwlq.js +1 -0
  336. package/.next/static/chunks/3e8zg6ctvvb8p.js +33 -0
  337. package/.next/static/chunks/3qh78g2aqhprd.js +2 -0
  338. package/CHANGELOG.md +286 -0
  339. package/README.md +50 -29
  340. package/SECURITY.md +10 -0
  341. package/db/schema.js +2 -1
  342. package/lib/chain-layout.js +139 -0
  343. package/lib/circle.js +169 -0
  344. package/lib/companies.js +1 -1
  345. package/lib/csv.js +21 -10
  346. package/lib/data-export.js +2 -1
  347. package/lib/data-folder.js +4 -2
  348. package/lib/db-client.js +1 -0
  349. package/lib/galaxy.js +12 -0
  350. package/lib/ingest.js +27 -8
  351. package/lib/legacy-offer.js +7 -6
  352. package/lib/legacy-scores.js +2 -2
  353. package/lib/linkedin-limits.js +30 -8
  354. package/lib/photos.js +47 -0
  355. package/lib/quest.js +8 -3
  356. package/lib/rarity.js +80 -0
  357. package/lib/reach.js +113 -0
  358. package/lib/requests-client.js +113 -0
  359. package/lib/rpc.js +26 -15
  360. package/lib/scan-state.js +1 -0
  361. package/lib/scanner-setup.js +20 -1
  362. package/lib/score-guess.js +60 -0
  363. package/lib/scoring.js +1761 -69
  364. package/lib/scraper-client.js +235 -17
  365. package/lib/sector-directory.js +1 -1
  366. package/lib/sector-focus.js +17 -3
  367. package/lib/separation.js +4 -2
  368. package/lib/settings-client.js +21 -0
  369. package/lib/settings-effects.js +19 -1
  370. package/lib/settings.js +7 -2
  371. package/package.json +2 -2
  372. package/public/demo-data.json +1 -1
  373. package/scripts/check-node.mjs +1 -1
  374. package/scripts/image_store.py +77 -21
  375. package/scripts/scrape.py +305 -29
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +0 -3
  377. package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +0 -3
  378. package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +0 -3
  379. package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +0 -3
  380. package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +0 -3
  381. package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +0 -3
  382. package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +0 -3
  383. package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +0 -3
  384. package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +0 -3
  385. package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +0 -3
  386. package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +0 -3
  387. package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +0 -3
  388. package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +0 -3
  389. package/.next/standalone/.next/server/chunks/ssr/_0942v8n._.js +0 -3
  390. package/.next/standalone/.next/server/chunks/ssr/_0hl_t7r._.js +0 -3
  391. package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +0 -132
  392. package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +0 -3
  393. package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +0 -3
  394. package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +0 -3
  395. package/.next/standalone/.next/server/chunks/ssr/node_modules_16vay6l._.js +0 -3
  396. package/.next/standalone/.next/server/chunks/ssr/node_modules_1kciwn4._.js +0 -3
  397. package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  398. package/.next/standalone/.next/static/chunks/08k1crid-05dt.js +0 -1
  399. package/.next/standalone/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  400. package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +0 -2
  401. package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +0 -1
  402. package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +0 -44
  403. package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  404. package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +0 -1
  405. package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  406. package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +0 -1
  407. package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  408. package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  409. package/.next/standalone/app/components/BridgeRing.js +0 -753
  410. package/.next/static/chunks/06x3jiiz96m5t.js +0 -1
  411. package/.next/static/chunks/08k1crid-05dt.js +0 -1
  412. package/.next/static/chunks/0ngx9s6-zgshe.js +0 -33
  413. package/.next/static/chunks/0q-_khndfxubv.js +0 -2
  414. package/.next/static/chunks/1c79veqedvubt.js +0 -1
  415. package/.next/static/chunks/1chp3nx45meg5.js +0 -44
  416. package/.next/static/chunks/1irqj0lf-fu3d.js +0 -1
  417. package/.next/static/chunks/1uadqylrod5_v.js +0 -1
  418. package/.next/static/chunks/23u0zclgwpc4d.js +0 -1
  419. package/.next/static/chunks/289ktj97di6zg.js +0 -1
  420. package/.next/static/chunks/2b3lmf8e6uj8m.js +0 -16
  421. package/.next/static/chunks/3npq5yd7c4dmn.js +0 -2
  422. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  423. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  424. /package/.next/standalone/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
  425. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_buildManifest.js +0 -0
  426. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_clientMiddlewareManifest.js +0 -0
  427. /package/.next/static/{qqqcxvzBUizkECrT4swyK → WseE_5HuU-1q0ywC9CP3U}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},29989,e=>{"use strict";var t=e.i(80998);async function r(e){try{let{bridgeId:r}=await e.json();if(!r)return Response.json({error:"Missing bridgeId"},{status:400});let{error:s}=await t.db.from("linkedin_connections").delete().eq("source_connection_id",r).eq("degree",2);if(s)return Response.json({error:s.message},{status:500});return Response.json({success:!0})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["POST",0,r])},28336,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),l=e.i(69741),o=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(26937),g=e.i(10372),f=e.i(93695);e.i(52474);var _=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/delete-cluster/route",pathname:"/api/delete-cluster",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/delete-cluster/route.js",nextConfigOutput:"standalone",userland:()=>e.r(29989),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:E,serverHooks:b}=R;async function v(e,t,s){s.requestMeta&&(0,n.setRequestMeta)(e,s.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/delete-cluster/route";x=x.replace(/\/index$/,"")||"/";let E=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:b,deploymentId:v,params:w,nextConfig:y,parsedUrl:T,isDraftMode:S,prerenderManifest:C,routerServerContext:$,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:A,clientReferenceManifest:I,serverActionsManifest:O}=E,L=(0,l.normalizeAppPath)(x),j=!!(C.dynamicRoutes[L]||C.routes[A]),P=async()=>((null==$?void 0:$.render404)?await $.render404(e,t,T,!1):t.end("This page could not be found"),null);if(j&&!S){let e=!!C.routes[A],t=C.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await P();throw new f.NoFallbackError}}let D=null;!j||R.isDev||S||(D="/index"===(D=A)?"/":D);let k=!0===R.isDev||!j,M=j&&!k;O&&I&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:I,serverActionsManifest:O});let U=e.method||"GET",H=(0,a.getTracer)(),F=H.getActiveScopeSpan(),V=!!(null==$?void 0:$.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,y,C,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:k,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>R.onRequestError(e,t,s,n,$)},sharedContext:{buildId:b,deploymentId:v}},W=new o.NodeNextRequest(e),X=new o.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!K&&q&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await R.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let a=B.renderOpts.pendingWaitUntil;a&&s.waitUntil&&(s.waitUntil(a),a=void 0);let i=B.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(W,X,n,a),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?y.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,$),t}},Q=async(n,i)=>{try{var l,o;let n=await R.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:K});if(!j)return;if((null==n||null==(l=n.value)?void 0:l.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let a=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);K&&j||a.delete(g.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||a.get("Cache-Control")||a.set("Cache-Control",(0,m.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(W,X,new Response(n.value.body,{headers:a,status:n.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,$),j)throw t;await (0,c.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:a.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route")||L,l=`${U} ${s}`;n.setAttributes({"next.route":s,"http.route":s,"next.span_name":l}),n.updateName(l),i&&i!==n&&(i.setAttribute("http.route",s),i.updateName(l))})()}};if(V&&F)await Q(F,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${x}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>Q(e,t)),void 0,!V)}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:E})},"routeModule",0,R,"serverHooks",0,b,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,E])},80998,e=>{"use strict";var t=e.i(88431);let r=/^[a-z_][a-z0-9_]*$/i;function s(e,t){if(!r.test(e))throw Error(`Unsafe ${t}: ${e}`);return e}class n{constructor(e){this.table=s(e,"table"),this._columns="*",this._filters=[],this._order=null,this._limit=null,this._single=!1,this._op="select",this._payload=null,this._onConflict=null,this._ignoreDuplicates=!1}select(e="*"){return"select"===this._op&&(this._columns="*"===e?"*":e),this._returning=!0,this}eq(e,r){return s(e,"column"),null===r?this._filters.push({sql:`"${e}" IS NULL`,params:[]}):this._filters.push({sql:`"${e}" = ?`,params:[(0,t.encodeValue)(this.table,e,r)]}),this}neq(e,r){return s(e,"column"),this._filters.push({sql:`"${e}" IS NOT ?`,params:[(0,t.encodeValue)(this.table,e,r)]}),this}in(e,r){s(e,"column");let n=Array.isArray(r)?r:[];return n.length?this._filters.push({sql:`"${e}" IN (${n.map(()=>"?").join(", ")})`,params:n.map(r=>(0,t.encodeValue)(this.table,e,r))}):this._filters.push({sql:"0 = 1",params:[]}),this}ilike(e,t){return s(e,"column"),this._filters.push({sql:`"${e}" LIKE ?`,params:[t]}),this}not(e,r,n){return s(e,"column"),"is"===r&&null===n?this._filters.push({sql:`"${e}" IS NOT NULL`,params:[]}):this._filters.push({sql:`NOT ("${e}" = ?)`,params:[(0,t.encodeValue)(this.table,e,n)]}),this}is(e,r){return s(e,"column"),null===r?this._filters.push({sql:`"${e}" IS NULL`,params:[]}):this._filters.push({sql:`"${e}" = ?`,params:[(0,t.encodeValue)(this.table,e,r)]}),this}order(e,{ascending:t=!0}={}){return s(e,"column"),this._order=`"${e}" ${t?"ASC":"DESC NULLS LAST"}`,this}limit(e){return this._limit=Number(e)||0,this}single(){return this._single=!0,this._limit=this._limit??1,this}maybeSingle(){return this.single()}insert(e){return this._op="insert",this._payload=Array.isArray(e)?e:[e],this}upsert(e,t={}){return this._op="upsert",this._payload=Array.isArray(e)?e:[e],this._onConflict=t.onConflict||null,this._ignoreDuplicates=!!t.ignoreDuplicates,this}update(e){return this._op="update",this._payload=e,this}delete(){return this._op="delete",this}_where(){return this._filters.length?{sql:" WHERE "+this._filters.map(e=>e.sql).join(" AND "),params:this._filters.flatMap(e=>e.params)}:{sql:"",params:[]}}_run(){let e=(0,t.getDb)(),s=this._where();if("select"===this._op){let r=`SELECT ${"*"===this._columns?"*":this._columns} FROM "${this.table}"${s.sql}`;this._order&&(r+=` ORDER BY ${this._order}`),null!=this._limit&&(r+=` LIMIT ${Number(this._limit)}`);let n=e.prepare(r).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return this._single?n.length?{data:n[0],error:null}:{data:null,error:{message:"No rows found",code:"PGRST116"}}:{data:n,error:null}}if("insert"===this._op||"upsert"===this._op){let s=[];for(let n of this._payload){let a={id:n.id||(0,t.newId)(),...n};a.id||(a.id=(0,t.newId)());let i=Object.keys(a).filter(e=>r.test(e)),l=i.map(e=>(0,t.encodeValue)(this.table,e,a[e])),o=i.map(()=>"?").join(", "),u=i.map(e=>`"${e}"`).join(", "),p=`INSERT INTO "${this.table}" (${u}) VALUES (${o})`;if("upsert"===this._op)if(this._ignoreDuplicates)p+=" ON CONFLICT DO NOTHING";else{let e=this._onConflict?this._onConflict.split(",").map(e=>`"${e.trim()}"`).join(", "):'"id"',t=i.filter(e=>"id"!==e).map(e=>`"${e}" = excluded."${e}"`).join(", ");p+=` ON CONFLICT (${e}) DO UPDATE SET ${t||'"id" = "id"'}`}try{e.prepare(p).run(...l);let r=e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(a.id);r&&s.push((0,t.decodeRow)(this.table,r))}catch(e){if("upsert"===this._op&&/UNIQUE constraint/i.test(e.message))continue;return{data:null,error:{message:e.message}}}}return this._single?{data:s[0]??null,error:s.length?null:{message:"Insert returned no row"}}:{data:s,error:null}}if("update"===this._op){let n={...this._payload};"updated_at"in n==!1&&"linkedin_connections"===this.table&&(n.updated_at=(0,t.nowIso)());let a=Object.keys(n).filter(e=>r.test(e));if(!a.length)return{data:[],error:null};let i=a.map(e=>`"${e}" = ?`).join(", "),l=a.map(e=>(0,t.encodeValue)(this.table,e,n[e])),o=`UPDATE "${this.table}" SET ${i}${s.sql}`;try{let r=e.prepare(`SELECT id FROM "${this.table}"${s.sql}`).all(...s.params);e.prepare(o).run(...l,...s.params);let n=r.map(t=>e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(t.id)).filter(Boolean).map(e=>(0,t.decodeRow)(this.table,e));if(this._single)return{data:n[0]??null,error:n.length?null:{message:"No rows updated"}};return{data:n,error:null}}catch(e){return{data:null,error:{message:e.message}}}}if("delete"===this._op)try{let r=e.prepare(`SELECT * FROM "${this.table}"${s.sql}`).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return e.prepare(`DELETE FROM "${this.table}"${s.sql}`).run(...s.params),{data:r,error:null}}catch(e){return{data:null,error:{message:e.message}}}return{data:null,error:{message:`Unsupported operation: ${this._op}`}}}then(e,t){let r;try{r=this._run()}catch(e){r={data:null,error:{message:e.message}}}return Promise.resolve(r).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}e.s(["db",0,{from:e=>new n(e),async rpc(t,r={}){let{runRpc:s}=await e.A(35862);return s(t,r)}}])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),s=r(e),n=r(t);for(let e=0;e<Math.max(s.length,n.length);e++){let t=(s[e]||0)-(n[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let s=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return s?`npx six-degrees@latest --data-dir ${s}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function s(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${s(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,s,"scannerJob",0,r],1348)}];
1
+ module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},29989,e=>{"use strict";var t=e.i(80998);async function r(e){try{let{bridgeId:r}=await e.json();if(!r)return Response.json({error:"Missing bridgeId"},{status:400});let{error:s}=await t.db.from("linkedin_connections").delete().eq("source_connection_id",r).eq("degree",2);if(s)return Response.json({error:s.message},{status:500});return Response.json({success:!0})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["POST",0,r])},28336,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),n=e.i(59756),a=e.i(61916),i=e.i(74677),l=e.i(69741),o=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(26937),g=e.i(10372),f=e.i(93695);e.i(52474);var _=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/delete-cluster/route",pathname:"/api/delete-cluster",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/delete-cluster/route.js",nextConfigOutput:"standalone",userland:()=>e.r(29989),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:E,serverHooks:b}=R;async function v(e,t,s){s.requestMeta&&(0,n.setRequestMeta)(e,s.requestMeta),R.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/delete-cluster/route";x=x.replace(/\/index$/,"")||"/";let E=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:b,deploymentId:v,params:w,nextConfig:y,parsedUrl:T,isDraftMode:S,prerenderManifest:C,routerServerContext:$,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:A,clientReferenceManifest:I,serverActionsManifest:O}=E,L=(0,l.normalizeAppPath)(x),j=!!(C.dynamicRoutes[L]||C.routes[A]),P=async()=>((null==$?void 0:$.render404)?await $.render404(e,t,T,!1):t.end("This page could not be found"),null);if(j&&!S){let e=!!C.routes[A],t=C.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await P();throw new f.NoFallbackError}}let D=null;!j||R.isDev||S||(D="/index"===(D=A)?"/":D);let k=!0===R.isDev||!j,M=j&&!k;O&&I&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:I,serverActionsManifest:O});let U=e.method||"GET",H=(0,a.getTracer)(),F=H.getActiveScopeSpan(),V=!!(null==$?void 0:$.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),G=(0,n.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,y,C,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:w,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:k,incrementalCache:G,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>R.onRequestError(e,t,s,n,$)},sharedContext:{buildId:b,deploymentId:v}},W=new o.NodeNextRequest(e),X=new o.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!K&&q&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await R.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let a=B.renderOpts.pendingWaitUntil;a&&s.waitUntil&&(s.waitUntil(a),a=void 0);let i=B.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(W,X,n,a),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?y.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,$),t}},Q=async(n,i)=>{try{var l,o;let n=await R.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:K});if(!j)return;if((null==n||null==(l=n.value)?void 0:l.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(o=n.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",q?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let a=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);K&&j||a.delete(g.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||a.get("Cache-Control")||a.set("Cache-Control",(0,m.getCacheControlHeader)(n.cacheControl)),await (0,c.sendResponse)(W,X,new Response(n.value.body,{headers:a,status:n.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:q})},!1,$),j)throw t;await (0,c.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:a.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route")||L,l=`${U} ${s}`;n.setAttributes({"next.route":s,"http.route":s,"next.span_name":l}),n.updateName(l),i&&i!==n&&(i.setAttribute("http.route",s),i.updateName(l))})()}};if(V&&F)await Q(F,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${U} ${x}`,kind:a.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>Q(e,t)),void 0,!V)}}e.s(["handler",0,v,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:E})},"routeModule",0,R,"serverHooks",0,b,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,E])},80998,e=>{"use strict";var t=e.i(88431);let r=/^[a-z_][a-z0-9_]*$/i;function s(e,t){if(!r.test(e))throw Error(`Unsafe ${t}: ${e}`);return e}class n{constructor(e){this.table=s(e,"table"),this._columns="*",this._filters=[],this._order=null,this._limit=null,this._single=!1,this._op="select",this._payload=null,this._onConflict=null,this._ignoreDuplicates=!1}select(e="*"){return"select"===this._op&&(this._columns="*"===e?"*":e),this._returning=!0,this}eq(e,r){return s(e,"column"),null===r?this._filters.push({sql:`"${e}" IS NULL`,params:[]}):this._filters.push({sql:`"${e}" = ?`,params:[(0,t.encodeValue)(this.table,e,r)]}),this}neq(e,r){return s(e,"column"),this._filters.push({sql:`"${e}" IS NOT ?`,params:[(0,t.encodeValue)(this.table,e,r)]}),this}in(e,r){s(e,"column");let n=Array.isArray(r)?r:[];return n.length?this._filters.push({sql:`"${e}" IN (${n.map(()=>"?").join(", ")})`,params:n.map(r=>(0,t.encodeValue)(this.table,e,r))}):this._filters.push({sql:"0 = 1",params:[]}),this}ilike(e,t){return s(e,"column"),this._filters.push({sql:`"${e}" LIKE ?`,params:[t]}),this}not(e,r,n){return s(e,"column"),"is"===r&&null===n?this._filters.push({sql:`"${e}" IS NOT NULL`,params:[]}):this._filters.push({sql:`NOT ("${e}" = ?)`,params:[(0,t.encodeValue)(this.table,e,n)]}),this}is(e,r){return s(e,"column"),null===r?this._filters.push({sql:`"${e}" IS NULL`,params:[]}):this._filters.push({sql:`"${e}" = ?`,params:[(0,t.encodeValue)(this.table,e,r)]}),this}order(e,{ascending:t=!0}={}){return s(e,"column"),this._order=`"${e}" ${t?"ASC":"DESC NULLS LAST"}`,this}limit(e){return this._limit=Number(e)||0,this}single(){return this._single=!0,this._limit=this._limit??1,this}maybeSingle(){return this.single()}insert(e){return this._op="insert",this._payload=Array.isArray(e)?e:[e],this}upsert(e,t={}){return this._op="upsert",this._payload=Array.isArray(e)?e:[e],this._onConflict=t.onConflict||null,this._ignoreDuplicates=!!t.ignoreDuplicates,this}update(e){return this._op="update",this._payload=e,this}delete(){return this._op="delete",this}_where(){return this._filters.length?{sql:" WHERE "+this._filters.map(e=>e.sql).join(" AND "),params:this._filters.flatMap(e=>e.params)}:{sql:"",params:[]}}_run(){let e=(0,t.getDb)(),s=this._where();if("select"===this._op){let r=`SELECT ${"*"===this._columns?"*":this._columns} FROM "${this.table}"${s.sql}`;this._order&&(r+=` ORDER BY ${this._order}`),null!=this._limit&&(r+=` LIMIT ${Number(this._limit)}`);let n=e.prepare(r).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return this._single?n.length?{data:n[0],error:null}:{data:null,error:{message:"No rows found",code:"PGRST116"}}:{data:n,error:null}}if("insert"===this._op||"upsert"===this._op){let s=[];for(let n of this._payload){let a={id:n.id||(0,t.newId)(),...n};a.id||(a.id=(0,t.newId)());let i=Object.keys(a).filter(e=>r.test(e)),l=i.map(e=>(0,t.encodeValue)(this.table,e,a[e])),o=i.map(()=>"?").join(", "),u=i.map(e=>`"${e}"`).join(", "),p=`INSERT INTO "${this.table}" (${u}) VALUES (${o})`;if("upsert"===this._op)if(this._ignoreDuplicates)p+=" ON CONFLICT DO NOTHING";else{let e=this._onConflict?this._onConflict.split(",").map(e=>`"${e.trim()}"`).join(", "):'"id"',t=i.filter(e=>"id"!==e).map(e=>`"${e}" = excluded."${e}"`).join(", ");p+=` ON CONFLICT (${e}) DO UPDATE SET ${t||'"id" = "id"'}`}try{e.prepare(p).run(...l);let r=e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(a.id);r&&s.push((0,t.decodeRow)(this.table,r))}catch(e){if("upsert"===this._op&&/UNIQUE constraint/i.test(e.message))continue;return{data:null,error:{message:e.message}}}}return this._single?{data:s[0]??null,error:s.length?null:{message:"Insert returned no row"}}:{data:s,error:null}}if("update"===this._op){let n={...this._payload};"updated_at"in n==!1&&"linkedin_connections"===this.table&&(n.updated_at=(0,t.nowIso)());let a=Object.keys(n).filter(e=>r.test(e));if(!a.length)return{data:[],error:null};let i=a.map(e=>`"${e}" = ?`).join(", "),l=a.map(e=>(0,t.encodeValue)(this.table,e,n[e])),o=`UPDATE "${this.table}" SET ${i}${s.sql}`;try{let r=e.prepare(`SELECT id FROM "${this.table}"${s.sql}`).all(...s.params);e.prepare(o).run(...l,...s.params);let n=r.map(t=>e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(t.id)).filter(Boolean).map(e=>(0,t.decodeRow)(this.table,e));if(this._single)return{data:n[0]??null,error:n.length?null:{message:"No rows updated"}};return{data:n,error:null}}catch(e){return{data:null,error:{message:e.message}}}}if("delete"===this._op)try{let r=e.prepare(`SELECT * FROM "${this.table}"${s.sql}`).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return e.prepare(`DELETE FROM "${this.table}"${s.sql}`).run(...s.params),{data:r,error:null}}catch(e){return{data:null,error:{message:e.message}}}return{data:null,error:{message:`Unsupported operation: ${this._op}`}}}then(e,t){let r;try{r=this._run()}catch(e){r={data:null,error:{message:e.message}}}return Promise.resolve(r).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}}e.s(["db",0,{from:e=>new n(e),async rpc(t,r={}){let{runRpc:s}=await e.A(35862);return s(t,r)}}])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),s=r(e),n=r(t);for(let e=0;e<Math.max(s.length,n.length);e++){let t=(s[e]||0)-(n[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let s=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return s?`npx six-degrees@latest --data-dir ${s}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function s(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${s(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,s,"scannerJob",0,r],1348)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1qcm08_._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},51710,e=>{"use strict";var t=e.i(88431),r=e.i(33471),n=e.i(56029);async function s(){try{let e=(0,r.scoringRows)((0,t.getDb)());return Response.json({scored:e.length,suggestions:(0,n.suggestSectors)(e,(0,r.readForScoring)(e))})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["GET",0,s])},90524,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(52474);var R=e.i(220);let f=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/sector-suggestions/route",pathname:"/api/settings/sector-suggestions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/settings/sector-suggestions/route.js",nextConfigOutput:"standalone",userland:()=>e.r(51710),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:E}=f;async function b(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),f.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/settings/sector-suggestions/route";v=v.replace(/\/index$/,"")||"/";let w=await f.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,deploymentId:b,params:C,nextConfig:y,parsedUrl:S,isDraftMode:T,prerenderManifest:A,routerServerContext:q,isOnDemandRevalidate:N,revalidateOnlyGenerated:_,resolvedPathname:P,clientReferenceManifest:I,serverActionsManifest:k}=w,O=(0,o.normalizeAppPath)(v),j=!!(A.dynamicRoutes[O]||A.routes[P]),H=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,S,!1):t.end("This page could not be found"),null);if(j&&!T){let e=!!A.routes[P],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await H();throw new m.NoFallbackError}}let M=null;!j||f.isDev||T||(M="/index"===(M=P)?"/":M);let D=!0===f.isDev||!j,U=j&&!D;k&&I&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:I,serverActionsManifest:k});let $=e.method||"GET",L=(0,a.getTracer)(),F=L.getActiveScopeSpan(),K=!!(null==q?void 0:q.isWrappedByNextServer),G=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,y,A,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let X={params:C,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:B,hmrRefreshHash:(0,s.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>f.onRequestError(e,t,n,s,q)},sharedContext:{buildId:E,deploymentId:b}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&N&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await f.handle(z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let a=X.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let i=X.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(V,W,s,a),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);i&&(t[x.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=x.INFINITE_CACHE?!1!==r&&r>0?y.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),t}},Z=async(s,i)=>{try{var o,l;let s=await f.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:_,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:G});if(!j)return;if((null==s||null==(o=s.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==s||null==(l=s.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":s.isMiss?"MISS":s.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let a=(0,h.fromNodeOutgoingHttpHeaders)(s.value.headers);G&&j||a.delete(x.NEXT_CACHE_TAGS_HEADER),!s.cacheControl||t.getHeader("Cache-Control")||a.get("Cache-Control")||a.set("Cache-Control",(0,g.getCacheControlHeader)(s.cacheControl)),await (0,c.sendResponse)(V,W,new Response(s.value.body,{headers:a,status:s.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),j)throw t;await (0,c.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!s)return;let e=t.statusCode;s.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(s.setStatus({code:a.SpanStatusCode.ERROR}),s.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||O,o=`${$} ${n}`;s.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),s.updateName(o),i&&i!==s&&(i.setAttribute("http.route",n),i.updateName(o))})()}};if(K&&F)await Z(F,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})},"routeModule",0,f,"serverHooks",0,E,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,w])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),n=r(e),s=r(t);for(let e=0;e<Math.max(n.length,s.length);e++){let t=(n[e]||0)-(s[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let n=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return n?`npx six-degrees@latest --data-dir ${n}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function n(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${n(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,n,"scannerJob",0,r],1348)}];
1
+ module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},51710,e=>{"use strict";var t=e.i(88431),r=e.i(33471),n=e.i(56029);async function s(){try{let e=(0,r.scoringRows)((0,t.getDb)());return Response.json({scored:e.length,suggestions:(0,n.suggestSectors)(e,(0,r.readForScoring)(e))})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["GET",0,s])},90524,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),s=e.i(59756),a=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),g=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(52474);var R=e.i(220);let f=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/sector-suggestions/route",pathname:"/api/settings/sector-suggestions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/settings/sector-suggestions/route.js",nextConfigOutput:"standalone",userland:()=>e.r(51710),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:w,serverHooks:E}=f;async function b(e,t,n){n.requestMeta&&(0,s.setRequestMeta)(e,n.requestMeta),f.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/settings/sector-suggestions/route";v=v.replace(/\/index$/,"")||"/";let w=await f.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,deploymentId:b,params:C,nextConfig:y,parsedUrl:S,isDraftMode:T,prerenderManifest:A,routerServerContext:q,isOnDemandRevalidate:N,revalidateOnlyGenerated:_,resolvedPathname:P,clientReferenceManifest:I,serverActionsManifest:k}=w,O=(0,o.normalizeAppPath)(v),j=!!(A.dynamicRoutes[O]||A.routes[P]),H=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,S,!1):t.end("This page could not be found"),null);if(j&&!T){let e=!!A.routes[P],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await H();throw new m.NoFallbackError}}let M=null;!j||f.isDev||T||(M="/index"===(M=P)?"/":M);let D=!0===f.isDev||!j,U=j&&!D;k&&I&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:I,serverActionsManifest:k});let $=e.method||"GET",L=(0,a.getTracer)(),F=L.getActiveScopeSpan(),K=!!(null==q?void 0:q.isWrappedByNextServer),G=!!(0,s.getRequestMeta)(e,"minimalMode"),B=(0,s.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,y,A,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let X={params:C,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:B,hmrRefreshHash:(0,s.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>f.onRequestError(e,t,n,s,q)},sharedContext:{buildId:E,deploymentId:b}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&N&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await f.handle(z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let a=X.renderOpts.pendingWaitUntil;a&&n.waitUntil&&(n.waitUntil(a),a=void 0);let i=X.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(V,W,s,a),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);i&&(t[x.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=x.INFINITE_CACHE?!1!==r&&r>0?y.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:R.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),t}},Z=async(s,i)=>{try{var o,l;let s=await f.handleResponse({req:e,nextConfig:y,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:_,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:G});if(!j)return;if((null==s||null==(o=s.value)?void 0:o.kind)!==R.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==s||null==(l=s.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":s.isMiss?"MISS":s.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let a=(0,h.fromNodeOutgoingHttpHeaders)(s.value.headers);G&&j||a.delete(x.NEXT_CACHE_TAGS_HEADER),!s.cacheControl||t.getHeader("Cache-Control")||a.get("Cache-Control")||a.set("Cache-Control",(0,g.getCacheControlHeader)(s.cacheControl)),await (0,c.sendResponse)(V,W,new Response(s.value.body,{headers:a,status:s.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,q),j)throw t;await (0,c.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!s)return;let e=t.statusCode;s.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(s.setStatus({code:a.SpanStatusCode.ERROR}),s.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||O,o=`${$} ${n}`;s.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),s.updateName(o),i&&i!==s&&(i.setAttribute("http.route",n),i.updateName(o))})()}};if(K&&F)await Z(F,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(p.BaseServerSpan.handleRequest,{spanName:`${$} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:w})},"routeModule",0,f,"serverHooks",0,E,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,w])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),n=r(e),s=r(t);for(let e=0;e<Math.max(n.length,s.length);e++){let t=(n[e]||0)-(s[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let n=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return n?`npx six-degrees@latest --data-dir ${n}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function n(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${n(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,n,"scannerJob",0,r],1348)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1rphsdk._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},58808,e=>{"use strict";var t=e.i(50227),r=e.i(88431),n=e.i(44033);async function a(){let e=t.default.resolve((0,r.dataDir)()),a=await (0,n.revealFolder)(e);return a.ok?Response.json({ok:!0}):Response.json({error:`${a.message} The folder is ${e}`},{status:500})}e.s(["POST",0,a])},49158,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(52474);var v=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/data/reveal/route",pathname:"/api/data/reveal",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/data/reveal/route.js",nextConfigOutput:"standalone",userland:()=>e.r(58808),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:E}=R;async function b(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/data/reveal/route";f=f.replace(/\/index$/,"")||"/";let w=await R.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,deploymentId:b,params:C,nextConfig:T,parsedUrl:y,isDraftMode:S,prerenderManifest:A,routerServerContext:q,isOnDemandRevalidate:N,revalidateOnlyGenerated:_,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:I}=w,O=(0,o.normalizeAppPath)(f),j=!!(A.dynamicRoutes[O]||A.routes[P]),H=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,y,!1):t.end("This page could not be found"),null);if(j&&!S){let e=!!A.routes[P],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(T.adapterPath)return await H();throw new m.NoFallbackError}}let M=null;!j||R.isDev||S||(M="/index"===(M=P)?"/":M);let D=!0===R.isDev||!j,$=j&&!D;I&&k&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:k,serverActionsManifest:I});let U=e.method||"GET",L=(0,s.getTracer)(),F=L.getActiveScopeSpan(),K=!!(null==q?void 0:q.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,T,A,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let X={params:C,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:B,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>R.onRequestError(e,t,n,a,q)},sharedContext:{buildId:E,deploymentId:b}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&N&&_&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await R.handle(z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let i=X.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(V,W,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,q),t}},Z=async(a,i)=>{try{var o,l;let a=await R.handleResponse({req:e,nextConfig:T,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:_,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:G});if(!j)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&j||s.delete(g.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(a.cacheControl)),await (0,c.sendResponse)(V,W,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,q),j)throw t;await (0,c.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:s.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||O,o=`${U} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),a.updateName(o),i&&i!==a&&(i.setAttribute("http.route",n),i.updateName(o))})()}};if(K&&F)await Z(F,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),n=r(e),a=r(t);for(let e=0;e<Math.max(n.length,a.length);e++){let t=(n[e]||0)-(a[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let n=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return n?`npx six-degrees@latest --data-dir ${n}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function n(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${n(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,n,"scannerJob",0,r],1348)}];
1
+ module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},58808,e=>{"use strict";var t=e.i(50227),r=e.i(88431),n=e.i(26525);async function a(){let e=t.default.resolve((0,r.dataDir)()),a=await (0,n.revealFolder)(e);return a.ok?Response.json({ok:!0}):Response.json({error:`${a.message} The folder is ${e}`},{status:500})}e.s(["POST",0,a])},49158,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),p=e.i(47587),c=e.i(66012),h=e.i(70101),x=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(52474);var v=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/data/reveal/route",pathname:"/api/data/reveal",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/data/reveal/route.js",nextConfigOutput:"standalone",userland:()=>e.r(58808),...{}}),{workAsyncStorage:f,workUnitAsyncStorage:w,serverHooks:E}=R;async function b(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let f="/api/data/reveal/route";f=f.replace(/\/index$/,"")||"/";let w=await R.prepare(e,t,{srcPage:f,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:E,deploymentId:b,params:C,nextConfig:T,parsedUrl:y,isDraftMode:S,prerenderManifest:A,routerServerContext:q,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:_,clientReferenceManifest:k,serverActionsManifest:I}=w,O=(0,o.normalizeAppPath)(f),j=!!(A.dynamicRoutes[O]||A.routes[_]),H=async()=>((null==q?void 0:q.render404)?await q.render404(e,t,y,!1):t.end("This page could not be found"),null);if(j&&!S){let e=!!A.routes[_],t=A.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(T.adapterPath)return await H();throw new m.NoFallbackError}}let M=null;!j||R.isDev||S||(M="/index"===(M=_)?"/":M);let D=!0===R.isDev||!j,$=j&&!D;I&&k&&(0,i.setManifestsSingleton)({page:f,clientReferenceManifest:k,serverActionsManifest:I});let U=e.method||"GET",L=(0,s.getTracer)(),F=L.getActiveScopeSpan(),K=!!(null==q?void 0:q.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,T,A,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let X={params:C,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:B,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>R.onRequestError(e,t,n,a,q)},sharedContext:{buildId:E,deploymentId:b}},V=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await R.handle(z,X);e.fetchMetrics=X.renderOpts.fetchMetrics;let s=X.renderOpts.pendingWaitUntil;s&&n.waitUntil&&(n.waitUntil(s),s=void 0);let i=X.renderOpts.collectedTags;if(!j)return await (0,c.sendResponse)(V,W,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==X.renderOpts.collectedRevalidate&&!(X.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&X.renderOpts.collectedRevalidate,n=void 0===X.renderOpts.collectedExpire||X.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?T.expireTime:void 0:X.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:f,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,q),t}},Z=async(a,i)=>{try{var o,l;let a=await R.handleResponse({req:e,nextConfig:T,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:J,waitUntil:n.waitUntil,isMinimalMode:G});if(!j)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&j||s.delete(g.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,x.getCacheControlHeader)(a.cacheControl)),await (0,c.sendResponse)(V,W,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:N})},!1,q),j)throw t;await (0,c.sendResponse)(V,W,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:s.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route")||O,o=`${U} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":o}),a.updateName(o),i&&i!==a&&(i.setAttribute("http.route",n),i.updateName(o))})()}};if(K&&F)await Z(F,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${f}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>Z(e,t)),void 0,!K)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:f,workUnitAsyncStorage:w})},"routeModule",0,R,"serverHooks",0,E,"workAsyncStorage",0,f,"workUnitAsyncStorage",0,w])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),n=r(e),a=r(t);for(let e=0;e<Math.max(n.length,a.length);e++){let t=(n[e]||0)-(a[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let n=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return n?`npx six-degrees@latest --data-dir ${n}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function n(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${n(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,n,"scannerJob",0,r],1348)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__1w25q0m._.js.map
@@ -0,0 +1,10 @@
1
+ module.exports=[89326,e=>{"use strict";var t=e.i(80998),n=e.i(88431),r=e.i(88602);let a={S:25,A:15,B:10,C:5,D:2},s={S:100,A:60,B:35,C:15,D:5},i=["S","A","B","C","D"];async function o(e,n){if(!e||!n)return;let{data:r}=await t.db.from("user_stats").select("xp").eq("id",e).single();r?await t.db.from("user_stats").update({xp:Math.max(0,(r.xp||0)+n)}).eq("id",e):n>0&&await t.db.from("user_stats").insert([{id:e,xp:n,level:1}]).catch(()=>{})}function l(e){if(e)return String(e);try{return(0,r.resolveProfile)({create:!1})?.id||null}catch{return null}}let u=e=>e.map(()=>"?").join(", "),d=e=>i.find(t=>e.some(e=>e.tier===t))||"D";async function c(e){try{let{action:t,connectionId:r,profileUrl:i,userId:c,bridgeId:p}=await e.json();if(!["mark-sent","mark-accepted","undo"].includes(t))return Response.json({error:"Unknown action"},{status:400});let h=(0,n.getDb)(),{user:R,rows:E}=function(e,{connectionId:t,profileUrl:n,userId:r}){let a=n?String(n):null,s=r?String(r):null,i=null;null!=t&&(i=e.prepare("SELECT id, profile_url, user_id FROM linkedin_connections WHERE id = ?").get(String(t))||null)&&(a=i.profile_url||a,s=s||i.user_id||null);let o="id, degree, tier, outreach_status, unlock_status, unlocked_from_bridge_id",l=[];return a?l=s?e.prepare(`SELECT ${o} FROM linkedin_connections WHERE profile_url = ? AND user_id = ?`).all(a,s):e.prepare(`SELECT ${o} FROM linkedin_connections WHERE profile_url = ?`).all(a):i&&(l=e.prepare(`SELECT ${o} FROM linkedin_connections WHERE id = ?`).all(i.id)),{url:a,user:s,rows:l}}(h,{connectionId:r,profileUrl:i,userId:c});if(!E.length)return Response.json({success:!0,saved:0,xp:0});let _=E.map(e=>e.id),g=new Date().toISOString();if("mark-sent"===t){let e=E.some(e=>"sent"===e.outreach_status||"accepted"===e.outreach_status);if(h.prepare(`UPDATE linkedin_connections SET outreach_status = 'sent', updated_at = ?
2
+ WHERE id IN (${u(_)}) AND (outreach_status IS NULL OR outreach_status NOT IN ('sent', 'accepted'))`).run(g,..._),h.prepare(`UPDATE linkedin_connections SET unlock_status = 'pending', updated_at = ?
3
+ WHERE id IN (${u(_)}) AND (unlock_status IS NULL OR unlock_status = 'locked')`).run(g,..._),null!=p){let e=h.prepare(`SELECT id, name FROM linkedin_connections WHERE id = ? AND degree = 1${R?" AND user_id = ?":""}`).get(String(p),...R?[R]:[]);e&&h.prepare(`UPDATE linkedin_connections SET unlocked_from_bridge_id = ?, unlocked_from_name = ?, updated_at = ?
4
+ WHERE id IN (${u(_)}) AND degree = 2 AND unlocked_from_bridge_id IS NULL`).run(e.id,e.name,g,..._)}let t=e?0:a[d(E)]||2;return await o(l(R),t),Response.json({success:!0,saved:_.length,xp:t,already:e})}if("mark-accepted"===t)return h.prepare(`UPDATE linkedin_connections SET outreach_status = 'accepted', updated_at = ? WHERE id IN (${u(_)})`).run(g,..._),Response.json({success:!0,saved:_.length,xp:0,accepts:s[d(E)]||5});let f=E.some(e=>"sent"===e.outreach_status);h.prepare(`UPDATE linkedin_connections SET outreach_status = NULL, updated_at = ?
5
+ WHERE id IN (${u(_)}) AND outreach_status = 'sent'`).run(g,..._),h.prepare(`UPDATE linkedin_connections SET unlock_status = 'locked', updated_at = ?
6
+ WHERE id IN (${u(_)}) AND unlock_status = 'pending'`).run(g,..._);let m=f?-(a[d(E)]||2):0;return await o(l(R),m),Response.json({success:!0,saved:_.length,xp:m})}catch(e){return console.error("Outreach error:",e),Response.json({error:e.message},{status:500})}}async function p(e){try{let{searchParams:t}=new URL(e.url),r=l(t.get("userId")),a=(0,n.getDb)().prepare(`SELECT * FROM linkedin_connections
7
+ WHERE (outreach_status = 'sent' OR unlock_status = 'pending')${r?" AND user_id = ?":""}
8
+ ORDER BY created_at DESC`).all(...r?[r]:[]),s=new Set,i=[];for(let e of a){let t=e.profile_url||`id:${e.id}`;s.has(t)||(s.add(t),i.push((0,n.decodeRow)("linkedin_connections",e)))}return Response.json({pending:i})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["GET",0,p,"POST",0,c])},81644,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),a=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),R=e.i(26937),E=e.i(10372),_=e.i(93695);e.i(52474);var g=e.i(220);let f=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/outreach/route",pathname:"/api/outreach",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/outreach/route.js",nextConfigOutput:"standalone",userland:()=>e.r(89326),...{}}),{workAsyncStorage:m,workUnitAsyncStorage:v,serverHooks:S}=f;async function A(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),f.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/outreach/route";m=m.replace(/\/index$/,"")||"/";let v=await f.prepare(e,t,{srcPage:m,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:T,nextConfig:w,parsedUrl:C,isDraftMode:N,prerenderManifest:k,routerServerContext:x,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,resolvedPathname:P,clientReferenceManifest:y,serverActionsManifest:b}=v,H=(0,o.normalizeAppPath)(m),I=!!(k.dynamicRoutes[H]||k.routes[P]),U=async()=>((null==x?void 0:x.render404)?await x.render404(e,t,C,!1):t.end("This page could not be found"),null);if(I&&!N){let e=!!k.routes[P],t=k.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(w.adapterPath)return await U();throw new _.NoFallbackError}}let M=null;!I||f.isDev||N||(M="/index"===(M=P)?"/":M);let L=!0===f.isDev||!I,q=I&&!L;b&&y&&(0,i.setManifestsSingleton)({page:m,clientReferenceManifest:y,serverActionsManifest:b});let $=e.method||"GET",j=(0,s.getTracer)(),F=j.getActiveScopeSpan(),W=!!(null==x?void 0:x.isWrappedByNextServer),B=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await f.getIncrementalCache(e,w,k,B);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let G={params:T,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts,useCacheTimeout:w.experimental.useCacheTimeout},cacheComponents:!!w.cacheComponents,validationLevel:w.experimental.instantInsights.validationLevel,supportsDynamicResponse:L,incrementalCache:K,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:w.cacheLife,staticPageGenerationTimeout:w.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>f.onRequestError(e,t,r,a,x)},sharedContext:{buildId:S,deploymentId:A}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),Y=async({previousCacheEntry:n})=>{try{if(!B&&D&&O&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await f.handle(z,G);e.fetchMetrics=G.renderOpts.fetchMetrics;let s=G.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let i=G.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(V,X,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[E.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,r=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=E.INFINITE_CACHE?!1!==n&&n>0?w.expireTime:void 0:G.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await f.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,x),t}},Z=async(a,i)=>{try{var o,l;let a=await f.handleResponse({req:e,nextConfig:w,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:O,responseGenerator:Y,waitUntil:r.waitUntil,isMinimalMode:B});if(!I)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(l=a.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",D?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);B&&I||s.delete(E.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,R.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(V,X,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof _.NoFallbackError||await f.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:D})},!1,x),I)throw t;await (0,p.sendResponse)(V,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:s.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||H,o=`${$} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),a.updateName(o),i&&i!==a&&(i.setAttribute("http.route",r),i.updateName(o))})()}};if(W&&F)await Z(F,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(d.BaseServerSpan.handleRequest,{spanName:`${$} ${m}`,kind:s.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>Z(e,t)),void 0,!W)}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:m,workUnitAsyncStorage:v})},"routeModule",0,f,"serverHooks",0,S,"workAsyncStorage",0,m,"workUnitAsyncStorage",0,v])}];
9
+
10
+ //# sourceMappingURL=_02twlca._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[78793,e=>{"use strict";var t=e.i(50227),r=e.i(60526),a=e.i(88431),n=e.i(51373),s=e.i(33471),i=e.i(14223);let o={sectorFocus:{changed:(e,t)=>!(0,i.sameFocus)(e,t),run(e,t,r){try{let{scored:e,people:t,up:a,down:n}=(0,s.rescoreAll)({compareWith:r??i.NO_FOCUS});return{scored:e,people:t,moved:a+n,up:a,down:n}}catch(e){throw Error(`Saved, but rescoring your network failed (${e.message}). It will try again the next time the map loads.`)}}}},l=(e,t)=>JSON.stringify(e)!==JSON.stringify(t);var u=e.i(10960),d=e.i(12506),c=e.i(48170);async function p(){try{let e;return Response.json({settings:(0,n.readSettings)((0,a.getDb)()),about:(e=t.default.resolve((0,u.dataDir)()),{version:c.APP_VERSION,kind:(0,u.isGitCheckout)()?"git":(0,d.installKind)(process.env,(0,u.projectRoot)()),dataDir:e,customDataDir:e!==t.default.join((0,r.homedir)(),".six-degrees")})})}catch(e){return Response.json({error:e.message},{status:500})}}async function h(e){let t,r,s;try{t=await e.json()}catch{return Response.json({error:"Send the settings as JSON."},{status:400})}try{r=(0,n.readSettings)((0,a.getDb)()),s=(0,n.writeSettings)((0,a.getDb)(),t?.settings)}catch(e){return Response.json({error:e.message},{status:e instanceof n.SettingsError?400:500})}try{let e=function(e,t,r,a=o){let n=null,s=[];for(let[i,{changed:o=l,run:u}]of Object.entries(a))if(o(t?.[i],r?.[i]))try{let a=u(e,r?.[i],t?.[i]);n={...n,[i]:a}}catch(e){s.push(e.message)}if(s.length)throw Object.assign(Error(s.join(" ")),{effects:n});return n}((0,a.getDb)(),r,s);return Response.json(e?{settings:s,effects:e}:{settings:s})}catch(e){return Response.json({settings:s,...e.effects?{effects:e.effects}:{},error:e.message},{status:500})}}e.s(["GET",0,p,"POST",0,h],78793)},85783,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),R=e.i(10372),f=e.i(93695);e.i(52474);var v=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/settings/route.js",nextConfigOutput:"standalone",userland:()=>e.r(78793),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:C}=m;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/settings/route";E=E.replace(/\/index$/,"")||"/";let w=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:S,nextConfig:x,parsedUrl:A,isDraftMode:b,prerenderManifest:T,routerServerContext:O,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:_,clientReferenceManifest:D,serverActionsManifest:j}=w,q=(0,o.normalizeAppPath)(E),H=!!(T.dynamicRoutes[q]||T.routes[_]),I=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,A,!1):t.end("This page could not be found"),null);if(H&&!b){let e=!!T.routes[_],t=T.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await I();throw new f.NoFallbackError}}let k=null;!H||m.isDev||b||(k="/index"===(k=_)?"/":k);let M=!0===m.isDev||!H,U=H&&!M;j&&D&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:D,serverActionsManifest:j});let F=e.method||"GET",K=(0,s.getTracer)(),$=K.getActiveScopeSpan(),G=!!(null==O?void 0:O.isWrappedByNextServer),L=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,x,T,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let V={params:S,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,supportsDynamicResponse:M,incrementalCache:B,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,O)},sharedContext:{buildId:C,deploymentId:y}},J=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t)),z=async({previousCacheEntry:r})=>{try{if(!L&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await m.handle(X,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!H)return await (0,p.sendResponse)(J,W,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[R.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?x.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,O),t}},Z=async(n,i)=>{try{var o,l;let n=await m.handleResponse({req:e,nextConfig:x,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:z,waitUntil:a.waitUntil,isMinimalMode:L});if(!H)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",N?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);L&&H||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(J,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,O),H)throw t;await (0,p.sendResponse)(J,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||q,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(G&&$)await Z($,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Z(e,t)),void 0,!G)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})},"routeModule",0,m,"serverHooks",0,C,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,w])}];
1
+ module.exports=[78793,e=>{"use strict";var t=e.i(50227),r=e.i(60526),a=e.i(88431),n=e.i(51373),s=e.i(33471),i=e.i(14223);let o={tierScale:{run(e){let t=()=>e.prepare("SELECT id, degree, profile_url, tier FROM linkedin_connections").all();try{let e=new Map(t().map(e=>[e.id,e.tier])),{scored:r}=(0,s.rescoreAll)(),{people:a,up:n,down:o}=(0,i.tierMoves)(t(),t=>e.get(t.id),e=>e.tier,{examples:0});return{scored:r,people:a,moved:n+o,up:n,down:o}}catch(e){throw Error(`Saved, but rescoring your network failed (${e.message}). It will try again the next time the map loads.`)}}},sectorFocus:{changed:(e,t)=>!(0,i.sameFocus)(e,t),run(e,t,r){try{let{scored:e,people:t,up:a,down:n}=(0,s.rescoreAll)({compareWith:r??i.NO_FOCUS});return{scored:e,people:t,moved:a+n,up:a,down:n}}catch(e){throw Error(`Saved, but rescoring your network failed (${e.message}). It will try again the next time the map loads.`)}}}},l=(e,t)=>JSON.stringify(e)!==JSON.stringify(t);var u=e.i(10960),d=e.i(12506),c=e.i(48170);async function p(){try{let e;return Response.json({settings:(0,n.readSettings)((0,a.getDb)()),about:(e=t.default.resolve((0,u.dataDir)()),{version:c.APP_VERSION,kind:(0,u.isGitCheckout)()?"git":(0,d.installKind)(process.env,(0,u.projectRoot)()),dataDir:e,customDataDir:e!==t.default.join((0,r.homedir)(),".six-degrees")})})}catch(e){return Response.json({error:e.message},{status:500})}}async function h(e){let t,r,s;try{t=await e.json()}catch{return Response.json({error:"Send the settings as JSON."},{status:400})}try{r=(0,n.readSettings)((0,a.getDb)()),s=(0,n.writeSettings)((0,a.getDb)(),t?.settings)}catch(e){return Response.json({error:e.message},{status:e instanceof n.SettingsError?400:500})}try{let e=function(e,t,r,a=o){let n=null,s=[];for(let[i,{changed:o=l,run:u}]of Object.entries(a))if(o(t?.[i],r?.[i]))try{let a=u(e,r?.[i],t?.[i]);n={...n,[i]:a}}catch(e){s.push(e.message)}if(s.length)throw Object.assign(Error(s.join(" ")),{effects:n});return n}((0,a.getDb)(),r,s);return Response.json(e?{settings:s,effects:e}:{settings:s})}catch(e){return Response.json({settings:s,...e.effects?{effects:e.effects}:{},error:e.message},{status:500})}}e.s(["GET",0,p,"POST",0,h],78793)},85783,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),g=e.i(26937),R=e.i(10372),f=e.i(93695);e.i(52474);var v=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/settings/route.js",nextConfigOutput:"standalone",userland:()=>e.r(78793),...{}}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:C}=m;async function y(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let E="/api/settings/route";E=E.replace(/\/index$/,"")||"/";let w=await m.prepare(e,t,{srcPage:E,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:C,deploymentId:y,params:S,nextConfig:x,parsedUrl:A,isDraftMode:b,prerenderManifest:T,routerServerContext:O,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:_,clientReferenceManifest:D,serverActionsManifest:j}=w,I=(0,o.normalizeAppPath)(E),q=!!(T.dynamicRoutes[I]||T.routes[_]),H=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!T.routes[_],t=T.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await H();throw new f.NoFallbackError}}let M=null;!q||m.isDev||b||(M="/index"===(M=_)?"/":M);let k=!0===m.isDev||!q,U=q&&!k;j&&D&&(0,i.setManifestsSingleton)({page:E,clientReferenceManifest:D,serverActionsManifest:j});let F=e.method||"GET",K=(0,s.getTracer)(),$=K.getActiveScopeSpan(),L=!!(null==O?void 0:O.isWrappedByNextServer),G=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,x,T,G);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let V={params:S,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,supportsDynamicResponse:k,incrementalCache:B,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,O)},sharedContext:{buildId:C,deploymentId:y}},J=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(J,(0,u.signalFromNodeResponse)(t)),z=async({previousCacheEntry:r})=>{try{if(!G&&N&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await m.handle(X,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let s=V.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let i=V.renderOpts.collectedTags;if(!q)return await (0,p.sendResponse)(J,W,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);i&&(t[R.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,a=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?x.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,O),t}},Z=async(n,i)=>{try{var o,l;let n=await m.handleResponse({req:e,nextConfig:x,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:z,waitUntil:a.waitUntil,isMinimalMode:G});if(!q)return;if((null==n||null==(o=n.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",N?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);G&&q||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,g.getCacheControlHeader)(n.cacheControl)),await (0,p.sendResponse)(J,W,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,O),q)throw t;await (0,p.sendResponse)(J,W,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=K.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||I,o=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":o}),n.updateName(o),i&&i!==n&&(i.setAttribute("http.route",a),i.updateName(o))})()}};if(L&&$)await Z($,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${E}`,kind:s.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>Z(e,t)),void 0,!L)}}e.s(["handler",0,y,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})},"routeModule",0,m,"serverHooks",0,C,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,w])}];
2
2
 
3
3
  //# sourceMappingURL=_072jl0y._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[65790,e=>{"use strict";var t=e.i(88431),r=e.i(68835),a=e.i(73253),n=e.i(33471),o=e.i(76407);let s=new Set(r.KNOWN_COMPANIES.map(([e])=>e)),i=o.LEGACY_SCORES.map(([e,t,r,a])=>({name:e,score:t,names:r,industry:a})),l=new Map(i.map(e=>[e.name,e])),u=/\b(school|college|university)\b/;function c(e=(0,t.getDb)()){return e.prepare("SELECT value FROM app_meta WHERE key = ?").get(o.LEGACY_OFFER_KEY)?.value??null}function p(e=(0,t.getDb)()){if("open"!==c(e))return null;let o=(0,n.scoringRows)(e);if(!o.length)return d(e);let h=(0,n.companyOverrides)(e),m=(0,r.readNetwork)(o,{industryOf:a.industryKeyOf}),f=new Map,R=new Map;for(let[e,{headcount:t,industry:a}]of m.companies){if(!t||h.has(e))continue;let n=function(e){if(!e)return null;if(s.has(e))return l.get(e)||null;let t=e.toLowerCase(),r=t.replace(/^the /,""),a=u.test(t);for(let e of i)if(!s.has(e.name)&&(!a||"education"===e.industry)&&(e.names.test(t)||e.names.test(r)||t===e.name.toLowerCase()))return e;return null}(e);if(!n)continue;let o=(0,r.companyScore)(e,{headcount:t,industry:a});if(o.score===n.score)continue;let c=f.get(n.name)||{name:n.name,was:n.score,names:[],people:new Set};c.names.push({name:e,now:o,headcount:t}),f.set(n.name,c),R.set(e,c)}if(!f.size)return d(e);for(let e of o)for(let t of m.people.get(e).roles)!t.former&&R.has(t.company)&&R.get(t.company).people.add(e.profile_url||e.id);let E=[...f.values()].map(e=>{let t=e.names.reduce((e,t)=>t.headcount>e.headcount||t.headcount===e.headcount&&t.name<e.name?t:e);return{name:e.name,was:e.was,now:t.now.score,estimated:"known"!==t.now.source,people:e.people.size,names:e.names.map(e=>e.name).sort()}});return E.sort((e,t)=>t.people-e.people||e.name.localeCompare(t.name)),{companies:E}}function d(e){return e.prepare("UPDATE app_meta SET value = 'none' WHERE key = ? AND value = 'open'").run(o.LEGACY_OFFER_KEY),null}async function h(){try{return Response.json({offer:p()})}catch(e){return Response.json({error:e.message},{status:500})}}async function m(e){let r;try{r=function(e){let t=e?.keep;if(!Array.isArray(t)||t.length>100||!t.every(e=>"string"==typeof e&&e.length<=200))throw Error("Send the companies to keep as a list of names (an empty list for No thanks).");return t}(await e.json())}catch(e){return Response.json({error:e instanceof SyntaxError?"Send the answer as JSON.":e.message},{status:400})}try{return Response.json({success:!0,...function(e=[],{db:r=(0,t.getDb)(),rescore:a=n.rescoreAll}={}){if("open"!==c(r))return{kept:[],scored:0};let s=new Set(e),i=(p(r)?.companies||[]).filter(e=>s.has(e.name)).map(e=>({name:e.name,score:e.was,names:e.names}));r.exec("BEGIN");try{(0,n.setCompanyScores)(r,i.flatMap(e=>e.names.map(t=>[t,e.score]))),r.prepare("UPDATE app_meta SET value = ? WHERE key = ?").run(i.length?"kept":"declined",o.LEGACY_OFFER_KEY),r.exec("COMMIT")}catch(e){throw r.exec("ROLLBACK"),e}if(!i.length)return{kept:i,scored:0};try{return{kept:i,scored:a().scored}}catch(e){try{r.prepare("DELETE FROM app_meta WHERE key = 'scoring_version'").run()}catch{}throw Object.assign(Error(`Kept, but rescoring your network failed (${e.message}). It will try again the next time the map loads.`),{kept:i})}}(r)})}catch(e){return Response.json({error:e.message,...e.kept?{kept:e.kept}:{}},{status:500})}}e.s(["GET",0,h,"POST",0,m],65790)},51814,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),p=e.i(47587),d=e.i(66012),h=e.i(70101),m=e.i(26937),f=e.i(10372),R=e.i(93695);e.i(52474);var E=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/company-scores/legacy/route",pathname:"/api/company-scores/legacy",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/company-scores/legacy/route.js",nextConfigOutput:"standalone",userland:()=>e.r(65790),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:y,serverHooks:w}=g;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/company-scores/legacy/route";v=v.replace(/\/index$/,"")||"/";let y=await g.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:C,params:A,nextConfig:S,parsedUrl:x,isDraftMode:T,prerenderManifest:O,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:M}=y,H=(0,i.normalizeAppPath)(v),I=!!(O.dynamicRoutes[H]||O.routes[P]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,x,!1):t.end("This page could not be found"),null);if(I&&!T){let e=!!O.routes[P],t=O.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new R.NoFallbackError}}let q=null;!I||g.isDev||T||(q="/index"===(q=P)?"/":q);let L=!0===g.isDev||!I,U=I&&!L;M&&k&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:M});let F=e.method||"GET",j=(0,o.getTracer)(),K=j.getActiveScopeSpan(),G=!!(null==_?void 0:_.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,S,O,B);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let W={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,supportsDynamicResponse:L,incrementalCache:$,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,_)},sharedContext:{buildId:w,deploymentId:C}},Y=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t)),X=async({previousCacheEntry:r})=>{try{if(!B&&N&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(V,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let s=W.renderOpts.collectedTags;if(!I)return await (0,d.sendResponse)(Y,z,n,o),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);s&&(t[f.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?S.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,_),t}},J=async(n,s)=>{try{var i,l;let n=await g.handleResponse({req:e,nextConfig:S,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,responseGenerator:X,waitUntil:a.waitUntil,isMinimalMode:B});if(!I)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",N?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&I||o.delete(f.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,m.getCacheControlHeader)(n.cacheControl)),await (0,d.sendResponse)(Y,z,new Response(n.value.body,{headers:o,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,_),I)throw t;await (0,d.sendResponse)(Y,z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:o.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=j.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||H,i=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),s&&s!==n&&(s.setAttribute("http.route",a),s.updateName(i))})()}};if(G&&K)await J(K,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:y})},"routeModule",0,g,"serverHooks",0,w,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,y])}];
1
+ module.exports=[65790,e=>{"use strict";var t=e.i(88431),r=e.i(68835),a=e.i(73253),n=e.i(33471),o=e.i(76407);let s=new Set(r.KNOWN_COMPANIES.map(([e])=>e)),i=o.LEGACY_SCORES.map(([e,t,r,a])=>({name:e,score:t,names:r,industry:a})),l=new Map(i.map(e=>[e.name,e])),u=/\b(school|college|university)\b/;function c(e=(0,t.getDb)()){return e.prepare("SELECT value FROM app_meta WHERE key = ?").get(o.LEGACY_OFFER_KEY)?.value??null}function p(e=(0,t.getDb)()){if("open"!==c(e))return null;let o=(0,n.scoringRows)(e);if(!o.length)return d(e);let h=(0,n.companyOverrides)(e),m=(0,r.readNetwork)(o,{industryOf:a.industryKeyOf}),f=new Map,R=new Map;for(let[e,{headcount:t,industry:a}]of m.companies){if(!t||h.has(e))continue;let n=function(e){if(!e)return null;if(s.has(e))return l.get(e)||null;let t=e.toLowerCase(),r=t.replace(/^the /,""),a=u.test(t);for(let e of i)if(!s.has(e.name)&&(!a||"education"===e.industry)&&(e.names.test(t)||e.names.test(r)||t===e.name.toLowerCase()))return e;return null}(e);if(!n)continue;let o=(0,r.companyScore)(e,{headcount:t,industry:a});if(o.score===n.score)continue;let c=f.get(n.name)||{name:n.name,was:n.score,names:[],people:new Set};c.names.push({name:e,now:o,headcount:t}),f.set(n.name,c),R.set(e,c)}if(!f.size)return d(e);for(let e of o)for(let t of m.people.get(e).roles)!t.former&&R.has(t.company)&&R.get(t.company).people.add(e.profile_url||e.id);let E=[...f.values()].map(e=>{let t=e.names.reduce((e,t)=>t.headcount>e.headcount||t.headcount===e.headcount&&t.name<e.name?t:e);return{name:e.name,was:e.was,now:t.now.score,estimated:!["known","data"].includes(t.now.source),people:e.people.size,names:e.names.map(e=>e.name).sort()}});return E.sort((e,t)=>t.people-e.people||e.name.localeCompare(t.name)),{companies:E}}function d(e){return e.prepare("UPDATE app_meta SET value = 'none' WHERE key = ? AND value = 'open'").run(o.LEGACY_OFFER_KEY),null}async function h(){try{return Response.json({offer:p()})}catch(e){return Response.json({error:e.message},{status:500})}}async function m(e){let r;try{r=function(e){let t=e?.keep;if(!Array.isArray(t)||t.length>100||!t.every(e=>"string"==typeof e&&e.length<=200))throw Error("Send the companies to keep as a list of names (an empty list for No thanks).");return t}(await e.json())}catch(e){return Response.json({error:e instanceof SyntaxError?"Send the answer as JSON.":e.message},{status:400})}try{return Response.json({success:!0,...function(e=[],{db:r=(0,t.getDb)(),rescore:a=n.rescoreAll}={}){if("open"!==c(r))return{kept:[],scored:0};let s=new Set(e),i=(p(r)?.companies||[]).filter(e=>s.has(e.name)).map(e=>({name:e.name,score:e.was,names:e.names}));r.exec("BEGIN");try{(0,n.setCompanyScores)(r,i.flatMap(e=>e.names.map(t=>[t,e.score]))),r.prepare("UPDATE app_meta SET value = ? WHERE key = ?").run(i.length?"kept":"declined",o.LEGACY_OFFER_KEY),r.exec("COMMIT")}catch(e){throw r.exec("ROLLBACK"),e}if(!i.length)return{kept:i,scored:0};try{return{kept:i,scored:a().scored}}catch(e){try{r.prepare("DELETE FROM app_meta WHERE key = 'scoring_version'").run()}catch{}throw Object.assign(Error(`Kept, but rescoring your network failed (${e.message}). It will try again the next time the map loads.`),{kept:i})}}(r)})}catch(e){return Response.json({error:e.message,...e.kept?{kept:e.kept}:{}},{status:500})}}e.s(["GET",0,h,"POST",0,m],65790)},51814,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),p=e.i(47587),d=e.i(66012),h=e.i(70101),m=e.i(26937),f=e.i(10372),R=e.i(93695);e.i(52474);var E=e.i(220);let g=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/company-scores/legacy/route",pathname:"/api/company-scores/legacy",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/company-scores/legacy/route.js",nextConfigOutput:"standalone",userland:()=>e.r(65790),...{}}),{workAsyncStorage:v,workUnitAsyncStorage:y,serverHooks:w}=g;async function C(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),g.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/company-scores/legacy/route";v=v.replace(/\/index$/,"")||"/";let y=await g.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:C,params:A,nextConfig:S,parsedUrl:x,isDraftMode:T,prerenderManifest:O,routerServerContext:_,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:M}=y,H=(0,i.normalizeAppPath)(v),I=!!(O.dynamicRoutes[H]||O.routes[P]),D=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,x,!1):t.end("This page could not be found"),null);if(I&&!T){let e=!!O.routes[P],t=O.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await D();throw new R.NoFallbackError}}let q=null;!I||g.isDev||T||(q="/index"===(q=P)?"/":q);let L=!0===g.isDev||!I,U=I&&!L;M&&k&&(0,s.setManifestsSingleton)({page:v,clientReferenceManifest:k,serverActionsManifest:M});let F=e.method||"GET",j=(0,o.getTracer)(),K=j.getActiveScopeSpan(),G=!!(null==_?void 0:_.isWrappedByNextServer),B=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await g.getIncrementalCache(e,S,O,B);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let W={params:A,previewProps:O.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,supportsDynamicResponse:L,incrementalCache:$,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>g.onRequestError(e,t,a,n,_)},sharedContext:{buildId:w,deploymentId:C}},Y=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),V=u.NextRequestAdapter.fromNodeNextRequest(Y,(0,u.signalFromNodeResponse)(t)),X=async({previousCacheEntry:r})=>{try{if(!B&&N&&b&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await g.handle(V,W);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let s=W.renderOpts.collectedTags;if(!I)return await (0,d.sendResponse)(Y,z,n,o),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);s&&(t[f.NEXT_CACHE_TAGS_HEADER]=s),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=f.INFINITE_CACHE?!1!==r&&r>0?S.expireTime:void 0:W.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await g.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,_),t}},J=async(n,s)=>{try{var i,l;let n=await g.handleResponse({req:e,nextConfig:S,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:O,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:b,responseGenerator:X,waitUntil:a.waitUntil,isMinimalMode:B});if(!I)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",N?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);B&&I||o.delete(f.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,m.getCacheControlHeader)(n.cacheControl)),await (0,d.sendResponse)(Y,z,new Response(n.value.body,{headers:o,status:n.value.status||200}));return}catch(t){if(t instanceof R.NoFallbackError||await g.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:N})},!1,_),I)throw t;await (0,d.sendResponse)(Y,z,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:o.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=j.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||H,i=`${F} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),s&&s!==n&&(s.setAttribute("http.route",a),s.updateName(i))})()}};if(G&&K)await J(K,void 0);else{let t=j.getActiveScopeSpan();await j.withPropagatedContext(e.headers,()=>j.trace(c.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!G)}}e.s(["handler",0,C,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:v,workUnitAsyncStorage:y})},"routeModule",0,g,"serverHooks",0,w,"workAsyncStorage",0,v,"workUnitAsyncStorage",0,y])}];
2
2
 
3
3
  //# sourceMappingURL=_0lw8_i0._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[81638,e=>{"use strict";let t;var n=e.i(74533),r=e.i(2157),i=e.i(50227),a=e.i(10960),o=e.i(88602);let s=/LinkedIn reports (\d+) connections/,l=/^Downloading Python [\d.]+: ([\d.]+) of ([\d.]+) MB$/,u=/(\d+)\s*\/\s*(\d+)\s+collected/,d=/Collected all (\d+) connections/,c=/\[(\d+)\/(\d+)\]/,p=/^(Collected \d+ connections|Pushing \d+ connections|\s*Sent \d+ →|\s*Updating \d+ profile images|\s*\[image_store\]|\s*Images \d+-\d+)/;function h(e,t){return t?{done:Math.min(e,t),total:t,kind:"walk"}:null}var f=e.i(41238),g=e.i(88431),m=e.i(1348),y=e.i(19041),w=e.i(66680),b=e.i(12714),v=e.i(98199),S=e.i(44033);let R=Object.freeze({release:"20260814",version:"3.12.14",builds:Object.freeze({"darwin-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-apple-darwin-install_only.tar.gz",sha256:"4572133a5542f306b9bdb155da5800f9e38950cd0a98d469b832ce256fe299ea",size:0x17fc7f8}),"darwin-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-apple-darwin-install_only.tar.gz",sha256:"1a94c83264731e9603fbea78e57e7ca8f20e7d91eb866627ac2304621b0f6f1f",size:0x17b03bb}),"linux-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"5acfa3e9ba26b51ae161c83aff278da915b590d22373a424b2ba55b8afe91fcc",size:0x208fdfb}),"linux-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"2d8e17dfd732102cfeb18e0e1fa6769b24caa034e159981129590fe409c7157a",size:0x1bdd3eb})})}),E=Object.freeze({min:[3,10],max:[3,14]}),T=Object.freeze(["/usr/bin/python3","python3","python","python3.14","python3.13","python3.12","python3.11","python3.10"]);function x(e,t=E){let n=String(e||"").match(/^(\d+)\.(\d+)/);if(!n)return!1;let r=[Number(n[1]),Number(n[2])],i=(e,t)=>e[0]-t[0]||e[1]-t[1];return i(r,t.min)>=0&&0>=i(r,t.max)}let _="import requests; from PIL import Image; from playwright.sync_api import sync_playwright",C=`import sys
1
+ module.exports=[81638,e=>{"use strict";let t;var n=e.i(74533),r=e.i(2157),i=e.i(50227),o=e.i(10960),a=e.i(88602);let s=/LinkedIn reports (\d+) connections/,l=/^Downloading Python [\d.]+: ([\d.]+) of ([\d.]+) MB$/,u=/(\d+)\s*\/\s*(\d+)\s+collected/,d=/Collected all (\d+) connections/,c=/\[(\d+)\/(\d+)\]/,p=/^(Collected \d+ connections|Pushing \d+ connections|\s*Sent \d+ →|\s*Updating \d+ profile images|\s*\[image_store\]|\s*Images \d+-\d+)/;function h(e,t){return t?{done:Math.min(e,t),total:t,kind:"walk"}:null}var f=e.i(41238);function g(e,t){try{let n=JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-progress.json"),"utf8")),o=n?.[String(t||"default")];return o&&"object"==typeof o?o:{}}catch{return{}}}function m(e){try{return JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-unclear.json"),"utf8"))||{}}catch{return{}}}function y(e,t,n={},r={}){let i=[];for(let o of e){let e=o.profile_url,a=e?n[e]:void 0;if(!t.has(o.id)&&!a)continue;let s=function(e){if(!e)return 11;if(e.hidden||!e.more)return null;let t=(Number(e.pages)||0)+1;return t<=100?t:null}(a);null!=s&&i.push({id:o.id,name:o.name,tier:o.tier,profileUrl:e,pagesRead:s-1,nextPage:s,legacy:!a,at:a?.at||null,unclear:Number(r?.[e]?.n)||0,connected:o.connected_date||null,created:o.created_at||null})}let o=e=>`${+!!e.connected}|${e.connected||e.created||""}`;return i.sort((e,t)=>(e.unclear>=2)-(t.unclear>=2)||o(t).localeCompare(o(e))),i}var b=e.i(88431),w=e.i(1348),v=e.i(19041),_=e.i(98612);function S(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}var R=e.i(66680),E=e.i(12714),T=e.i(98199),x=e.i(26525);let k=Object.freeze({release:"20260814",version:"3.12.14",builds:Object.freeze({"darwin-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-apple-darwin-install_only.tar.gz",sha256:"4572133a5542f306b9bdb155da5800f9e38950cd0a98d469b832ce256fe299ea",size:0x17fc7f8}),"darwin-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-apple-darwin-install_only.tar.gz",sha256:"1a94c83264731e9603fbea78e57e7ca8f20e7d91eb866627ac2304621b0f6f1f",size:0x17b03bb}),"linux-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"5acfa3e9ba26b51ae161c83aff278da915b590d22373a424b2ba55b8afe91fcc",size:0x208fdfb}),"linux-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"2d8e17dfd732102cfeb18e0e1fa6769b24caa034e159981129590fe409c7157a",size:0x1bdd3eb})})}),P=Object.freeze({min:[3,10],max:[3,14]}),C=Object.freeze(["/usr/bin/python3","python3","python","python3.14","python3.13","python3.12","python3.11","python3.10"]);function N(e,t=P){let n=String(e||"").match(/^(\d+)\.(\d+)/);if(!n)return!1;let r=[Number(n[1]),Number(n[2])],i=(e,t)=>e[0]-t[0]||e[1]-t[1];return i(r,t.min)>=0&&0>=i(r,t.max)}let D="import requests; from PIL import Image; from playwright.sync_api import sync_playwright",A=`import sys
2
2
  print("version %d.%d.%d" % sys.version_info[:3])
3
3
  try:
4
4
  import venv, ensurepip
@@ -6,18 +6,20 @@ try:
6
6
  except Exception:
7
7
  pass
8
8
  try:
9
- ${_}
9
+ ${D}
10
10
  print("imports")
11
11
  except Exception as e:
12
- print("missing %s: %s" % (type(e).__name__, (str(e).splitlines() or [""])[0][:200]))`;function P(e){let t={version:null,venv:!1,imports:!1,missing:null};for(let n of String(e||"").split("\n").map(e=>e.trim()))n.startsWith("version ")?t.version=n.slice(8).trim()||null:"venv"===n?t.venv=!0:"imports"===n?t.imports=!0:n.startsWith("missing ")&&(t.missing=n.slice(8).trim()||null);return t}let k=Object.freeze(["-E","-s","-B","-u"]);function N(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PYTHON")||(t[n]=r);return t.PYTHONNOUSERSITE="1",t.PYTHONDONTWRITEBYTECODE="1",t}function O(e=process.env){return{...e,PYTHONDONTWRITEBYTECODE:"1"}}let j=new Set(["target","prefix","root","user"]);function A(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PIP_")&&j.has(n.slice(4).toLowerCase().replace(/_/g,"-"))||(t[n]=r);return t}function D(e){return i.default.join(e,"venv")}function I(e,t=process.platform){return"win32"===t?i.default.join(D(e),"Scripts","python.exe"):i.default.join(D(e),"bin","python")}let $="python";function M(e){return i.default.join(e,$,"bin","python3")}function H(e,t,{timeoutMs:r=8e3,env:i}={}){return new Promise(a=>{let o,s="",l="",u=!1,d=e=>{u||(u=!0,a(e))};try{o=(0,n.spawn)(e,t,{stdio:["ignore","pipe","pipe"],...i?{env:i}:{}})}catch(e){d({ok:!1,stdout:s,stderr:l,problem:e.message});return}let c=(e,t)=>e.length<16384?e+t.toString():e;o.stdout.on("data",e=>{s=c(s,e)}),o.stderr.on("data",e=>{l=c(l,e)});let p=setTimeout(()=>{try{o.kill("SIGKILL")}catch{}d({ok:!1,stdout:s,stderr:l,problem:`it didn't answer within ${Math.round(r/1e3)} seconds`})},r);o.on("error",e=>{clearTimeout(p),d({ok:!1,stdout:s,stderr:l,problem:"ENOENT"===e.code?"it isn't there":e.message})}),o.on("close",(e,t)=>{clearTimeout(p);let n=l.trim().split("\n").pop()||"";d({ok:0===e,stdout:s,stderr:l,problem:0===e?null:t?`it was stopped (${t})`:n||`it exited with ${e}`})})})}async function U({bundled:e="",app:t="",dataDir:n,probe:a=H,exists:o=r.default.existsSync,host:s=null,systemCandidates:l=T,timeouts:u={own:2e4,other:8e3},env:d=process.env}={}){let c={run:null,own:null,base:null,systemFound:null,download:null};if(e){let n=t&&i.default.resolve(e).startsWith(`${i.default.resolve(t)}${i.default.sep}`)?"bundled":"custom",r=await a(e,[...k,"-c",C],{timeoutMs:u.own,env:N(d)}),o=P(r.stdout);if(r.ok&&o.imports)return c.run={path:e,source:n,version:o.version},c;c.own={source:n,problem:o.missing||r.problem||"it didn't start"}}let p=I(n);if(o(p)){let e=await a(p,["-c",C],{timeoutMs:u.other,env:d}),t=P(e.stdout);if(e.ok&&t.imports)return c.run={path:p,source:"venv",version:t.version},c}let h=[];for(let e of l){let t=await a(e,["-c",C],{timeoutMs:u.other,env:d}),n=P(t.stdout);if(n.version){if(t.ok&&n.imports)return c.run={path:e,source:"system",version:n.version},c;h.push({path:e,version:n.version,venv:n.venv})}}let f=h.find(e=>e.venv&&x(e.version));if(f)return c.base={path:f.path,source:"system",version:f.version},c;let g=h.find(e=>x(e.version))||h[0];c.systemFound=g?{version:g.version,venv:g.venv}:null;let m=M(n);if(o(m)){let e=await a(m,[...k,"-c",C],{timeoutMs:u.other,env:N(d)}),t=P(e.stdout);if(e.ok&&t.venv)return c.base={path:m,source:"downloaded",version:t.version},c}return c.download=function(e,t=R){let n=e&&Object.hasOwn(t.builds,e)?t.builds[e]:null;return n?{key:e,version:t.version,release:t.release,...n,url:function(e,t=R){return`https://github.com/astral-sh/python-build-standalone/releases/download/${t.release}/${encodeURIComponent(e.file)}`}(n,t)}:null}(s),c}class F extends Error{}let L=(...e)=>(globalThis.fetch?._nextOriginalFetch||globalThis.fetch)(...e),z=e=>(e/1048576).toFixed(1);async function W(e,t,{sha256:n,size:r,signal:i,onProgress:a,idleMs:o=3e4,fetchImpl:s=L,from:l="GitHub"}={}){if(!/^[0-9a-f]{64}$/.test(String(n))||!(Number.isInteger(r)&&r>0))throw new F("There is no pinned checksum for this download, so it wasn't started.");let u=`${t}.part`,d=new AbortController,c=i?AbortSignal.any([i,d.signal]):d.signal,p=null,h=()=>{clearTimeout(p),p=setTimeout(()=>d.abort(new F(`The download stopped for ${Math.round(o/1e3)} seconds. Check your connection and try again.`)),o)};h();let f=await b.default.open(u,"w"),g=(0,w.createHash)("sha256"),m=0,y=!1;try{let t=await s(e,{signal:c,redirect:"follow",cache:"no-store",headers:{Accept:"application/octet-stream","User-Agent":"six-degrees-scanner-setup"}});if(!t.ok||!t.body)throw new F(`${l} answered ${t.status} to the download. Try again later.`);let i=Number(t.headers.get("content-length"))||null;if(i&&i!==r)throw new F(`The download isn't the size it should be (${i} bytes, not ${r}), so it was stopped.`);for await(let e of t.body){if(h(),(m+=e.byteLength)>r)throw new F("The download is bigger than it should be, so it was stopped.");g.update(e);let t=0;for(;t<e.byteLength;){let{bytesWritten:n}=await f.write(e,t,e.byteLength-t);t+=n}a?.(m,r)}if(m!==r)throw new F("The download ended early. Try again.");let o=g.digest("hex");if(o!==n)throw new F("The download doesn't match the checksum Six Degrees has for it, so it was deleted and nothing was unpacked.");return y=!0,o}catch(e){if(c.aborted&&c.reason instanceof Error)throw c.reason;throw e}finally{clearTimeout(p),await f.close(),y?await b.default.rename(u,t):await b.default.rm(u,{force:!0})}}async function q(e,t,n){let a=i.default.join(e,"python");if(!await b.default.lstat(i.default.join(a,"bin","python3")).catch(()=>null))throw new F("The download didn't contain the Python it should have.");let o=i.default.join(t,$);return r.default.existsSync(o)&&await b.default.rename(o,i.default.join(n,"python-before")),await b.default.rename(a,o),M(t)}let G=(0,m.registerScanState)({running:!1,action:null,log:[],startedAt:null,exitCode:null,child:null,abort:null,stopping:!1,stderrTail:[],failure:null});function B(e){for(let t of String(e).split("\n")){let e=t.replace(/\s+$/,"");e&&G.log.push(e)}G.log.length>500&&G.log.splice(0,G.log.length-500)}let K={at:0,value:null},X=null,Y=0;function V(){Y++,K={at:0,value:null},X=null}let J=Symbol.for("six-degrees.python-looker"),Z=globalThis[J]??=function({choose:e=U,now:t=Date.now,retryMs:n=6e4}={}){let r=null,i=null;return async function(a,o={}){if(a&&r?.path===a)return{run:r,own:null,base:null,systemFound:null,download:null};let s=!!a&&i?.path===a&&(!1===i.own.retry||t()-i.at<n),l=await e({...o,bundled:s?"":a});if(s)return{...l,own:i.own};if(a&&l.run?.path===a)r=l.run;else if(a&&l.own){let e="bundled"===l.own.source?{...l.own,retry:!1}:l.own;return i={path:a,at:t(),own:e},{...l,own:e}}return l}}();async function Q(){let e=(0,a.projectRoot)(),n=await Z(process.env.SIX_DEGREES_PYTHON||"",{app:process.env.SIX_DEGREES_APP||"",dataDir:(0,a.dataDir)(),host:(void 0===t&&(t=function({platform:e=process.platform,arch:t=process.arch,sysctlArm64:n=""}={}){return"darwin"===e?`darwin-${(0,v.chipOf)({sysctlArm64:n,processArch:t})}`:"linux"===e&&("x64"===t||"arm64"===t)?`linux-${t}`:null}({sysctlArm64:""})),t)});return{root:e,python:n,chrome:(0,r.existsSync)("/opt/google/chrome/chrome"),signedIn:(0,r.existsSync)(i.default.join((0,a.dataDir)(),"chrome-profile","Default","Cookies"))}}function ee(){if(Date.now()-K.at<4e3&&K.value)return Promise.resolve(K.value);if(X)return X;let e=Y,t=Q().then(t=>(e===Y&&(K={at:Date.now(),value:t}),t)).finally(()=>{X===t&&(X=null)});return X=t,t}async function et(){let e=await ee(),t={first:0,second:0,third:0},n=null;try{(n=(0,o.resolveProfile)({create:!1}))&&(t=(0,o.networkCounts)(n.id))}catch{}let m=e.python;return{ready:!!(e.root&&m.run&&e.chrome),checks:{scriptsFound:!!e.root,python:!!(m.run||m.base),pythonPath:m.run?.path||m.base?.path||null,pythonVersion:m.run?.version||m.base?.version||null,pythonSource:m.run?.source||null,dependencies:!!m.run,ownPython:m.own,installFrom:m.base?{source:m.base.source,version:m.base.version}:null,systemPython:m.systemFound,download:m.download?{version:m.download.version,size:m.download.size,from:"github.com"}:null,chrome:e.chrome,signedIn:e.signedIn},network:t,running:G.running,action:G.action,startedAt:G.startedAt,exitCode:G.exitCode,failure:G.running?null:G.failure,progress:G.running?function(e,t){if(!Array.isArray(e)||0===e.length)return null;if("setup"===t){let t=String(e[e.length-1]).match(l);return t&&Number(t[2])?{done:Math.min(Number(t[1]),Number(t[2])),total:Number(t[2]),kind:"download"}:null}if("full"===t||"refresh"===t){for(let t=e.length-1;t>=0;t--){let n=String(e[t]);if(p.test(n))return{kind:"saving"};let r=n.match(d);if(r)return h(Number(r[1]),Number(r[1]));let i=n.match(u);if(i)return h(Number(i[1]),Number(i[2]));let a=n.match(s);if(a)return h(0,Number(a[1]))}return null}if(t&&(t.startsWith("auto-bridge")||"resume-all"===t))for(let t=e.length-1;t>=0;t--){let n=String(e[t]).match(c);if(n){let e=Number(n[1]),t=Number(n[2]);if(!t)return null;return{done:Math.min(e-1,t),total:t,current:e,kind:"batch"}}}return null}(G.log,G.action):null,log:G.log.slice(-120),skips:function(){try{let e=(0,r.readFileSync)(i.default.join((0,a.dataDir)(),"bridge-skips.json"),"utf8"),t=JSON.parse(e);return Object.entries(t).map(([e,t])=>({profileUrl:e,name:t?.name??"",reason:t?.reason??"",at:t?.at??null}))}catch{return[]}}(),linkedin:(0,f.linkedinState)((0,a.dataDir)()),paused:function(e){if(!e)return[];try{let t=(0,g.getDb)(),n=t.prepare(`SELECT id, name, tier, profile_url, connected_date, created_at
13
- FROM linkedin_connections WHERE user_id = ? AND degree = 1`).all(e),o=new Set(t.prepare(`SELECT DISTINCT source_connection_id AS id FROM linkedin_connections
14
- WHERE user_id = ? AND degree = 2 AND source_connection_id IS NOT NULL`).all(e).map(e=>e.id));return function(e,t,n={},r={}){let i=[];for(let a of e){let e=a.profile_url,o=e?n[e]:void 0;if(!t.has(a.id)&&!o)continue;let s=function(e){if(!e)return 11;if(e.hidden||!e.more)return null;let t=(Number(e.pages)||0)+1;return t<=100?t:null}(o);null!=s&&i.push({id:a.id,name:a.name,tier:a.tier,profileUrl:e,pagesRead:s-1,nextPage:s,legacy:!o,at:o?.at||null,unclear:Number(r?.[e]?.n)||0,connected:a.connected_date||null,created:a.created_at||null})}let a=e=>`${+!!e.connected}|${e.connected||e.created||""}`;return i.sort((e,t)=>(e.unclear>=2)-(t.unclear>=2)||a(t).localeCompare(a(e))),i}(n,o,function(e,t){try{let n=JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-progress.json"),"utf8")),a=n?.[String(t||"default")];return a&&"object"==typeof a?a:{}}catch{return{}}}((0,a.dataDir)(),e),function(e){try{return JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-unclear.json"),"utf8"))||{}}catch{return{}}}((0,a.dataDir)()))}catch{return[]}}(n?.id)}}async function en(){return Response.json(await et())}let er={install:{label:"Installing the scanner’s Python packages"},setup:{label:"Setting up the scanner"},login:{flag:"--login",label:"Opening LinkedIn so you can sign in"},full:{flag:"--full",label:"Scanning your whole network"},refresh:{flag:"--refresh",label:"Checking for new connections"},"auto-bridge":{flag:"--auto-bridge",label:"Mapping every bridge in turn"},"auto-bridge-retry":{flag:"--auto-bridge --retry-private",label:"Mapping every bridge, hidden ones included"},bridge:{flag:"--bridge",needsName:!0,label:"Mapping the circle behind"},resume:{flag:"--bridge-url",needsId:!0,label:"Carrying on with",searches:!0},"resume-all":{flag:"--auto-bridge --only-unfinished",label:"Carrying on with every paused list",searches:!0},rescrape:{flag:"--rescrape",needsName:!0,label:"Re-mapping the circle behind"},company:{flag:"--company",needsName:!0,label:"Scanning"}};async function ei(e){let t,s={};try{s=await e.json()}catch{}let l=String(s.action||"");if("cancel"===l)return!function(){if(G.abort){G.stopping=!0,B("Stopping…"),G.abort.abort(new F("Stopped."));return}let e=G.child;if(!e)return;G.stopping=!0,B("Stopping…");let t=e.pid;try{process.kill(-t,"SIGTERM")}catch{try{e.kill("SIGTERM")}catch{}}setTimeout(()=>{if(G.child&&G.child.pid===t){B("Still running — forcing it.");try{process.kill(-t,"SIGKILL")}catch{try{e.kill("SIGKILL")}catch{}}}},2e4)}(),Response.json({ok:!0,cancelled:!0});if("set-limits"===l){let e=(0,f.writeLimits)((0,a.dataDir)(),{daily:s.daily,monthly:s.monthly});return Response.json({ok:!0,limits:e})}if("lift-cooldown"===l)return(0,f.liftCooldown)((0,a.dataDir)()),Response.json({ok:!0});if(!Object.hasOwn(er,l))return Response.json({error:`Unknown action '${l}'`},{status:400});let u=er[l],d=Number.isInteger(s.maxBridges)&&s.maxBridges>0?Math.min(s.maxBridges,500):0,c=Array.isArray(s.tiers)?s.tiers.map(e=>String(e).toUpperCase()).filter(e=>"SABCD".includes(e)&&1===e.length):[],p="score"===s.order?"score":"newest",h=[10,25,50,100].includes(s.maxPages)?s.maxPages:100,m=l.startsWith("auto-bridge")||["bridge","rescrape","resume","resume-all"].includes(l),w=!0===s.deeper&&(l.startsWith("auto-bridge")||"bridge"===l),b=null;if(u.needsName){let e;if(!(b=!(e=String(s.name??"").trim())||e.length>120||/[\u0000-\u001f]/.test(e)?null:e))return Response.json({error:"A name is required for this action."},{status:400})}let v=null;if(u.needsId){try{var R;let e,t=(0,o.resolveProfile)({create:!1}),n=t&&(0,g.getDb)().prepare("SELECT profile_url FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1").get(String(s.id??""),t.id);v=n?.profile_url&&(R=n.profile_url,(e=String(R??"").trim()).length>400||/[\u0000-\u001f\s]/.test(e)?null:/^https?:\/\/([a-z]{2,3}\.|www\.)?linkedin\.com\/in\/[^/?#]+\/?$/i.test(e)?e:null)}catch{v=null}if(!v)return Response.json({error:"That connection could not be found."},{status:400})}let E=u.searches||l.startsWith("auto-bridge")||["bridge","rescrape","company","full","refresh"].includes(l);if(!["install","setup","login"].includes(l)&&(0,y.pendingImport)((0,a.dataDir)()))return Response.json({error:"An import is waiting to finish. Restart Six Degrees first (Settings → Your data), then scan."},{status:409});let T=(0,f.linkedinState)((0,a.dataDir)()).cooldown;if(E&&T)return Response.json({error:`Scanning is paused until ${new Date(T.until).toLocaleString()} — ${T.reason}.`,cooldown:T},{status:409});if(G.running)return Response.json({error:"Something is already running.",action:G.action},{status:409});let x=(0,a.projectRoot)();if(!x)return Response.json({error:"Could not find scripts/scrape.py next to the app."},{status:500});V();let C=(await ee()).python;if(G.running)return Response.json({error:"Something is already running.",action:G.action},{status:409});let P=null;if("install"===l||"setup"===l){let e=function(e,t,{root:n,data:a,say:o}){if(t.run)return{status:409,error:"bundled"===t.run.source?"The scanner is already set up: its Python comes with the app.":"The scanner is already set up."};let s=t.base;if("install"===e&&!s)return t.download?{status:409,error:"This computer has no Python the scanner can use. Use Set up the scanner instead."}:{status:500,error:"No Python 3.10 to 3.14 is installed, or none is on this app’s PATH."};if("setup"===e&&s?.source==="system")return{status:409,error:`This computer already has Python ${s.version}, so nothing needs downloading. Use Install instead.`};if("setup"===e&&!s&&!t.download)return{status:409,error:"There is no Python download for this computer. Install Python 3.10 to 3.14, then reload."};let l=i.default.join(n,"scripts","requirements.txt"),u=e=>(function({base:e,dataDir:t,requirements:n}){let r="downloaded"===e.source,i=I(t);return[{cmd:e.path,args:[...r?k:[],"-m","venv","--clear",D(t)],...r?{env:N}:{},note:"Creating the scanner’s own Python environment"},{cmd:i,args:["-m","pip","install","--disable-pip-version-check","--no-input","-r",n],env:A,note:"Installing Playwright, requests and Pillow"},{cmd:i,args:["-c",function(e=_){return`import sys
12
+ print("missing %s: %s" % (type(e).__name__, (str(e).splitlines() or [""])[0][:200]))`;function O(e){let t={version:null,venv:!1,imports:!1,missing:null};for(let n of String(e||"").split("\n").map(e=>e.trim()))n.startsWith("version ")?t.version=n.slice(8).trim()||null:"venv"===n?t.venv=!0:"imports"===n?t.imports=!0:n.startsWith("missing ")&&(t.missing=n.slice(8).trim()||null);return t}let j=Object.freeze(["-E","-s","-B","-u"]);function I(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PYTHON")||(t[n]=r);return t.PYTHONNOUSERSITE="1",t.PYTHONDONTWRITEBYTECODE="1",t}function $(e=process.env){return{...e,PYTHONDONTWRITEBYTECODE:"1"}}let M=new Set(["target","prefix","root","user"]);function H(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PIP_")&&M.has(n.slice(4).toLowerCase().replace(/_/g,"-"))||(t[n]=r);return t}function L(e){return i.default.join(e,"venv")}function U(e,t=process.platform){return"win32"===t?i.default.join(L(e),"Scripts","python.exe"):i.default.join(L(e),"bin","python")}let F="python";function W(e){return i.default.join(e,F,"bin","python3")}function z(e,t,{timeoutMs:r=8e3,env:i}={}){return new Promise(o=>{let a,s="",l="",u=!1,d=e=>{u||(u=!0,o(e))};try{a=(0,n.spawn)(e,t,{stdio:["ignore","pipe","pipe"],...i?{env:i}:{}})}catch(e){d({ok:!1,stdout:s,stderr:l,problem:e.message});return}let c=(e,t)=>e.length<16384?e+t.toString():e;a.stdout.on("data",e=>{s=c(s,e)}),a.stderr.on("data",e=>{l=c(l,e)});let p=setTimeout(()=>{try{a.kill("SIGKILL")}catch{}d({ok:!1,stdout:s,stderr:l,problem:`it didn't answer within ${Math.round(r/1e3)} seconds`})},r);a.on("error",e=>{clearTimeout(p),d({ok:!1,stdout:s,stderr:l,problem:"ENOENT"===e.code?"it isn't there":e.message})}),a.on("close",(e,t)=>{clearTimeout(p);let n=l.trim().split("\n").pop()||"";d({ok:0===e,stdout:s,stderr:l,problem:0===e?null:t?`it was stopped (${t})`:n||`it exited with ${e}`})})})}async function q({bundled:e="",app:t="",dataDir:n,probe:o=z,exists:a=r.default.existsSync,host:s=null,systemCandidates:l=C,timeouts:u={own:2e4,other:8e3},env:d=process.env}={}){let c={run:null,own:null,base:null,systemFound:null,download:null};if(e){let n=t&&i.default.resolve(e).startsWith(`${i.default.resolve(t)}${i.default.sep}`)?"bundled":"custom",r=await o(e,[...j,"-c",A],{timeoutMs:u.own,env:I(d)}),a=O(r.stdout);if(r.ok&&a.imports)return c.run={path:e,source:n,version:a.version},c;c.own={source:n,problem:a.missing||r.problem||"it didn't start"}}let p=U(n);if(a(p)){let e=await o(p,["-c",A],{timeoutMs:u.other,env:d}),t=O(e.stdout);if(e.ok&&t.imports)return c.run={path:p,source:"venv",version:t.version},c}let h=[];for(let e of l){let t=await o(e,["-c",A],{timeoutMs:u.other,env:d}),n=O(t.stdout);if(n.version){if(t.ok&&n.imports)return c.run={path:e,source:"system",version:n.version},c;h.push({path:e,version:n.version,venv:n.venv})}}let f=h.find(e=>e.venv&&N(e.version));if(f)return c.base={path:f.path,source:"system",version:f.version},c;let g=h.find(e=>N(e.version))||h[0];c.systemFound=g?{version:g.version,venv:g.venv}:null;let m=W(n);if(a(m)){let e=await o(m,[...j,"-c",A],{timeoutMs:u.other,env:I(d)}),t=O(e.stdout);if(e.ok&&t.venv)return c.base={path:m,source:"downloaded",version:t.version},c}return c.download=function(e,t=k){let n=e&&Object.hasOwn(t.builds,e)?t.builds[e]:null;return n?{key:e,version:t.version,release:t.release,...n,url:function(e,t=k){return`https://github.com/astral-sh/python-build-standalone/releases/download/${t.release}/${encodeURIComponent(e.file)}`}(n,t)}:null}(s),c}class G extends Error{}let B=(...e)=>(globalThis.fetch?._nextOriginalFetch||globalThis.fetch)(...e),K=e=>(e/1048576).toFixed(1);async function X(e,t,{sha256:n,size:r,signal:i,onProgress:o,idleMs:a=3e4,fetchImpl:s=B,from:l="GitHub"}={}){if(!/^[0-9a-f]{64}$/.test(String(n))||!(Number.isInteger(r)&&r>0))throw new G("There is no pinned checksum for this download, so it wasn't started.");let u=`${t}.part`,d=new AbortController,c=i?AbortSignal.any([i,d.signal]):d.signal,p=null,h=()=>{clearTimeout(p),p=setTimeout(()=>d.abort(new G(`The download stopped for ${Math.round(a/1e3)} seconds. Check your connection and try again.`)),a)};h();let f=await E.default.open(u,"w"),g=(0,R.createHash)("sha256"),m=0,y=!1;try{let t=await s(e,{signal:c,redirect:"follow",cache:"no-store",headers:{Accept:"application/octet-stream","User-Agent":"six-degrees-scanner-setup"}});if(!t.ok||!t.body)throw new G(`${l} answered ${t.status} to the download. Try again later.`);let i=Number(t.headers.get("content-length"))||null;if(i&&i!==r)throw new G(`The download isn't the size it should be (${i} bytes, not ${r}), so it was stopped.`);for await(let e of t.body){if(h(),(m+=e.byteLength)>r)throw new G("The download is bigger than it should be, so it was stopped.");g.update(e);let t=0;for(;t<e.byteLength;){let{bytesWritten:n}=await f.write(e,t,e.byteLength-t);t+=n}o?.(m,r)}if(m!==r)throw new G("The download ended early. Try again.");let a=g.digest("hex");if(a!==n)throw new G("The download doesn't match the checksum Six Degrees has for it, so it was deleted and nothing was unpacked.");return y=!0,a}catch(e){if(c.aborted&&c.reason instanceof Error)throw c.reason;throw e}finally{clearTimeout(p),await f.close(),y?await E.default.rename(u,t):await E.default.rm(u,{force:!0})}}async function Y(e,t,n){let o=i.default.join(e,"python");if(!await E.default.lstat(i.default.join(o,"bin","python3")).catch(()=>null))throw new G("The download didn't contain the Python it should have.");let a=i.default.join(t,F);return r.default.existsSync(a)&&await E.default.rename(a,i.default.join(n,"python-before")),await E.default.rename(o,a),W(t)}let V=(0,w.registerScanState)({running:!1,action:null,target:null,recent:[],log:[],startedAt:null,exitCode:null,child:null,abort:null,stopping:!1,stderrTail:[],failure:null});function J(e){for(let t of String(e).split("\n")){let e=t.replace(/\s+$/,"");e&&V.log.push(e)}V.log.length>500&&V.log.splice(0,V.log.length-500)}function Z(){try{let e=(0,r.readFileSync)(i.default.join((0,o.dataDir)(),"bridge-skips.json"),"utf8"),t=JSON.parse(e);return Object.entries(t).map(([e,t])=>({profileUrl:e,name:t?.name??"",reason:t?.reason??"",at:t?.at??null}))}catch{return[]}}function Q(){let e=[];try{let t=(0,a.resolveProfile)({create:!1});t&&(e=Object.keys(g((0,o.dataDir)(),t.id)))}catch{}return{skips:Z(),read:e}}let ee={at:0,value:null},et=null,en=0;function er(){en++,ee={at:0,value:null},et=null}let ei=Symbol.for("six-degrees.python-looker"),eo=globalThis[ei]??=function({choose:e=q,now:t=Date.now,retryMs:n=6e4}={}){let r=null,i=null;return async function(o,a={}){if(o&&r?.path===o)return{run:r,own:null,base:null,systemFound:null,download:null};let s=!!o&&i?.path===o&&(!1===i.own.retry||t()-i.at<n),l=await e({...a,bundled:s?"":o});if(s)return{...l,own:i.own};if(o&&l.run?.path===o)r=l.run;else if(o&&l.own){let e="bundled"===l.own.source?{...l.own,retry:!1}:l.own;return i={path:o,at:t(),own:e},{...l,own:e}}return l}}();async function ea(){let e=(0,o.projectRoot)(),n=await eo(process.env.SIX_DEGREES_PYTHON||"",{app:process.env.SIX_DEGREES_APP||"",dataDir:(0,o.dataDir)(),host:(void 0===t&&(t=function({platform:e=process.platform,arch:t=process.arch,sysctlArm64:n=""}={}){return"darwin"===e?`darwin-${(0,T.chipOf)({sysctlArm64:n,processArch:t})}`:"linux"===e&&("x64"===t||"arm64"===t)?`linux-${t}`:null}({sysctlArm64:""})),t)});return{root:e,python:n,chrome:(0,r.existsSync)("/opt/google/chrome/chrome"),signedIn:(0,r.existsSync)(i.default.join((0,o.dataDir)(),"chrome-profile","Default","Cookies"))}}function es(){if(Date.now()-ee.at<4e3&&ee.value)return Promise.resolve(ee.value);if(et)return et;let e=en,t=ea().then(t=>(e===en&&(ee={at:Date.now(),value:t}),t)).finally(()=>{et===t&&(et=null)});return et=t,t}async function el(){let e=await es(),t={first:0,second:0,third:0},n=null;try{(n=(0,a.resolveProfile)({create:!1}))&&(t=(0,a.networkCounts)(n.id))}catch{}let r=0;try{r=(0,_.waitingPhotoCount)((0,b.getDb)())}catch{}let i=e.python;return{ready:!!(e.root&&i.run&&e.chrome),checks:{scriptsFound:!!e.root,python:!!(i.run||i.base),pythonPath:i.run?.path||i.base?.path||null,pythonVersion:i.run?.version||i.base?.version||null,pythonSource:i.run?.source||null,dependencies:!!i.run,ownPython:i.own,installFrom:i.base?{source:i.base.source,version:i.base.version}:null,systemPython:i.systemFound,download:i.download?{version:i.download.version,size:i.download.size,from:"github.com"}:null,chrome:e.chrome,signedIn:e.signedIn},network:t,photosWaiting:r,...eu(),skips:Z(),linkedin:(0,f.linkedinState)((0,o.dataDir)()),paused:function(e){if(!e)return[];try{let t=(0,b.getDb)(),n=t.prepare(`SELECT id, name, tier, profile_url, connected_date, created_at
13
+ FROM linkedin_connections WHERE user_id = ? AND degree = 1`).all(e),r=new Set(t.prepare(`SELECT DISTINCT source_connection_id AS id FROM linkedin_connections
14
+ WHERE user_id = ? AND degree = 2 AND source_connection_id IS NOT NULL`).all(e).map(e=>e.id));return y(n,r,g((0,o.dataDir)(),e),m((0,o.dataDir)()))}catch{return[]}}(n?.id)}}function eu(){return{running:V.running,action:V.action,target:V.target,startedAt:V.startedAt,exitCode:V.exitCode,failure:V.running?null:V.failure,progress:V.running?function(e,t){if(!Array.isArray(e)||0===e.length)return null;if("setup"===t){let t=String(e[e.length-1]).match(l);return t&&Number(t[2])?{done:Math.min(Number(t[1]),Number(t[2])),total:Number(t[2]),kind:"download"}:null}if("full"===t||"refresh"===t){for(let t=e.length-1;t>=0;t--){let n=String(e[t]);if(p.test(n))return{kind:"saving"};let r=n.match(d);if(r)return h(Number(r[1]),Number(r[1]));let i=n.match(u);if(i)return h(Number(i[1]),Number(i[2]));let o=n.match(s);if(o)return h(0,Number(o[1]))}return null}if(t&&(t.startsWith("auto-bridge")||"resume-all"===t))for(let t=e.length-1;t>=0;t--){let n=String(e[t]).match(c);if(n){let e=Number(n[1]),t=Number(n[2]);if(!t)return null;return{done:Math.min(e-1,t),total:t,current:e,kind:"batch"}}}return null}(V.log,V.action):null,log:V.log.slice(-120),recent:V.recent}}async function ed(e){let t=new URL(e?.url||"http://127.0.0.1/api/scraper").searchParams;return t.has("job")?Response.json(eu()):t.has("resume")?Response.json({resume:function(e){try{let t=(0,a.resolveProfile)({create:!1});if(!t)return null;let n=(0,b.getDb)(),r=n.prepare(`SELECT id, name, tier, profile_url, connected_date, created_at
15
+ FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1`).get(String(e??""),t.id);if(!r)return null;let i=n.prepare("SELECT 1 FROM linkedin_connections WHERE user_id = ? AND degree = 2 AND source_connection_id = ? LIMIT 1").get(t.id,r.id),[s]=y([r],new Set(i?[r.id]:[]),g((0,o.dataDir)(),t.id),m((0,o.dataDir)()));return s?{nextPage:s.nextPage,pagesRead:s.pagesRead,legacy:s.legacy}:null}catch{return null}}(t.get("resume"))}):t.has("reach")?Response.json(Q()):t.has("person")?Response.json(function(e){try{let t=(0,a.resolveProfile)({create:!1});if(!t)return{person:null};let n=(0,b.getDb)(),r=n.prepare(`SELECT id, name, tier, power_score, degree, profile_url, unlocked_from_bridge_id, unlocked_from_name
16
+ FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1`).get(String(e??""),t.id);if(!r)return{person:null};let i=n.prepare("SELECT 1 FROM linkedin_connections WHERE user_id = ? AND degree = 2 AND source_connection_id = ? LIMIT 1").get(t.id,r.id),o=function(e=[],t=[],n={}){let r=new Set;for(let e of t||[])e?.source_connection_id!=null&&r.add(e.source_connection_id);let i=new Set;for(let e of n?.skips||[])e?.profileUrl&&i.add(S({profile_url:e.profileUrl}));let o=new Set;for(let e of n?.read||[])e&&o.add(S({profile_url:e}));let a=new Map;for(let t of e||[]){let e=t?.unlocked_from_bridge_id;if(null==e||1!==t.degree)continue;let n=a.get(e);n||a.set(e,n=[]),n.push(t)}return{scanned:r,read:o,hidden:i,reachedFrom:a}}([],i?[{source_connection_id:r.id}]:[],Q());return{person:{id:r.id,name:r.name,tier:r.tier,power_score:r.power_score,unlocked_from_bridge_id:r.unlocked_from_bridge_id,unlocked_from_name:r.unlocked_from_name},circle:r?o.scanned.has(r.id)||r.profile_url&&o.read?.has(S(r))?"scanned":r.profile_url&&o.hidden.has(S(r))?"hidden":"todo":"todo"}}catch{return{person:null}}}(t.get("person"))):Response.json(await el())}let ec={install:{label:"Installing the scanner’s Python packages"},setup:{label:"Setting up the scanner"},login:{flag:"--login",label:"Opening LinkedIn so you can sign in"},full:{flag:"--full",label:"Scanning your whole network"},refresh:{flag:"--refresh",label:"Checking for new connections"},"auto-bridge":{flag:"--auto-bridge",label:"Mapping every bridge in turn"},"auto-bridge-retry":{flag:"--auto-bridge --retry-private",label:"Mapping every bridge, hidden ones included"},bridge:{flag:"--bridge",needsName:!0,byId:!0,label:"Mapping the circle behind"},resume:{flag:"--bridge-url",needsId:!0,label:"Carrying on with",searches:!0},"resume-all":{flag:"--auto-bridge --only-unfinished",label:"Carrying on with every paused list",searches:!0},rescrape:{flag:"--rescrape",needsName:!0,label:"Re-mapping the circle behind"},company:{flag:"--company",needsName:!0,label:"Scanning"},photos:{flag:"--save-photos",label:"Saving profile photos to this computer"}};async function ep(e){let t,s={};try{s=await e.json()}catch{}let l=String(s.action||"");if("cancel"===l)return!function(){if(V.abort){V.stopping=!0,J("Stopping…"),V.abort.abort(new G("Stopped."));return}let e=V.child;if(!e)return;V.stopping=!0,J("Stopping…");let t=e.pid;try{process.kill(-t,"SIGTERM")}catch{try{e.kill("SIGTERM")}catch{}}setTimeout(()=>{if(V.child&&V.child.pid===t){J("Still running — forcing it.");try{process.kill(-t,"SIGKILL")}catch{try{e.kill("SIGKILL")}catch{}}}},2e4)}(),Response.json({ok:!0,cancelled:!0});if("set-limits"===l){let e=(0,f.writeLimits)((0,o.dataDir)(),{daily:s.daily,monthly:s.monthly,profiles:s.profiles});return Response.json({ok:!0,limits:e})}if("lift-cooldown"===l)return(0,f.liftCooldown)((0,o.dataDir)()),Response.json({ok:!0});if(!Object.hasOwn(ec,l))return Response.json({error:`Unknown action '${l}'`},{status:400});let u=ec[l],d=Number.isInteger(s.maxBridges)&&s.maxBridges>0?Math.min(s.maxBridges,500):0,c=Array.isArray(s.tiers)?s.tiers.map(e=>String(e).toUpperCase()).filter(e=>"SABCD".includes(e)&&1===e.length):[],p="score"===s.order?"score":"newest",h=[10,25,50,100].includes(s.maxPages)?s.maxPages:100,g=l.startsWith("auto-bridge")||["bridge","rescrape","resume","resume-all"].includes(l),m=!0===s.deeper&&(l.startsWith("auto-bridge")||"bridge"===l),y=u.needsId||u.byId&&!!s.id,w=null;if(u.needsName&&!y){let e;if(!(w=!(e=String(s.name??"").trim())||e.length>120||/[\u0000-\u001f]/.test(e)?null:e))return Response.json({error:"A name is required for this action."},{status:400})}let _=null,S=null;if(y){try{var R;let e,t=(0,a.resolveProfile)({create:!1});S=t&&(0,b.getDb)().prepare("SELECT name, profile_url FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1").get(String(s.id??""),t.id),_=S?.profile_url&&(R=S.profile_url,(e=String(R??"").trim()).length>400||/[\u0000-\u001f\s]/.test(e)?null:/^https?:\/\/([a-z]{2,3}\.|www\.)?linkedin\.com\/in\/[^/?#]+\/?$/i.test(e)?e:null)}catch{_=null}if(!_)return Response.json({error:"That connection could not be found."},{status:400})}let E="string"==typeof s.id&&/^[\w-]{1,64}$/.test(s.id)?s.id:null,T=w||_?{id:E,name:w||S?.name||null}:null,k=u.searches||l.startsWith("auto-bridge")||["bridge","rescrape","company","full","refresh"].includes(l);if(!["install","setup","login"].includes(l)&&(0,v.pendingImport)((0,o.dataDir)()))return Response.json({error:"An import is waiting to finish. Restart Six Degrees first (Settings → Your data), then scan."},{status:409});let P=(0,f.linkedinState)((0,o.dataDir)()).cooldown;if(k&&P)return Response.json({error:`Scanning is paused until ${new Date(P.until).toLocaleString()} — ${P.reason}.`,cooldown:P},{status:409});if(V.running)return Response.json({error:"Something is already running.",action:V.action},{status:409});let C=(0,o.projectRoot)();if(!C)return Response.json({error:"Could not find scripts/scrape.py next to the app."},{status:500});er();let N=(await es()).python;if(V.running)return Response.json({error:"Something is already running.",action:V.action},{status:409});let A=null;if("install"===l||"setup"===l){let e=function(e,t,{root:n,data:o,say:a}){if(t.run)return{status:409,error:"bundled"===t.run.source?"The scanner is already set up: its Python comes with the app.":"The scanner is already set up."};let s=t.base;if("install"===e&&!s)return t.download?{status:409,error:"This computer has no Python the scanner can use. Use Set up the scanner instead."}:{status:500,error:"No Python 3.10 to 3.14 is installed, or none is on this app’s PATH."};if("setup"===e&&s?.source==="system")return{status:409,error:`This computer already has Python ${s.version}, so nothing needs downloading. Use Install instead.`};if("setup"===e&&!s&&!t.download)return{status:409,error:"There is no Python download for this computer. Install Python 3.10 to 3.14, then reload."};let l=i.default.join(n,"scripts","requirements.txt"),u=e=>(function({base:e,dataDir:t,requirements:n}){let r="downloaded"===e.source,i=U(t);return[{cmd:e.path,args:[...r?j:[],"-m","venv","--clear",L(t)],...r?{env:I}:{},note:"Creating the scanner’s own Python environment"},{cmd:i,args:["-m","pip","install","--disable-pip-version-check","--no-input","-r",n],env:H,note:"Installing Playwright, requests and Pillow"},{cmd:i,args:["-c",function(e=D){return`import sys
15
17
  try:
16
18
  ${e}
17
19
  except Exception as e:
18
20
  first = (str(e).splitlines() or [""])[0][:200]
19
21
  sys.stderr.write("pip said it installed them, but the scanner's environment can't load them (%s: %s). A pip setting may send packages somewhere else: pip config list shows yours.\\n" % (type(e).__name__, first))
20
22
  sys.exit(1)
21
- print("The scanner's packages load in its environment.")`}()],note:"Checking that they load"}]})({base:e,dataDir:a,requirements:l});if(s)return{plan:u(s),cleanup:null};let d=t.download;(0,r.mkdirSync)(a,{recursive:!0}),function(e,{now:t=Date.now(),maxAgeMs:n=36e5}={}){let a=[];try{a=r.default.readdirSync(e)}catch{return}for(let o of a){if(!o.startsWith(S.SETUP_WORK_PREFIX))continue;let a=i.default.join(e,o);try{let e=r.default.lstatSync(a);e.isDirectory()&&t-e.mtimeMs>n&&r.default.rmSync(a,{recursive:!0,force:!0})}catch{}}}(a);let c=(0,r.mkdtempSync)(i.default.join(a,S.SETUP_WORK_PREFIX)),p=i.default.join(c,d.file),h=-1;return{plan:[{note:`Downloading Python ${d.version} from GitHub (${z(d.size)} MB)`,run:async({signal:e})=>{await W(d.url,p,{sha256:d.sha256,size:d.size,signal:e,onProgress:(e,t)=>{let n=Math.floor(e/t*10);n>h&&(h=n,o(`Downloading Python ${d.version}: ${z(e)} of ${z(t)} MB`))}}),o("Its checksum matches the one Six Degrees has for it.")}},{cmd:"tar",args:["-xzf",p,"-C",c],note:"Unpacking it"},{run:()=>q(c,a,c)},...u({path:M(a),source:"downloaded"})],cleanup:()=>(0,r.rmSync)(c,{recursive:!0,force:!0})}}(l,C,{root:x,data:(0,a.dataDir)(),say:B});if(e.error)return Response.json({error:e.error},{status:e.status});({plan:t,cleanup:P}=e)}else{if(!C.run)return Response.json({error:"The scanner’s packages are not installed yet. Do step 1 first."},{status:409});t=[function(e,t,n=[]){let r=e?.source==="bundled"||e?.source==="custom";return{cmd:e.path,args:[...r?k:[],t,...n],env:r?N:O}}(C.run,i.default.join(x,"scripts","scrape.py"),[...b?[`${u.flag}=${b}`]:v?[`${u.flag}=${v}`]:u.flag.split(" "),...d&&(l.startsWith("auto-bridge")||"resume-all"===l)?[`--max-bridges=${d}`]:[],...c.length&&l.startsWith("auto-bridge")?[`--tiers=${c.join(",")}`]:[],...l.startsWith("auto-bridge")?[`--order=${p}`]:[],...m?[`--max-pages=${l.startsWith("resume")?100:h}`]:[],...w?["--deeper"]:[]])]}let j=e.headers.get("host")||"127.0.0.1:3000",$=j.includes(":")?j.split(":").pop():"80";G.running=!0,G.stopping=!1,G.action=l,G.exitCode=null,G.startedAt=Date.now(),G.log=[u.label+(b?` ${b}…`:"…")],G.stderrTail=[],G.failure=null,V();let H="";try{H=(0,o.resolveProfile)().id}catch{}let U={...process.env,SIX_DEGREES_USER_ID:H,APP_URL:`http://127.0.0.1:${$}`,PYTHONUNBUFFERED:"1",SIX_DEGREES_ROOT:x,SIX_DEGREES_FROM_APP:"1"};function L(e){if(0!==e&&!G.stopping&&G.stderrTail.length){let e=new Set(G.log),t=G.stderrTail.filter(t=>!e.has(t));t.length&&B(t.join("\n"));let n=G.stderrTail.filter(e=>!/Warning|warnings\.warn\(/.test(e)).slice(-6);G.failure=n.length?n:null}if(B(G.stopping?"Stopped.":0===e?"Finished.":`Stopped (exit ${e}).`),G.stopping=!1,G.running=!1,G.child=null,G.abort=null,G.exitCode=e,P)try{P()}catch{}V()}return!function e(r){let i;if(r>=t.length)return L(0);let a=t[r];if(a.note&&B(a.note+"…"),a.run){let t=new AbortController;G.abort=t,Promise.resolve().then(()=>a.run({signal:t.signal})).then(()=>{if(G.abort=null,G.stopping)return L(0);e(r+1)},e=>{if(G.abort=null,G.stopping)return L(0);G.stderrTail.push(e instanceof F?e.message:`Could not finish: ${e.message}`),L(1)});return}try{i=(0,n.spawn)(a.cmd,a.args,{cwd:x,env:a.env?a.env(U):U,detached:!0})}catch(e){return B(`Could not start: ${e.message}`),L(-1)}G.child=i,i.stdout.on("data",e=>B(e.toString())),i.stderr.on("data",e=>{let t=e.toString();for(let e of t.split("\n")){let t=e.replace(/\s+$/,"");t&&G.stderrTail.push(t)}G.stderrTail.length>20&&G.stderrTail.splice(0,G.stderrTail.length-20),/error|Error|Traceback|No module|failed|externally-managed/.test(t)&&B(t)}),i.on("error",e=>{B(`Could not start: ${e.message}`),L(-1)}),i.on("close",t=>G.stopping?L(t??0):0===t||a.tolerant?void e(r+1):L(t))}(0),Response.json({ok:!0,action:l})}e.s(["GET",0,en,"POST",0,ei],81638)},14974,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),i=e.i(59756),a=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(52474);var y=e.i(220);let w=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/scraper/route",pathname:"/api/scraper",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/scraper/route.js",nextConfigOutput:"standalone",userland:()=>e.r(81638),...{}}),{workAsyncStorage:b,workUnitAsyncStorage:v,serverHooks:S}=w;async function R(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),w.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let b="/api/scraper/route";b=b.replace(/\/index$/,"")||"/";let v=await w.prepare(e,t,{srcPage:b,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:R,params:E,nextConfig:T,parsedUrl:x,isDraftMode:_,prerenderManifest:C,routerServerContext:P,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,resolvedPathname:O,clientReferenceManifest:j,serverActionsManifest:A}=v,D=(0,s.normalizeAppPath)(b),I=!!(C.dynamicRoutes[D]||C.routes[O]),$=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,x,!1):t.end("This page could not be found"),null);if(I&&!_){let e=!!C.routes[O],t=C.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(T.adapterPath)return await $();throw new m.NoFallbackError}}let M=null;!I||w.isDev||_||(M="/index"===(M=O)?"/":M);let H=!0===w.isDev||!I,U=I&&!H;A&&j&&(0,o.setManifestsSingleton)({page:b,clientReferenceManifest:j,serverActionsManifest:A});let F=e.method||"GET",L=(0,a.getTracer)(),z=L.getActiveScopeSpan(),W=!!(null==P?void 0:P.isWrappedByNextServer),q=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await w.getIncrementalCache(e,T,C,q);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:E,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!T.experimental.authInterrupts,useCacheTimeout:T.experimental.useCacheTimeout},cacheComponents:!!T.cacheComponents,validationLevel:T.experimental.instantInsights.validationLevel,supportsDynamicResponse:H,incrementalCache:G,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:T.cacheLife,staticPageGenerationTimeout:T.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,i)=>w.onRequestError(e,t,r,i,P)},sharedContext:{buildId:S,deploymentId:R}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t)),V=async({previousCacheEntry:n})=>{try{if(!q&&k&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await w.handle(Y,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let a=B.renderOpts.pendingWaitUntil;a&&r.waitUntil&&(r.waitUntil(a),a=void 0);let o=B.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(K,X,i,a),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);o&&(t[g.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==n&&n>0?T.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await w.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:k})},!1,P),t}},J=async(i,o)=>{try{var s,l;let i=await w.handleResponse({req:e,nextConfig:T,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:N,responseGenerator:V,waitUntil:r.waitUntil,isMinimalMode:q});if(!I)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});q||t.setHeader("x-nextjs-cache",k?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),_&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let a=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);q&&I||a.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||a.get("Cache-Control")||a.set("Cache-Control",(0,f.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(K,X,new Response(i.value.body,{headers:a,status:i.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await w.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:k})},!1,P),I)throw t;await (0,p.sendResponse)(K,X,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:a.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let n=L.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||D,s=`${F} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),i.updateName(s),o&&o!==i&&(o.setAttribute("http.route",r),o.updateName(s))})()}};if(W&&z)await J(z,void 0);else{let t=L.getActiveScopeSpan();await L.withPropagatedContext(e.headers,()=>L.trace(d.BaseServerSpan.handleRequest,{spanName:`${F} ${b}`,kind:a.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},e=>J(e,t)),void 0,!W)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:v})},"routeModule",0,w,"serverHooks",0,S,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,v])}];
23
+ print("The scanner's packages load in its environment.")`}()],note:"Checking that they load"}]})({base:e,dataDir:o,requirements:l});if(s)return{plan:u(s),cleanup:null};let d=t.download;(0,r.mkdirSync)(o,{recursive:!0}),function(e,{now:t=Date.now(),maxAgeMs:n=36e5}={}){let o=[];try{o=r.default.readdirSync(e)}catch{return}for(let a of o){if(!a.startsWith(x.SETUP_WORK_PREFIX))continue;let o=i.default.join(e,a);try{let e=r.default.lstatSync(o);e.isDirectory()&&t-e.mtimeMs>n&&r.default.rmSync(o,{recursive:!0,force:!0})}catch{}}}(o);let c=(0,r.mkdtempSync)(i.default.join(o,x.SETUP_WORK_PREFIX)),p=i.default.join(c,d.file),h=-1;return{plan:[{note:`Downloading Python ${d.version} from GitHub (${K(d.size)} MB)`,run:async({signal:e})=>{await X(d.url,p,{sha256:d.sha256,size:d.size,signal:e,onProgress:(e,t)=>{let n=Math.floor(e/t*10);n>h&&(h=n,a(`Downloading Python ${d.version}: ${K(e)} of ${K(t)} MB`))}}),a("Its checksum matches the one Six Degrees has for it.")}},{cmd:"tar",args:["-xzf",p,"-C",c],note:"Unpacking it"},{run:()=>Y(c,o,c)},...u({path:W(o),source:"downloaded"})],cleanup:()=>(0,r.rmSync)(c,{recursive:!0,force:!0})}}(l,N,{root:C,data:(0,o.dataDir)(),say:J});if(e.error)return Response.json({error:e.error},{status:e.status});({plan:t,cleanup:A}=e)}else{if(!N.run)return Response.json({error:"The scanner’s packages are not installed yet. Do step 1 first."},{status:409});t=[function(e,t,n=[]){let r=e?.source==="bundled"||e?.source==="custom";return{cmd:e.path,args:[...r?j:[],t,...n],env:r?I:$}}(N.run,i.default.join(C,"scripts","scrape.py"),[...w?[`${u.flag}=${w}`]:_?[`--bridge-url=${_}`]:u.flag.split(" "),..._&&"bridge"===l&&!m?["--from-start"]:[],...d&&(l.startsWith("auto-bridge")||"resume-all"===l)?[`--max-bridges=${d}`]:[],...c.length&&l.startsWith("auto-bridge")?[`--tiers=${c.join(",")}`]:[],...l.startsWith("auto-bridge")?[`--order=${p}`]:[],...g?[`--max-pages=${l.startsWith("resume")?100:h}`]:[],...m?["--deeper"]:[]])]}let O=e.headers.get("host")||"127.0.0.1:3000",M=O.includes(":")?O.split(":").pop():"80";V.running=!0,V.stopping=!1,V.action=l,V.target=T,V.exitCode=null,V.startedAt=Date.now(),V.log=[u.label+(T?.name?` ${T.name}…`:"…")],V.stderrTail=[],V.failure=null,er();let F="";try{F=(0,a.resolveProfile)().id}catch{}let z={...process.env,SIX_DEGREES_USER_ID:F,APP_URL:`http://127.0.0.1:${M}`,PYTHONUNBUFFERED:"1",SIX_DEGREES_ROOT:C,SIX_DEGREES_FROM_APP:"1"};function q(e){if(0!==e&&!V.stopping&&V.stderrTail.length){let e=new Set(V.log),t=V.stderrTail.filter(t=>!e.has(t));t.length&&J(t.join("\n"));let n=V.stderrTail.filter(e=>!/Warning|warnings\.warn\(/.test(e)).slice(-6);V.failure=n.length?n:null}if(J(V.stopping?"Stopped.":0===e?"Finished.":`Stopped (exit ${e}).`),V.stopping=!1,V.running=!1,V.child=null,V.abort=null,V.exitCode=e,V.recent=[{action:V.action,target:V.target,startedAt:V.startedAt,exitCode:e,failure:V.failure},...V.recent].slice(0,5),A)try{A()}catch{}er()}return!function e(r){let i;if(r>=t.length)return q(0);let o=t[r];if(o.note&&J(o.note+"…"),o.run){let t=new AbortController;V.abort=t,Promise.resolve().then(()=>o.run({signal:t.signal})).then(()=>{if(V.abort=null,V.stopping)return q(0);e(r+1)},e=>{if(V.abort=null,V.stopping)return q(0);V.stderrTail.push(e instanceof G?e.message:`Could not finish: ${e.message}`),q(1)});return}try{i=(0,n.spawn)(o.cmd,o.args,{cwd:C,env:o.env?o.env(z):z,detached:!0})}catch(e){return J(`Could not start: ${e.message}`),q(-1)}V.child=i,i.stdout.on("data",e=>J(e.toString())),i.stderr.on("data",e=>{let t=e.toString();for(let e of t.split("\n")){let t=e.replace(/\s+$/,"");t&&V.stderrTail.push(t)}V.stderrTail.length>20&&V.stderrTail.splice(0,V.stderrTail.length-20),/error|Error|Traceback|No module|failed|externally-managed/.test(t)&&J(t)}),i.on("error",e=>{J(`Could not start: ${e.message}`),q(-1)}),i.on("close",t=>V.stopping?q(t??0):0===t||o.tolerant?void e(r+1):q(t))}(0),Response.json({ok:!0,action:l,startedAt:V.startedAt})}e.s(["GET",0,ed,"POST",0,ep],81638)},14974,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),i=e.i(59756),o=e.i(61916),a=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(52474);var y=e.i(220);let b=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/scraper/route",pathname:"/api/scraper",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/scraper/route.js",nextConfigOutput:"standalone",userland:()=>e.r(81638),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:v,serverHooks:_}=b;async function S(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),b.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/scraper/route";w=w.replace(/\/index$/,"")||"/";let v=await b.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:_,deploymentId:S,params:R,nextConfig:E,parsedUrl:T,isDraftMode:x,prerenderManifest:k,routerServerContext:P,isOnDemandRevalidate:C,revalidateOnlyGenerated:N,resolvedPathname:D,clientReferenceManifest:A,serverActionsManifest:O}=v,j=(0,s.normalizeAppPath)(w),I=!!(k.dynamicRoutes[j]||k.routes[D]),$=async()=>((null==P?void 0:P.render404)?await P.render404(e,t,T,!1):t.end("This page could not be found"),null);if(I&&!x){let e=!!k.routes[D],t=k.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await $();throw new m.NoFallbackError}}let M=null;!I||b.isDev||x||(M="/index"===(M=D)?"/":M);let H=!0===b.isDev||!I,L=I&&!H;O&&A&&(0,a.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:O});let U=e.method||"GET",F=(0,o.getTracer)(),W=F.getActiveScopeSpan(),z=!!(null==P?void 0:P.isWrappedByNextServer),q=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,E,k,q);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:R,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,supportsDynamicResponse:H,incrementalCache:G,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,i)=>b.onRequestError(e,t,r,i,P)},sharedContext:{buildId:_,deploymentId:S}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t)),V=async({previousCacheEntry:n})=>{try{if(!q&&C&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await b.handle(Y,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let a=B.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(K,X,i,o),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);a&&(t[g.NEXT_CACHE_TAGS_HEADER]=a),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==n&&n>0?E.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:y.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:C})},!1,P),t}},J=async(i,a)=>{try{var s,l;let i=await b.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:N,responseGenerator:V,waitUntil:r.waitUntil,isMinimalMode:q});if(!I)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==y.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});q||t.setHeader("x-nextjs-cache",C?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);q&&I||o.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,f.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(K,X,new Response(i.value.body,{headers:o,status:i.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:C})},!1,P),I)throw t;await (0,p.sendResponse)(K,X,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:o.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||j,s=`${U} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),i.updateName(s),a&&a!==i&&(a.setAttribute("http.route",r),a.updateName(s))})()}};if(z&&W)await J(W,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>J(e,t)),void 0,!z)}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:v})},"routeModule",0,b,"serverHooks",0,_,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,v])}];
22
24
 
23
25
  //# sourceMappingURL=_1_fynia._.js.map