six-degrees 0.2.0 → 0.3.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +10 -0
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +39 -11
  5. package/.next/standalone/.next/required-server-files.json +4 -1
  6. package/.next/standalone/.next/routes-manifest.json +60 -0
  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 +9 -9
  20. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/api/admin-delete/route.js +3 -2
  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 +3 -2
  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 +3 -2
  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 +3 -2
  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/app-paths-manifest.json +3 -0
  30. package/.next/standalone/.next/server/app/api/company-scores/legacy/route/build-manifest.json +12 -0
  31. package/.next/standalone/.next/server/app/api/company-scores/legacy/route/server-reference-manifest.json +4 -0
  32. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js +9 -0
  33. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.map +5 -0
  34. package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -0
  35. package/.next/standalone/.next/server/app/api/company-scores/legacy/route_client-reference-manifest.js +3 -0
  36. package/.next/standalone/.next/server/app/api/company-scores/route.js +3 -2
  37. package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/connections/route.js +3 -2
  39. package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/data/export/route/app-paths-manifest.json +3 -0
  41. package/.next/standalone/.next/server/app/api/data/export/route/build-manifest.json +12 -0
  42. package/.next/standalone/.next/server/app/api/data/export/route/server-reference-manifest.json +4 -0
  43. package/.next/standalone/.next/server/app/api/data/export/route.js +7 -0
  44. package/.next/standalone/.next/server/app/api/data/export/route.js.map +5 -0
  45. package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -0
  46. package/.next/standalone/.next/server/app/api/data/export/route_client-reference-manifest.js +3 -0
  47. package/.next/standalone/.next/server/app/api/data/import/route/app-paths-manifest.json +3 -0
  48. package/.next/standalone/.next/server/app/api/data/import/route/build-manifest.json +12 -0
  49. package/.next/standalone/.next/server/app/api/data/import/route/server-reference-manifest.json +4 -0
  50. package/.next/standalone/.next/server/app/api/data/import/route.js +8 -0
  51. package/.next/standalone/.next/server/app/api/data/import/route.js.map +5 -0
  52. package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -0
  53. package/.next/standalone/.next/server/app/api/data/import/route_client-reference-manifest.js +3 -0
  54. package/.next/standalone/.next/server/app/api/data/restart/route/app-paths-manifest.json +3 -0
  55. package/.next/standalone/.next/server/app/api/data/restart/route/build-manifest.json +12 -0
  56. package/.next/standalone/.next/server/app/api/data/restart/route/server-reference-manifest.json +4 -0
  57. package/.next/standalone/.next/server/app/api/data/restart/route.js +8 -0
  58. package/.next/standalone/.next/server/app/api/data/restart/route.js.map +5 -0
  59. package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -0
  60. package/.next/standalone/.next/server/app/api/data/restart/route_client-reference-manifest.js +3 -0
  61. package/.next/standalone/.next/server/app/api/data/reveal/route/app-paths-manifest.json +3 -0
  62. package/.next/standalone/.next/server/app/api/data/reveal/route/build-manifest.json +12 -0
  63. package/.next/standalone/.next/server/app/api/data/reveal/route/server-reference-manifest.json +4 -0
  64. package/.next/standalone/.next/server/app/api/data/reveal/route.js +7 -0
  65. package/.next/standalone/.next/server/app/api/data/reveal/route.js.map +5 -0
  66. package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -0
  67. package/.next/standalone/.next/server/app/api/data/reveal/route_client-reference-manifest.js +3 -0
  68. package/.next/standalone/.next/server/app/api/data/route/app-paths-manifest.json +3 -0
  69. package/.next/standalone/.next/server/app/api/data/route/build-manifest.json +12 -0
  70. package/.next/standalone/.next/server/app/api/data/route/server-reference-manifest.json +4 -0
  71. package/.next/standalone/.next/server/app/api/data/route.js +7 -0
  72. package/.next/standalone/.next/server/app/api/data/route.js.map +5 -0
  73. package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -0
  74. package/.next/standalone/.next/server/app/api/data/route_client-reference-manifest.js +3 -0
  75. package/.next/standalone/.next/server/app/api/delete-cluster/route.js +3 -2
  76. package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
  77. package/.next/standalone/.next/server/app/api/ingest/route.js +2 -2
  78. package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
  79. package/.next/standalone/.next/server/app/api/network/route.js +3 -2
  80. package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
  81. package/.next/standalone/.next/server/app/api/notifications/route.js +3 -2
  82. package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/outreach/route.js +3 -2
  84. package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
  85. package/.next/standalone/.next/server/app/api/queue/route.js +3 -2
  86. package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  87. package/.next/standalone/.next/server/app/api/scraper/route.js +3 -2
  88. package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
  90. package/.next/standalone/.next/server/app/api/settings/route/build-manifest.json +12 -0
  91. package/.next/standalone/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
  92. package/.next/standalone/.next/server/app/api/settings/route.js +9 -0
  93. package/.next/standalone/.next/server/app/api/settings/route.js.map +5 -0
  94. package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -0
  95. package/.next/standalone/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
  96. package/.next/standalone/.next/server/app/api/settings/sector-preview/route/app-paths-manifest.json +3 -0
  97. package/.next/standalone/.next/server/app/api/settings/sector-preview/route/build-manifest.json +12 -0
  98. package/.next/standalone/.next/server/app/api/settings/sector-preview/route/server-reference-manifest.json +4 -0
  99. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js +8 -0
  100. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.map +5 -0
  101. package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -0
  102. package/.next/standalone/.next/server/app/api/settings/sector-preview/route_client-reference-manifest.js +3 -0
  103. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route/app-paths-manifest.json +3 -0
  104. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route/build-manifest.json +12 -0
  105. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route/server-reference-manifest.json +4 -0
  106. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js +8 -0
  107. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.map +5 -0
  108. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -0
  109. package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route_client-reference-manifest.js +3 -0
  110. package/.next/standalone/.next/server/app/api/setup-profile/route.js +3 -2
  111. package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/unlock/route.js +3 -2
  113. package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/update/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/update-images/route.js +3 -2
  117. package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/users/route.js +3 -2
  119. package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/avatars/[file]/route.js +2 -1
  121. package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/favicon.ico/route.js +2 -1
  123. package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
  126. package/.next/standalone/.next/server/app/import.html +1 -1
  127. package/.next/standalone/.next/server/app/import.rsc +13 -13
  128. package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
  129. package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +1 -1
  130. package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +11 -11
  131. package/.next/standalone/.next/server/app/index.html +1 -1
  132. package/.next/standalone/.next/server/app/index.rsc +13 -13
  133. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +11 -11
  134. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
  135. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  136. package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
  138. package/.next/standalone/.next/server/app/launch.html +2 -2
  139. package/.next/standalone/.next/server/app/launch.rsc +13 -13
  140. package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
  141. package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +1 -1
  142. package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +11 -11
  143. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
  147. package/.next/standalone/.next/server/app/paths.html +1 -1
  148. package/.next/standalone/.next/server/app/paths.rsc +13 -13
  149. package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
  150. package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +1 -1
  151. package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +11 -11
  152. package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
  154. package/.next/standalone/.next/server/app/profile.html +1 -1
  155. package/.next/standalone/.next/server/app/profile.rsc +13 -13
  156. package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
  157. package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +1 -1
  158. package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +11 -11
  159. package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
  161. package/.next/standalone/.next/server/app/queue.html +1 -1
  162. package/.next/standalone/.next/server/app/queue.rsc +13 -13
  163. package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
  164. package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +1 -1
  165. package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +11 -11
  166. package/.next/standalone/.next/server/app/settings/page/app-paths-manifest.json +3 -0
  167. package/.next/standalone/.next/server/app/settings/page/build-manifest.json +20 -0
  168. package/.next/standalone/.next/server/app/settings/page/next-font-manifest.json +11 -0
  169. package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
  170. package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -0
  171. package/.next/standalone/.next/server/app/settings/page.js +13 -0
  172. package/.next/standalone/.next/server/app/settings/page.js.map +5 -0
  173. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -0
  174. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +3 -0
  175. package/.next/standalone/.next/server/app/settings.html +1 -0
  176. package/.next/standalone/.next/server/app/settings.meta +26 -0
  177. package/.next/standalone/.next/server/app/settings.rsc +24 -0
  178. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +24 -0
  179. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +4 -0
  180. package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +28 -0
  181. package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  183. package/.next/standalone/.next/server/app/setup.html +1 -1
  184. package/.next/standalone/.next/server/app/setup.rsc +13 -13
  185. package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
  186. package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
  187. package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +11 -11
  188. package/.next/standalone/.next/server/app-paths-manifest.json +10 -0
  189. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +3 -0
  190. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +3 -0
  191. package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +3 -0
  192. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +3 -0
  193. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +3 -0
  194. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i5hdu4._.js +3 -0
  195. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +3 -0
  196. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +3 -0
  197. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +3 -0
  198. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +3 -0
  199. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +3 -0
  200. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +8 -0
  201. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +3 -0
  202. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +3 -0
  203. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +3 -0
  204. package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +3 -0
  205. package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +3 -0
  206. package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +3 -0
  207. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +3 -0
  208. package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +3 -0
  209. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +8 -0
  210. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +3 -0
  211. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +3 -0
  212. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +3 -0
  213. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +3 -0
  214. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +3 -0
  215. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +3 -0
  216. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +3 -0
  217. package/.next/standalone/.next/server/chunks/_072jl0y._.js +3 -0
  218. package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +3 -0
  219. package/.next/standalone/.next/server/chunks/_1_fynia._.js +21 -3
  220. package/.next/standalone/.next/server/chunks/_1fn30_l._.js +3 -0
  221. package/.next/standalone/.next/server/chunks/_1itd1o_._.js +2 -1
  222. package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
  223. package/.next/standalone/.next/server/chunks/_1mxn_lb._.js +3 -0
  224. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_company-scores_legacy_route_actions_1ncspu_.js +3 -0
  225. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_export_route_actions_1lkimty.js +3 -0
  226. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_import_route_actions_1eji0kd.js +3 -0
  227. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_restart_route_actions_00_-u6o.js +3 -0
  228. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_reveal_route_actions_0-moqtn.js +3 -0
  229. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_route_actions_0j0w5ep.js +3 -0
  230. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
  231. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_sector-preview_route_actions_0w79454.js +3 -0
  232. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_sector-suggestions_route_actions_1eoqugp.js +3 -0
  233. package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +155 -0
  234. package/.next/standalone/.next/server/chunks/{lib_rpc_0mc73lk.js → lib_rpc_00tx2sm.js} +1 -1
  235. package/.next/standalone/.next/server/chunks/lib_rpc_02-qa4d.js +3 -0
  236. package/.next/standalone/.next/server/chunks/lib_rpc_02ndsg2.js +3 -0
  237. package/.next/standalone/.next/server/chunks/lib_rpc_08q5vp6.js +3 -0
  238. package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +3 -0
  239. package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -2
  240. package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +3 -0
  241. package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +3 -0
  242. package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +3 -0
  243. package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +3 -0
  244. package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +3 -0
  245. package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +3 -0
  246. package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +3 -0
  247. package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +3 -0
  248. package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +3 -0
  249. package/.next/standalone/.next/server/chunks/node_modules_next_1zc5q0a._.js +158 -0
  250. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0mocm6d._.js → [root-of-the-server]__0an6blh._.js} +3 -3
  251. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h1_f_2._.js +1 -1
  252. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1m0255u._.js +3 -0
  253. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bipr5s._.js → [root-of-the-server]__1z1j3ek._.js} +2 -2
  254. package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +3 -0
  255. package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +3 -0
  256. package/.next/standalone/.next/server/chunks/ssr/{_0ggabjc._.js → _0942v8n._.js} +1 -1
  257. package/.next/standalone/.next/server/chunks/ssr/{_1djpk8t._.js → _0hl_t7r._.js} +2 -2
  258. package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +132 -0
  259. package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +3 -0
  260. package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +1 -1
  261. package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js +3 -0
  262. package/.next/standalone/.next/server/chunks/ssr/app_import_page_1fmu6_l.js +1 -1
  263. package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +2 -2
  264. package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +4 -4
  265. package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
  266. package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
  267. package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +3 -0
  268. package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
  269. package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +1 -1
  270. package/.next/standalone/.next/server/chunks/ssr/node_modules_1f8t_rp._.js +23 -0
  271. package/.next/standalone/.next/server/chunks/ssr/node_modules_1nkgb45._.js +2 -2
  272. package/.next/standalone/.next/server/chunks/ssr/{node_modules_01xbj_9._.js → node_modules_1wax83z._.js} +3 -3
  273. package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_00nap8h._.js → node_modules_next_dist_1bunoni._.js} +2 -2
  274. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__0pco7a6._.js +2 -2
  275. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  276. package/.next/standalone/.next/server/middleware-manifest.json +15 -7
  277. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  278. package/.next/standalone/.next/server/next-font-manifest.json +4 -0
  279. package/.next/standalone/.next/server/pages/404.html +1 -1
  280. package/.next/standalone/.next/server/pages/500.html +1 -1
  281. package/.next/standalone/.next/server/prefetch-hints.json +14 -0
  282. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  283. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  284. package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +1 -0
  285. package/.next/{static/chunks/34at5d2ifl62i.js → standalone/.next/static/chunks/0ngx9s6-zgshe.js} +5 -5
  286. package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +2 -0
  287. package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +1 -0
  288. package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +44 -0
  289. package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +1 -0
  290. package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +1 -0
  291. package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +1 -0
  292. package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +1 -0
  293. package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +16 -0
  294. package/.next/standalone/.next/static/chunks/2jz311xl1pp_8.js +1 -0
  295. package/.next/standalone/.next/static/chunks/2ot61qsv6_0eq.js +1 -0
  296. package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +2 -0
  297. package/.next/standalone/.next/static/frfHFnRYTA0Wjrw8oZJtY/_clientMiddlewareManifest.js +14 -0
  298. package/.next/standalone/AGENTS.md +10 -0
  299. package/.next/standalone/CHANGELOG.md +325 -0
  300. package/.next/standalone/CONTRIBUTING.md +14 -2
  301. package/.next/standalone/README.md +181 -53
  302. package/.next/standalone/SECURITY.md +120 -10
  303. package/.next/standalone/app/api/company-scores/legacy/route.js +32 -0
  304. package/.next/standalone/app/api/company-scores/route.js +20 -11
  305. package/.next/standalone/app/api/data/export/route.js +49 -0
  306. package/.next/standalone/app/api/data/import/route.js +83 -0
  307. package/.next/standalone/app/api/data/restart/route.js +37 -0
  308. package/.next/standalone/app/api/data/reveal/route.js +14 -0
  309. package/.next/standalone/app/api/data/route.js +39 -0
  310. package/.next/standalone/app/api/ingest/route.js +15 -47
  311. package/.next/standalone/app/api/scraper/route.js +268 -128
  312. package/.next/standalone/app/api/settings/route.js +58 -0
  313. package/.next/standalone/app/api/settings/sector-preview/route.js +38 -0
  314. package/.next/standalone/app/api/settings/sector-suggestions/route.js +20 -0
  315. package/.next/standalone/app/api/update/route.js +197 -24
  316. package/.next/standalone/app/avatars/[file]/route.js +4 -2
  317. package/.next/standalone/app/components/CompanyScores.js +28 -7
  318. package/.next/standalone/app/components/EmptyState.js +8 -0
  319. package/.next/standalone/app/components/ForceGraph.js +40 -36
  320. package/.next/standalone/app/components/LegacyScoresCard.js +129 -0
  321. package/.next/standalone/app/components/Sidebar.js +19 -18
  322. package/.next/standalone/app/components/UpdatePanel.js +317 -99
  323. package/.next/standalone/app/components/UserProvider.js +4 -3
  324. package/.next/standalone/app/components/settings/DataSection.js +437 -0
  325. package/.next/standalone/app/components/settings/SectorSection.js +445 -0
  326. package/.next/standalone/app/components/ui.js +62 -0
  327. package/.next/standalone/app/import/page.js +3 -3
  328. package/.next/standalone/app/launch/page.js +30 -20
  329. package/.next/standalone/app/layout.js +2 -2
  330. package/.next/standalone/app/page.js +15 -2
  331. package/.next/standalone/app/paths/page.js +13 -5
  332. package/.next/standalone/app/profile/page.js +41 -186
  333. package/.next/standalone/app/queue/page.js +8 -2
  334. package/.next/standalone/app/settings/page.js +96 -0
  335. package/.next/standalone/app/setup/page.js +35 -19
  336. package/.next/standalone/bin/args.mjs +44 -0
  337. package/.next/standalone/bin/six-degrees.mjs +16 -17
  338. package/.next/standalone/install.sh +1 -1
  339. package/.next/standalone/lib/companies.js +44 -119
  340. package/.next/standalone/lib/csv.js +61 -27
  341. package/.next/standalone/lib/data-export.js +170 -0
  342. package/.next/standalone/lib/data-folder.js +238 -0
  343. package/.next/standalone/lib/data-import.js +878 -0
  344. package/.next/standalone/lib/db-client.js +48 -3
  345. package/.next/standalone/lib/durable.js +73 -0
  346. package/.next/standalone/lib/gate.js +90 -1
  347. package/.next/standalone/lib/ingest.js +40 -0
  348. package/.next/standalone/lib/legacy-offer.js +185 -0
  349. package/.next/standalone/lib/legacy-scores.js +77 -0
  350. package/.next/standalone/lib/linkedin-limits.js +124 -1
  351. package/.next/standalone/lib/release.js +5 -2
  352. package/.next/standalone/lib/rpc.js +121 -13
  353. package/.next/standalone/lib/sample-stats.js +16 -0
  354. package/.next/standalone/lib/scan-progress.js +13 -0
  355. package/.next/standalone/lib/scan-state.js +53 -0
  356. package/.next/standalone/lib/scanner-python.js +685 -0
  357. package/.next/standalone/lib/scanner-setup.js +104 -0
  358. package/.next/standalone/lib/scoring.js +747 -138
  359. package/.next/standalone/lib/scraper-client.js +10 -6
  360. package/.next/standalone/lib/sector-directory.js +1532 -0
  361. package/.next/standalone/lib/sector-focus.js +163 -0
  362. package/.next/standalone/lib/sector-labels.js +81 -0
  363. package/.next/standalone/lib/settings-effects.js +59 -0
  364. package/.next/standalone/lib/settings.js +83 -0
  365. package/.next/standalone/lib/updater-job.js +838 -0
  366. package/.next/standalone/lib/updater.js +494 -0
  367. package/.next/standalone/middleware.js +25 -28
  368. package/.next/standalone/next.config.mjs +19 -3
  369. package/.next/standalone/package-lock.json +103 -9
  370. package/.next/standalone/package.json +12 -11
  371. package/.next/standalone/public/demo-data.json +1 -1
  372. package/.next/standalone/scripts/apply-update.sh +482 -0
  373. package/.next/standalone/scripts/build-app.mjs +251 -9
  374. package/.next/standalone/scripts/gen-synthetic.mjs +16 -1
  375. package/.next/standalone/scripts/readme_buttons.py +89 -0
  376. package/.next/standalone/scripts/requirements.txt +106 -4
  377. package/.next/standalone/scripts/screenshots.py +2 -0
  378. package/.next/standalone/scripts/test-release-server.mjs +143 -0
  379. package/.next/standalone/server.js +1 -1
  380. package/.next/static/chunks/06x3jiiz96m5t.js +1 -0
  381. package/.next/{standalone/.next/static/chunks/34at5d2ifl62i.js → static/chunks/0ngx9s6-zgshe.js} +5 -5
  382. package/.next/static/chunks/0q-_khndfxubv.js +2 -0
  383. package/.next/static/chunks/1c79veqedvubt.js +1 -0
  384. package/.next/static/chunks/1chp3nx45meg5.js +44 -0
  385. package/.next/static/chunks/1irqj0lf-fu3d.js +1 -0
  386. package/.next/static/chunks/1uadqylrod5_v.js +1 -0
  387. package/.next/static/chunks/23u0zclgwpc4d.js +1 -0
  388. package/.next/static/chunks/289ktj97di6zg.js +1 -0
  389. package/.next/static/chunks/2b3lmf8e6uj8m.js +16 -0
  390. package/.next/static/chunks/2jz311xl1pp_8.js +1 -0
  391. package/.next/static/chunks/2ot61qsv6_0eq.js +1 -0
  392. package/.next/static/chunks/3npq5yd7c4dmn.js +2 -0
  393. package/.next/static/frfHFnRYTA0Wjrw8oZJtY/_clientMiddlewareManifest.js +14 -0
  394. package/CHANGELOG.md +325 -0
  395. package/README.md +181 -53
  396. package/SECURITY.md +120 -10
  397. package/bin/args.mjs +44 -0
  398. package/bin/six-degrees.mjs +16 -17
  399. package/lib/companies.js +44 -119
  400. package/lib/csv.js +61 -27
  401. package/lib/data-export.js +170 -0
  402. package/lib/data-folder.js +238 -0
  403. package/lib/data-import.js +878 -0
  404. package/lib/db-client.js +48 -3
  405. package/lib/durable.js +73 -0
  406. package/lib/gate.js +90 -1
  407. package/lib/ingest.js +40 -0
  408. package/lib/legacy-offer.js +185 -0
  409. package/lib/legacy-scores.js +77 -0
  410. package/lib/linkedin-limits.js +124 -1
  411. package/lib/release.js +5 -2
  412. package/lib/rpc.js +121 -13
  413. package/lib/sample-stats.js +16 -0
  414. package/lib/scan-progress.js +13 -0
  415. package/lib/scan-state.js +53 -0
  416. package/lib/scanner-python.js +685 -0
  417. package/lib/scanner-setup.js +104 -0
  418. package/lib/scoring.js +747 -138
  419. package/lib/scraper-client.js +10 -6
  420. package/lib/sector-directory.js +1532 -0
  421. package/lib/sector-focus.js +163 -0
  422. package/lib/sector-labels.js +81 -0
  423. package/lib/settings-effects.js +59 -0
  424. package/lib/settings.js +83 -0
  425. package/lib/updater-job.js +838 -0
  426. package/lib/updater.js +494 -0
  427. package/package.json +12 -11
  428. package/public/demo-data.json +1 -1
  429. package/scripts/requirements.txt +106 -4
  430. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jrmmj-._.js +0 -150
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qx548g._.js +0 -151
  432. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1an3leo._.js +0 -150
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1m8zedk._.js +0 -155
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1zor0ys._.js +0 -3
  435. package/.next/standalone/.next/server/chunks/_0_rp-01._.js +0 -3
  436. package/.next/standalone/.next/server/chunks/_0hzdk79._.js +0 -3
  437. package/.next/standalone/.next/server/chunks/_0ow7u5r._.js +0 -3
  438. package/.next/standalone/.next/server/chunks/_0t0zc2d._.js +0 -3
  439. package/.next/standalone/.next/server/chunks/_0wa631d._.js +0 -3
  440. package/.next/standalone/.next/server/chunks/_13ccnao._.js +0 -3
  441. package/.next/standalone/.next/server/chunks/_13es063._.js +0 -3
  442. package/.next/standalone/.next/server/chunks/_142872j._.js +0 -3
  443. package/.next/standalone/.next/server/chunks/_18wsb_a._.js +0 -8
  444. package/.next/standalone/.next/server/chunks/_1e-4h5h._.js +0 -3
  445. package/.next/standalone/.next/server/chunks/_1gvvd7n._.js +0 -158
  446. package/.next/standalone/.next/server/chunks/_1moda66._.js +0 -3
  447. package/.next/standalone/.next/server/chunks/_1p6ghzv._.js +0 -3
  448. package/.next/standalone/.next/server/chunks/_1xmmi_v._.js +0 -3
  449. package/.next/standalone/.next/server/chunks/_1z-yrlf._.js +0 -3
  450. package/.next/standalone/.next/server/chunks/ssr/_0bf3x4q._.js +0 -3
  451. package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +0 -4
  452. package/.next/standalone/.next/static/N9wokeIiC9rUIGmzBhj6T/_clientMiddlewareManifest.js +0 -6
  453. package/.next/standalone/.next/static/chunks/1odow92u6wxz0.js +0 -1
  454. package/.next/standalone/.next/static/chunks/1wb_is4wsdm-u.js +0 -1
  455. package/.next/standalone/.next/static/chunks/1zmpcmngg5c7-.js +0 -2
  456. package/.next/standalone/.next/static/chunks/220-ne82aus0c.js +0 -44
  457. package/.next/standalone/.next/static/chunks/2rrf5kzx2fhin.js +0 -2
  458. package/.next/standalone/.next/static/chunks/2s_k9x4d0gi9h.js +0 -16
  459. package/.next/standalone/.next/static/chunks/3hsi90cejq2dg.js +0 -1
  460. package/.next/standalone/.next/static/chunks/3pfyuezyqd9ob.js +0 -1
  461. package/.next/standalone/.next/static/chunks/3ts-_4i6bfkh2.js +0 -1
  462. package/.next/standalone/scripts/score-connections.sql +0 -80
  463. package/.next/standalone/scripts/score_new_connections.sql +0 -77
  464. package/.next/static/N9wokeIiC9rUIGmzBhj6T/_clientMiddlewareManifest.js +0 -6
  465. package/.next/static/chunks/1odow92u6wxz0.js +0 -1
  466. package/.next/static/chunks/1wb_is4wsdm-u.js +0 -1
  467. package/.next/static/chunks/1zmpcmngg5c7-.js +0 -2
  468. package/.next/static/chunks/220-ne82aus0c.js +0 -44
  469. package/.next/static/chunks/2rrf5kzx2fhin.js +0 -2
  470. package/.next/static/chunks/2s_k9x4d0gi9h.js +0 -16
  471. package/.next/static/chunks/3hsi90cejq2dg.js +0 -1
  472. package/.next/static/chunks/3pfyuezyqd9ob.js +0 -1
  473. package/.next/static/chunks/3ts-_4i6bfkh2.js +0 -1
  474. package/scripts/score_new_connections.sql +0 -77
  475. /package/.next/standalone/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_buildManifest.js +0 -0
  476. /package/.next/standalone/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_ssgManifest.js +0 -0
  477. /package/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_buildManifest.js +0 -0
  478. /package/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_ssgManifest.js +0 -0
@@ -1,4 +1,106 @@
1
- playwright>=1.40.0
2
- requests>=2.31.0
3
- Pillow>=10.0.0
4
- tzdata>=2024.1; sys_platform == "win32"
1
+ # The scanner's Python packages (scripts/scrape.py), pinned to exact versions,
2
+ # with the SHA-256 of every file pip may install for each. The same file goes
3
+ # into the Python inside the Mac app when it is built (scripts/build-app.mjs),
4
+ # and into the scanner's own environment when the Scan page sets one up.
5
+ #
6
+ # To change a version, edit its line and run
7
+ # node scripts/pin-python-packages.mjs
8
+ # which rewrites the hashes from PyPI. Every dependency is listed: once hashes
9
+ # are used, pip refuses anything that isn't.
10
+
11
+ --only-binary :all:
12
+ --require-hashes
13
+
14
+ # Drives the user's own Google Chrome (channel="chrome"), so no browser is downloaded.
15
+ # Its wheel carries Playwright's driver, which it needs.
16
+ playwright==1.63.0 \
17
+ --hash=sha256:354e15b29503565fc598b89f16fbe070459343bef9d7498a93e304864000c6a7 \
18
+ --hash=sha256:84c540759e8e7f01e690e197e04060f48899d37cea322299f255843273d3385d \
19
+ --hash=sha256:ad21bc07516b187965a7521c5cf0df0bd657b17482eaad74335272d35a2b07de \
20
+ --hash=sha256:c89fc4736502a1f0fac2c8ca5d10c0cbc1c669f1f4774a2d8507a43140e4d53f \
21
+ --hash=sha256:fd1aa00631d44d55e56e0975bf3f3f285fac4a9fd2813183f0c12a488f1a1b24
22
+
23
+ # Playwright's own dependencies: greenlet, pyee, and pyee's typing-extensions.
24
+ greenlet==3.5.6 \
25
+ --hash=sha256:1c20ea32a73d17b9b60e3371240e17b0068120c98a5ec01a224a7dd8c89733ba \
26
+ --hash=sha256:45bfd2b51e38aaa5f9849f114d9c7c1d75f69187c849b3549cd64c465283abfa \
27
+ --hash=sha256:8cddea1b8339451c2fb3388e138347b6126744f33b611bdb55b7357361cfef46 \
28
+ --hash=sha256:95e7c44d072db623a1aab04ce488cf9533294a77ed9d072cd503a3596f4106ac \
29
+ --hash=sha256:975736b002ed080d124cf81a79cb7e05cb26d6b3f5c7a7b651c0fcce70353aa1 \
30
+ --hash=sha256:9a09d59bef1db94f384b5bcc2d523694d338f3df6b757aeeaf7baca5d0c0be88 \
31
+ --hash=sha256:a5876d0a60355af98d535c47f6cd6eb0f8a432396dab26845d380b92f8412422 \
32
+ --hash=sha256:a6a4b98a9132e0f45c9fc245a63894cfd8c45fb7a0d6bffc5eab3ec327cf7324 \
33
+ --hash=sha256:b7d501d5eb5d4f67207df364752ad697465b834268744be7581c18d81d35d41d \
34
+ --hash=sha256:c59acfa8eb73a1e0d484392dc002bdf001fd4ce73394e0132df3d1ab6093d7cb \
35
+ --hash=sha256:c75116c9de79949de23006e2d9b35ee82874c594fcf5c0311b439acaa14b8441 \
36
+ --hash=sha256:e85880b538e59a59f55117b81f208a6660ad5ac328aad9305f812d9b8bc67a0f \
37
+ --hash=sha256:eed88b64a5e5da72d6a71cdc5aaeefaa5ced9b748f8d19f89800b339961dad39 \
38
+ --hash=sha256:f96f0e30b5a95c7631b12bfe214cbc90ec8fe8cfa36920596c10514a65743519 \
39
+ --hash=sha256:f98e8215e172f567ce80eeaed9107fb4d32b6c44f26983d9b8334658136a205a
40
+
41
+ pyee==13.0.1 \
42
+ --hash=sha256:af2f8fede4171ef667dfded53f96e2ed0d6e6bd7ee3bb46437f77e3b57689228
43
+
44
+ typing-extensions==4.16.0 \
45
+ --hash=sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8
46
+
47
+ requests==2.34.2 \
48
+ --hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0
49
+
50
+ # requests' own dependencies: certifi, charset-normalizer, idna, urllib3.
51
+ certifi==2026.7.22 \
52
+ --hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775
53
+
54
+ charset-normalizer==3.5.1 \
55
+ --hash=sha256:15f024313246a4ed976c60f440bb8d257815513a681d212ff74fd46f7d715a90 \
56
+ --hash=sha256:2f06b7eae9dbe77fe1d644ca244dad508de8d302870a43f3c559b521270938a0 \
57
+ --hash=sha256:41876ee62a3dddf48ff1121ad8f0798032aa03f2fd35f21f34a4cab14f18d8d2 \
58
+ --hash=sha256:4582c27e8c889d64811987b5967fbd3ae0c823fe1fd933b543d55ac20bb475fa \
59
+ --hash=sha256:5b6d1386bf0096d26d3a863dc0a487a5b4eb9aa93cf5ba69683d29dde6b9d60f \
60
+ --hash=sha256:62b55f6722735a6c472f88361cde6640608773d9443cebdbb51abf436a1fcdd3 \
61
+ --hash=sha256:6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6 \
62
+ --hash=sha256:94d78ecec2605a8d0398b0f365d5f12a63248438516f5dac536a5eff7337df4a \
63
+ --hash=sha256:96eefc178f8636b9c760c5829345307fd81cfae9ab1e80997dbddeb0f54ee9a3 \
64
+ --hash=sha256:a6dac12ff6b846103483683f60c5f8fee205121adc58ffd87e90a90a3af69e99 \
65
+ --hash=sha256:aa2bb0b37202dca27175591f761108b5d34096ade1191ffe4808bdf6b1571488 \
66
+ --hash=sha256:b9af956078716df40d985fb0dfeb2c2120c5ca92ba4ff4b388acfd01cdc14d08 \
67
+ --hash=sha256:c428c6c31eb5f4277d7f8eccaf767fbd548ddd5ce3c8b4f4cbbfab3d96b5904c \
68
+ --hash=sha256:c7b742bf31c88566b4bb6335a7f393bb322e580b6bb98df7bd0c25e6e3519ce8 \
69
+ --hash=sha256:cee5dd7c6fb5dd52a0fe2a740f9bc6e3593f5f8b1788bde49de02086f30182b2 \
70
+ --hash=sha256:d1ee1e296209fdce05b81b663250eefa02213a2da7b41bf26f7829b8ba3545aa \
71
+ --hash=sha256:e90251c0c7bdd54a100a0dce3c07b7e637278c93af29dbf78ebb89a58c4bac7d \
72
+ --hash=sha256:e9fbdce1e47394b09bc9f26ab117dfc8d6491977a11d86f592bb42c779db2fda \
73
+ --hash=sha256:eda059b6bc8bc0812d626fd91a7ce01bf583df0a61296eff390fd94141a34e30
74
+
75
+ idna==3.20 \
76
+ --hash=sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c
77
+
78
+ urllib3==2.8.0 \
79
+ --hash=sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3
80
+
81
+ # Profile photos (scripts/image_store.py).
82
+ pillow==12.3.0 \
83
+ --hash=sha256:00808c5e14ef63ac5161091d242999076604ff74b883423a11e5d7bbb38bf756 \
84
+ --hash=sha256:0847a763afefb695bc912d7c131e7e0632d4edc1d8698f58ddabec8e46b8b6d3 \
85
+ --hash=sha256:23d27a3e0307ec2244cc51e7287b919aa68d097504ebe19df4e76a98a3eea5bd \
86
+ --hash=sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b \
87
+ --hash=sha256:37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6 \
88
+ --hash=sha256:5594fc43d548a7ed94949d139aa1341b270f1863f11cfd37f5a6c8b778a6b67f \
89
+ --hash=sha256:6c0016e7b354317c4e9e525b937ac8596c38d2d232b419529b9cd7a1cd46e39a \
90
+ --hash=sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91 \
91
+ --hash=sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7eb15a66 \
92
+ --hash=sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965 \
93
+ --hash=sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8 \
94
+ --hash=sha256:bcb46e2f9feff8d06323983bd83ed00c201fdcab3d74973e7072a889b3979fcd \
95
+ --hash=sha256:bcc33feacfaefce60c12fd500a277533bdc02b10a19f7f6d348763d8140bbba7 \
96
+ --hash=sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f4089111fb35 \
97
+ --hash=sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9 \
98
+ --hash=sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0 \
99
+ --hash=sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321 \
100
+ --hash=sha256:f0606c8bf2cdefea14a43530f7657cbbb7ecf1c4222512492ef4a4434a9501ec \
101
+ --hash=sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65 \
102
+ --hash=sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7
103
+
104
+ # Windows only: Python there has no time zone database (docs/brain/DESKTOP.md D3).
105
+ tzdata==2026.4 ; sys_platform == "win32" \
106
+ --hash=sha256:c2169a8b0a7a5e9674da5a135ccdfb2b3e671b333ed9fed17b41f73c34476e81
@@ -1,150 +0,0 @@
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"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},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"))},88431,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(2157),s=e.i(60526),i=e.i(50227);let n=`-- 6 Degrees — local SQLite schema.
2
- --
3
- -- Ported from the Postgres schema this project ran on before it went
4
- -- local-first. Type mapping: uuid -> TEXT (generated in JS), jsonb and
5
- -- text[] -> TEXT holding JSON, boolean -> INTEGER 0/1, timestamptz and date
6
- -- -> TEXT holding ISO-8601. lib/db.js encodes and decodes these so route
7
- -- code sees the same shapes it always did.
8
-
9
- PRAGMA journal_mode = WAL;
10
- PRAGMA foreign_keys = ON;
11
-
12
- CREATE TABLE IF NOT EXISTS users (
13
- id TEXT PRIMARY KEY,
14
- name TEXT NOT NULL,
15
- headline TEXT,
16
- role TEXT,
17
- company TEXT,
18
- industry TEXT,
19
- sectors TEXT, -- JSON array
20
- goals TEXT, -- JSON array
21
- linkedin_url TEXT,
22
- company_prestige_config TEXT, -- JSON object
23
- created_at TEXT DEFAULT (datetime('now'))
24
- );
25
-
26
- CREATE TABLE IF NOT EXISTS linkedin_connections (
27
- id TEXT PRIMARY KEY,
28
- degree INTEGER NOT NULL DEFAULT 1,
29
- source_connection_id TEXT,
30
- name TEXT NOT NULL,
31
- headline TEXT,
32
- company TEXT,
33
- role TEXT,
34
- profile_url TEXT NOT NULL,
35
- profile_image_url TEXT,
36
- connected_date TEXT,
37
- power_score REAL DEFAULT 0,
38
- seniority_score REAL DEFAULT 0,
39
- company_prestige_score REAL DEFAULT 0,
40
- influence_signals TEXT DEFAULT '{}', -- JSON
41
- tier TEXT,
42
- is_catalyst INTEGER DEFAULT 0, -- boolean
43
- catalyst_score REAL DEFAULT 0,
44
- circle_power REAL DEFAULT 0,
45
- circle_s_count INTEGER DEFAULT 0,
46
- circle_a_count INTEGER DEFAULT 0,
47
- circle_elite_pct REAL DEFAULT 0,
48
- unlock_status TEXT DEFAULT 'locked',
49
- unlocked_from_bridge_id TEXT,
50
- unlocked_from_name TEXT,
51
- outreach_status TEXT,
52
- scanned_company TEXT,
53
- score_why TEXT,
54
- user_id TEXT,
55
- image_refreshed_at TEXT,
56
- created_at TEXT DEFAULT (datetime('now')),
57
- updated_at TEXT DEFAULT (datetime('now'))
58
- );
59
-
60
- -- Mirrors the Postgres uniqueness rule: one row per person, per bridge, per
61
- -- user. COALESCE keeps NULLs from defeating the constraint the way they would
62
- -- in a plain UNIQUE index.
63
- CREATE UNIQUE INDEX IF NOT EXISTS idx_connections_unique_per_user_bridge
64
- ON linkedin_connections (
65
- profile_url,
66
- COALESCE(source_connection_id, ''),
67
- COALESCE(user_id, '')
68
- );
69
-
70
- CREATE INDEX IF NOT EXISTS idx_connections_degree ON linkedin_connections(degree);
71
- CREATE INDEX IF NOT EXISTS idx_connections_user ON linkedin_connections(user_id);
72
- CREATE INDEX IF NOT EXISTS idx_connections_power ON linkedin_connections(power_score DESC);
73
- CREATE INDEX IF NOT EXISTS idx_connections_source ON linkedin_connections(source_connection_id);
74
- CREATE INDEX IF NOT EXISTS idx_connections_tier ON linkedin_connections(tier);
75
-
76
- CREATE TABLE IF NOT EXISTS user_stats (
77
- id TEXT PRIMARY KEY,
78
- xp INTEGER DEFAULT 0,
79
- level INTEGER DEFAULT 1,
80
- streak_weeks INTEGER DEFAULT 0,
81
- last_scrape_at TEXT,
82
- last_active_at TEXT DEFAULT (datetime('now')),
83
- created_at TEXT DEFAULT (datetime('now'))
84
- );
85
-
86
- CREATE TABLE IF NOT EXISTS notifications (
87
- id TEXT PRIMARY KEY,
88
- user_id TEXT,
89
- type TEXT NOT NULL,
90
- title TEXT NOT NULL,
91
- message TEXT,
92
- icon TEXT,
93
- seen INTEGER DEFAULT 0, -- boolean
94
- data TEXT DEFAULT '{}', -- JSON
95
- created_at TEXT DEFAULT (datetime('now'))
96
- );
97
-
98
- CREATE INDEX IF NOT EXISTS idx_notifications_user ON notifications(user_id, created_at DESC);
99
-
100
- CREATE TABLE IF NOT EXISTS queue_items (
101
- id TEXT PRIMARY KEY,
102
- connection_id TEXT,
103
- profile_url TEXT NOT NULL UNIQUE,
104
- name TEXT NOT NULL,
105
- status TEXT DEFAULT 'suggested',
106
- xp_reward INTEGER DEFAULT 10,
107
- bridge_name TEXT,
108
- created_at TEXT DEFAULT (datetime('now')),
109
- sent_at TEXT,
110
- accepted_at TEXT,
111
- scanned_at TEXT
112
- );
113
-
114
- -- Company scores you set yourself (lib/scoring.js): they win over the curated
115
- -- list and over the network estimate. One row per canonical company name.
116
- CREATE TABLE IF NOT EXISTS company_scores (
117
- id TEXT PRIMARY KEY,
118
- name TEXT NOT NULL UNIQUE,
119
- score REAL NOT NULL,
120
- updated_at TEXT DEFAULT (datetime('now'))
121
- );
122
-
123
- -- Small key/value facts about this install, e.g. which scoring model the
124
- -- stored scores were computed with.
125
- CREATE TABLE IF NOT EXISTS app_meta (
126
- key TEXT PRIMARY KEY,
127
- value TEXT
128
- );
129
-
130
- -- Referenced by app/api/setup-profile but absent from the old cloud schema,
131
- -- so it is created here rather than inherited.
132
- CREATE TABLE IF NOT EXISTS user_profile (
133
- id TEXT PRIMARY KEY,
134
- user_id TEXT,
135
- name TEXT,
136
- headline TEXT,
137
- role TEXT,
138
- company TEXT,
139
- industry TEXT,
140
- sectors TEXT, -- JSON array
141
- goals TEXT, -- JSON array
142
- linkedin_url TEXT,
143
- company_prestige_config TEXT, -- JSON object
144
- created_at TEXT DEFAULT (datetime('now')),
145
- updated_at TEXT DEFAULT (datetime('now'))
146
- );
147
- `,a="0.2.0";function o(){let e=process.env.SIX_DEGREES_HOME||i.default.join((0,s.homedir)(),".six-degrees");return(0,r.existsSync)(e)||(0,r.mkdirSync)(e,{recursive:!0}),e}let l={users:["sectors","goals","company_prestige_config"],user_profile:["sectors","goals","company_prestige_config"],linkedin_connections:["influence_signals"],notifications:["data"],queue_items:[],user_stats:[]},T={linkedin_connections:["is_catalyst"],notifications:["seen"],users:[],user_profile:[],queue_items:[],user_stats:[]},c=null,d=[["linkedin_connections","score_why","TEXT"]],u="auto-before-";e.s(["dataDir",0,o,"decodeRow",0,function(e,t){if(!t)return t;let r={...t};for(let t of l[e]||[])if("string"==typeof r[t])try{r[t]=JSON.parse(r[t])}catch{}for(let t of T[e]||[])(0===r[t]||1===r[t])&&(r[t]=!!r[t]);return r},"encodeValue",0,function(e,t,r){return void 0===r?null:(l[e]||[]).includes(t)?null===r?null:JSON.stringify(r):(T[e]||[]).includes(t)?null===r?null:+!!r:"boolean"==typeof r?+!!r:null!==r&&"object"==typeof r?JSON.stringify(r):r},"getDb",0,function(){if(c)return c;let e=process.env.SIX_DEGREES_DB||i.default.join(o(),"six-degrees.sqlite");c=new t.DatabaseSync(e);try{let t=function(e,{dir:t,version:s,keep:n=5,now:a=new Date}){let o=i.default.join(t,"app-version"),l=null;try{l=(0,r.readFileSync)(o,"utf8").trim()}catch{}if(l===s)return null;let T=null;if(e.prepare("SELECT count(*) AS n FROM sqlite_master WHERE type = 'table' AND name = 'linkedin_connections'").get().n>0){let o=i.default.join(t,"backups");(0,r.mkdirSync)(o,{recursive:!0});let l=a.toISOString().replace(/[:.]/g,"-");for(let{f:t}of(T=i.default.join(o,`${u}${s}-${l}.sqlite`),e.exec(`VACUUM INTO '${T.replace(/'/g,"''")}'`),(0,r.readdirSync)(o).filter(e=>e.startsWith(u)&&e.endsWith(".sqlite")).map(e=>({f:e,at:(0,r.statSync)(i.default.join(o,e)).mtimeMs})).sort((e,t)=>t.at-e.at||t.f.localeCompare(e.f)).slice(n)))(0,r.rmSync)(i.default.join(o,t),{force:!0})}return(0,r.writeFileSync)(o,`${s}
148
- `),T}(c,{dir:i.default.dirname(e),version:a});t&&console.log(`Six Degrees ${a}: backed up your data first → ${t}`)}catch(e){console.error(`Six Degrees: could not back up your data before ${a} (will try again next start): ${e.message}`)}return c.exec(n),function(e){for(let[t,r,s]of d)e.prepare(`PRAGMA table_info(${t})`).all().some(e=>e.name===r)||e.exec(`ALTER TABLE ${t} ADD COLUMN ${r} ${s}`)}(c),c},"newId",0,function(){return crypto.randomUUID()},"nowIso",0,function(){return new Date().toISOString()}],88431)},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 i{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 i=Array.isArray(r)?r:[];return i.length?this._filters.push({sql:`"${e}" IN (${i.map(()=>"?").join(", ")})`,params:i.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,i){return s(e,"column"),"is"===r&&null===i?this._filters.push({sql:`"${e}" IS NOT NULL`,params:[]}):this._filters.push({sql:`NOT ("${e}" = ?)`,params:[(0,t.encodeValue)(this.table,e,i)]}),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 i=e.prepare(r).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return this._single?i.length?{data:i[0],error:null}:{data:null,error:{message:"No rows found",code:"PGRST116"}}:{data:i,error:null}}if("insert"===this._op||"upsert"===this._op){let s=[];for(let i of this._payload){let n={id:i.id||(0,t.newId)(),...i};n.id||(n.id=(0,t.newId)());let a=Object.keys(n).filter(e=>r.test(e)),o=a.map(e=>(0,t.encodeValue)(this.table,e,n[e])),l=a.map(()=>"?").join(", "),T=a.map(e=>`"${e}"`).join(", "),c=`INSERT INTO "${this.table}" (${T}) VALUES (${l})`;if("upsert"===this._op)if(this._ignoreDuplicates)c+=" ON CONFLICT DO NOTHING";else{let e=this._onConflict?this._onConflict.split(",").map(e=>`"${e.trim()}"`).join(", "):'"id"',t=a.filter(e=>"id"!==e).map(e=>`"${e}" = excluded."${e}"`).join(", ");c+=` ON CONFLICT (${e}) DO UPDATE SET ${t||'"id" = "id"'}`}try{e.prepare(c).run(...o);let r=e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(n.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 i={...this._payload};"updated_at"in i==!1&&"linkedin_connections"===this.table&&(i.updated_at=(0,t.nowIso)());let n=Object.keys(i).filter(e=>r.test(e));if(!n.length)return{data:[],error:null};let a=n.map(e=>`"${e}" = ?`).join(", "),o=n.map(e=>(0,t.encodeValue)(this.table,e,i[e])),l=`UPDATE "${this.table}" SET ${a}${s.sql}`;try{let r=e.prepare(`SELECT id FROM "${this.table}"${s.sql}`).all(...s.params);e.prepare(l).run(...o,...s.params);let i=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:i[0]??null,error:i.length?null:{message:"No rows updated"}};return{data:i,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 i(e),async rpc(t,r={}){let{runRpc:s}=await e.A(35862);return s(t,r)}}])}];
149
-
150
- //# sourceMappingURL=%5Broot-of-the-server%5D__0jrmmj-._.js.map
@@ -1,151 +0,0 @@
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"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},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"))},31777,e=>{"use strict";var t=e.i(88431),r=e.i(33471),n=e.i(68835),a=e.i(73253);async function o(){try{let e=(0,t.getDb)(),o=e.prepare("SELECT id, degree, headline, role, company, scanned_company, profile_url, tier FROM linkedin_connections").all(),i=(0,r.companyOverrides)(e),s=new Map,l=new Set;for(let e of o)for(let t of(0,n.rolesWithCompanies)(e)){if(!t.company||t.former)continue;let r=`${t.company}|${e.profile_url||e.id}`;if(l.has(r))continue;l.add(r);let n=s.get(t.company)||{name:t.company,people:0,d1:0,senior:0,S:0,A:0,headline:e.headline};n.people++,1===e.degree&&n.d1++,t.title.level>=4&&n.senior++,"S"===e.tier&&n.S++,"A"===e.tier&&n.A++,s.set(t.company,n)}let c=[...s.values()].map(e=>{let t=(0,a.industryOf)(e.name,e.headline),{score:r,source:o}=(0,n.companyScore)(e.name,{overrides:i,headcount:e.people,industry:t.key}),s=n.KNOWN_COMPANIES.find(([t])=>t===e.name);return{...e,headline:void 0,score:r,source:o,suggested:s?s[1]:null,industry:{key:t.key,label:t.label,color:t.color}}}).sort((e,t)=>t.people-e.people||t.score-e.score);return Response.json({companies:c})}catch(e){return Response.json({error:e.message},{status:500})}}async function i(e){try{let{name:n,score:a}=await e.json();if(!n||"string"!=typeof n)return Response.json({error:"name is required"},{status:400});let o=(0,t.getDb)();if(null==a||""===a)o.prepare("DELETE FROM company_scores WHERE name = ?").run(n);else{let e=Number(a);if(!Number.isFinite(e)||e<1||e>10)return Response.json({error:"score must be 1–10"},{status:400});o.prepare(`INSERT INTO company_scores (id, name, score, updated_at) VALUES (?, ?, ?, ?)
2
- ON CONFLICT(name) DO UPDATE SET score = excluded.score, updated_at = excluded.updated_at`).run((0,t.newId)(),n,e,(0,t.nowIso)())}let i=(0,r.rescoreAll)();return Response.json({success:!0,...i})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["GET",0,o,"POST",0,i])},69e3,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),o=e.i(61916),i=e.i(74677),s=e.i(69741),l=e.i(16795),c=e.i(87718),d=e.i(95169),u=e.i(47587),T=e.i(66012),E=e.i(70101),p=e.i(26937),_=e.i(10372),m=e.i(93695);e.i(52474);var f=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/company-scores/route",pathname:"/api/company-scores",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/company-scores/route.js",nextConfigOutput:"standalone",userland:()=>e.r(31777),...{}}),{workAsyncStorage:h,workUnitAsyncStorage:A,serverHooks:y}=R;async function g(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/api/company-scores/route";h=h.replace(/\/index$/,"")||"/";let A=await R.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,deploymentId:g,params:N,nextConfig:S,parsedUrl:X,isDraftMode:x,prerenderManifest:I,routerServerContext:O,isOnDemandRevalidate:L,revalidateOnlyGenerated:w,resolvedPathname:v,clientReferenceManifest:C,serverActionsManifest:D}=A,U=(0,s.normalizeAppPath)(h),b=!!(I.dynamicRoutes[U]||I.routes[v]),F=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,X,!1):t.end("This page could not be found"),null);if(b&&!x){let e=!!I.routes[v],t=I.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await F();throw new m.NoFallbackError}}let k=null;!b||R.isDev||x||(k="/index"===(k=v)?"/":k);let P=!0===R.isDev||!b,q=b&&!P;D&&C&&(0,i.setManifestsSingleton)({page:h,clientReferenceManifest:C,serverActionsManifest:D});let j=e.method||"GET",M=(0,o.getTracer)(),H=M.getActiveScopeSpan(),$=!!(null==O?void 0:O.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,S,I,G);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:N,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts,useCacheTimeout:S.experimental.useCacheTimeout},cacheComponents:!!S.cacheComponents,validationLevel:S.experimental.instantInsights.validationLevel,supportsDynamicResponse:P,incrementalCache:K,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:S.cacheLife,staticPageGenerationTimeout:S.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>R.onRequestError(e,t,n,a,O)},sharedContext:{buildId:y,deploymentId:g}},Y=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(Y,(0,c.signalFromNodeResponse)(t)),V=async({previousCacheEntry:r})=>{try{if(!G&&L&&w&&!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(W,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let i=B.renderOpts.collectedTags;if(!b)return await (0,T.sendResponse)(Y,J,a,o),null;{let e=await a.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[_.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>=_.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,n=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=_.INFINITE_CACHE?!1!==r&&r>0?S.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:f.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:h,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,O),t}},Q=async(a,i)=>{try{var s,l;let a=await R.handleResponse({req:e,nextConfig:S,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:w,responseGenerator:V,waitUntil:n.waitUntil,isMinimalMode:G});if(!b)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==f.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",L?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,E.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&b||o.delete(_.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,p.getCacheControlHeader)(a.cacheControl)),await (0,T.sendResponse)(Y,J,new Response(a.value.body,{headers:o,status:a.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:L})},!1,O),b)throw t;await (0,T.sendResponse)(Y,J,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:o.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=M.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")||U,s=`${j} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),i&&i!==a&&(i.setAttribute("http.route",n),i.updateName(s))})()}};if($&&H)await Q(H,void 0);else{let t=M.getActiveScopeSpan();await M.withPropagatedContext(e.headers,()=>M.trace(d.BaseServerSpan.handleRequest,{spanName:`${j} ${h}`,kind:o.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},e=>Q(e,t)),void 0,!$)}}e.s(["handler",0,g,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:h,workUnitAsyncStorage:A})},"routeModule",0,R,"serverHooks",0,y,"workAsyncStorage",0,h,"workUnitAsyncStorage",0,A])},88431,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(2157),n=e.i(60526),a=e.i(50227);let o=`-- 6 Degrees — local SQLite schema.
3
- --
4
- -- Ported from the Postgres schema this project ran on before it went
5
- -- local-first. Type mapping: uuid -> TEXT (generated in JS), jsonb and
6
- -- text[] -> TEXT holding JSON, boolean -> INTEGER 0/1, timestamptz and date
7
- -- -> TEXT holding ISO-8601. lib/db.js encodes and decodes these so route
8
- -- code sees the same shapes it always did.
9
-
10
- PRAGMA journal_mode = WAL;
11
- PRAGMA foreign_keys = ON;
12
-
13
- CREATE TABLE IF NOT EXISTS users (
14
- id TEXT PRIMARY KEY,
15
- name TEXT NOT NULL,
16
- headline TEXT,
17
- role TEXT,
18
- company TEXT,
19
- industry TEXT,
20
- sectors TEXT, -- JSON array
21
- goals TEXT, -- JSON array
22
- linkedin_url TEXT,
23
- company_prestige_config TEXT, -- JSON object
24
- created_at TEXT DEFAULT (datetime('now'))
25
- );
26
-
27
- CREATE TABLE IF NOT EXISTS linkedin_connections (
28
- id TEXT PRIMARY KEY,
29
- degree INTEGER NOT NULL DEFAULT 1,
30
- source_connection_id TEXT,
31
- name TEXT NOT NULL,
32
- headline TEXT,
33
- company TEXT,
34
- role TEXT,
35
- profile_url TEXT NOT NULL,
36
- profile_image_url TEXT,
37
- connected_date TEXT,
38
- power_score REAL DEFAULT 0,
39
- seniority_score REAL DEFAULT 0,
40
- company_prestige_score REAL DEFAULT 0,
41
- influence_signals TEXT DEFAULT '{}', -- JSON
42
- tier TEXT,
43
- is_catalyst INTEGER DEFAULT 0, -- boolean
44
- catalyst_score REAL DEFAULT 0,
45
- circle_power REAL DEFAULT 0,
46
- circle_s_count INTEGER DEFAULT 0,
47
- circle_a_count INTEGER DEFAULT 0,
48
- circle_elite_pct REAL DEFAULT 0,
49
- unlock_status TEXT DEFAULT 'locked',
50
- unlocked_from_bridge_id TEXT,
51
- unlocked_from_name TEXT,
52
- outreach_status TEXT,
53
- scanned_company TEXT,
54
- score_why TEXT,
55
- user_id TEXT,
56
- image_refreshed_at TEXT,
57
- created_at TEXT DEFAULT (datetime('now')),
58
- updated_at TEXT DEFAULT (datetime('now'))
59
- );
60
-
61
- -- Mirrors the Postgres uniqueness rule: one row per person, per bridge, per
62
- -- user. COALESCE keeps NULLs from defeating the constraint the way they would
63
- -- in a plain UNIQUE index.
64
- CREATE UNIQUE INDEX IF NOT EXISTS idx_connections_unique_per_user_bridge
65
- ON linkedin_connections (
66
- profile_url,
67
- COALESCE(source_connection_id, ''),
68
- COALESCE(user_id, '')
69
- );
70
-
71
- CREATE INDEX IF NOT EXISTS idx_connections_degree ON linkedin_connections(degree);
72
- CREATE INDEX IF NOT EXISTS idx_connections_user ON linkedin_connections(user_id);
73
- CREATE INDEX IF NOT EXISTS idx_connections_power ON linkedin_connections(power_score DESC);
74
- CREATE INDEX IF NOT EXISTS idx_connections_source ON linkedin_connections(source_connection_id);
75
- CREATE INDEX IF NOT EXISTS idx_connections_tier ON linkedin_connections(tier);
76
-
77
- CREATE TABLE IF NOT EXISTS user_stats (
78
- id TEXT PRIMARY KEY,
79
- xp INTEGER DEFAULT 0,
80
- level INTEGER DEFAULT 1,
81
- streak_weeks INTEGER DEFAULT 0,
82
- last_scrape_at TEXT,
83
- last_active_at TEXT DEFAULT (datetime('now')),
84
- created_at TEXT DEFAULT (datetime('now'))
85
- );
86
-
87
- CREATE TABLE IF NOT EXISTS notifications (
88
- id TEXT PRIMARY KEY,
89
- user_id TEXT,
90
- type TEXT NOT NULL,
91
- title TEXT NOT NULL,
92
- message TEXT,
93
- icon TEXT,
94
- seen INTEGER DEFAULT 0, -- boolean
95
- data TEXT DEFAULT '{}', -- JSON
96
- created_at TEXT DEFAULT (datetime('now'))
97
- );
98
-
99
- CREATE INDEX IF NOT EXISTS idx_notifications_user ON notifications(user_id, created_at DESC);
100
-
101
- CREATE TABLE IF NOT EXISTS queue_items (
102
- id TEXT PRIMARY KEY,
103
- connection_id TEXT,
104
- profile_url TEXT NOT NULL UNIQUE,
105
- name TEXT NOT NULL,
106
- status TEXT DEFAULT 'suggested',
107
- xp_reward INTEGER DEFAULT 10,
108
- bridge_name TEXT,
109
- created_at TEXT DEFAULT (datetime('now')),
110
- sent_at TEXT,
111
- accepted_at TEXT,
112
- scanned_at TEXT
113
- );
114
-
115
- -- Company scores you set yourself (lib/scoring.js): they win over the curated
116
- -- list and over the network estimate. One row per canonical company name.
117
- CREATE TABLE IF NOT EXISTS company_scores (
118
- id TEXT PRIMARY KEY,
119
- name TEXT NOT NULL UNIQUE,
120
- score REAL NOT NULL,
121
- updated_at TEXT DEFAULT (datetime('now'))
122
- );
123
-
124
- -- Small key/value facts about this install, e.g. which scoring model the
125
- -- stored scores were computed with.
126
- CREATE TABLE IF NOT EXISTS app_meta (
127
- key TEXT PRIMARY KEY,
128
- value TEXT
129
- );
130
-
131
- -- Referenced by app/api/setup-profile but absent from the old cloud schema,
132
- -- so it is created here rather than inherited.
133
- CREATE TABLE IF NOT EXISTS user_profile (
134
- id TEXT PRIMARY KEY,
135
- user_id TEXT,
136
- name TEXT,
137
- headline TEXT,
138
- role TEXT,
139
- company TEXT,
140
- industry TEXT,
141
- sectors TEXT, -- JSON array
142
- goals TEXT, -- JSON array
143
- linkedin_url TEXT,
144
- company_prestige_config TEXT, -- JSON object
145
- created_at TEXT DEFAULT (datetime('now')),
146
- updated_at TEXT DEFAULT (datetime('now'))
147
- );
148
- `,i="0.2.0";function s(){let e=process.env.SIX_DEGREES_HOME||a.default.join((0,n.homedir)(),".six-degrees");return(0,r.existsSync)(e)||(0,r.mkdirSync)(e,{recursive:!0}),e}let l={users:["sectors","goals","company_prestige_config"],user_profile:["sectors","goals","company_prestige_config"],linkedin_connections:["influence_signals"],notifications:["data"],queue_items:[],user_stats:[]},c={linkedin_connections:["is_catalyst"],notifications:["seen"],users:[],user_profile:[],queue_items:[],user_stats:[]},d=null,u=[["linkedin_connections","score_why","TEXT"]],T="auto-before-";e.s(["dataDir",0,s,"decodeRow",0,function(e,t){if(!t)return t;let r={...t};for(let t of l[e]||[])if("string"==typeof r[t])try{r[t]=JSON.parse(r[t])}catch{}for(let t of c[e]||[])(0===r[t]||1===r[t])&&(r[t]=!!r[t]);return r},"encodeValue",0,function(e,t,r){return void 0===r?null:(l[e]||[]).includes(t)?null===r?null:JSON.stringify(r):(c[e]||[]).includes(t)?null===r?null:+!!r:"boolean"==typeof r?+!!r:null!==r&&"object"==typeof r?JSON.stringify(r):r},"getDb",0,function(){if(d)return d;let e=process.env.SIX_DEGREES_DB||a.default.join(s(),"six-degrees.sqlite");d=new t.DatabaseSync(e);try{let t=function(e,{dir:t,version:n,keep:o=5,now:i=new Date}){let s=a.default.join(t,"app-version"),l=null;try{l=(0,r.readFileSync)(s,"utf8").trim()}catch{}if(l===n)return null;let c=null;if(e.prepare("SELECT count(*) AS n FROM sqlite_master WHERE type = 'table' AND name = 'linkedin_connections'").get().n>0){let s=a.default.join(t,"backups");(0,r.mkdirSync)(s,{recursive:!0});let l=i.toISOString().replace(/[:.]/g,"-");for(let{f:t}of(c=a.default.join(s,`${T}${n}-${l}.sqlite`),e.exec(`VACUUM INTO '${c.replace(/'/g,"''")}'`),(0,r.readdirSync)(s).filter(e=>e.startsWith(T)&&e.endsWith(".sqlite")).map(e=>({f:e,at:(0,r.statSync)(a.default.join(s,e)).mtimeMs})).sort((e,t)=>t.at-e.at||t.f.localeCompare(e.f)).slice(o)))(0,r.rmSync)(a.default.join(s,t),{force:!0})}return(0,r.writeFileSync)(s,`${n}
149
- `),c}(d,{dir:a.default.dirname(e),version:i});t&&console.log(`Six Degrees ${i}: backed up your data first → ${t}`)}catch(e){console.error(`Six Degrees: could not back up your data before ${i} (will try again next start): ${e.message}`)}return d.exec(o),function(e){for(let[t,r,n]of u)e.prepare(`PRAGMA table_info(${t})`).all().some(e=>e.name===r)||e.exec(`ALTER TABLE ${t} ADD COLUMN ${r} ${n}`)}(d),d},"newId",0,function(){return crypto.randomUUID()},"nowIso",0,function(){return new Date().toISOString()}],88431)}];
150
-
151
- //# sourceMappingURL=%5Broot-of-the-server%5D__0qx548g._.js.map
@@ -1,150 +0,0 @@
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"))},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"))},99932,e=>{"use strict";var t=e.i(12714),r=e.i(50227),n=e.i(88431);async function a(e,{params:i}){let{file:o}=await i;if(!/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/.test(o))return new Response("Not found",{status:404});try{let e=await (0,t.readFile)(r.default.join((0,n.dataDir)(),"avatars",o)),a=r.default.extname(o).slice(1).toLowerCase();return new Response(e,{headers:{"Content-Type":"webp"===a?"image/webp":"png"===a?"image/png":"image/jpeg","Cache-Control":"public, max-age=31536000, immutable"}})}catch{return new Response("Not found",{status:404})}}e.s(["GET",0,a])},73953,e=>{"use strict";var t=e.i(47909),r=e.i(74017),n=e.i(96250),a=e.i(59756),i=e.i(61916),o=e.i(74677),s=e.i(69741),l=e.i(16795),d=e.i(87718),c=e.i(95169),u=e.i(47587),T=e.i(66012),E=e.i(70101),p=e.i(26937),_=e.i(10372),m=e.i(93695);e.i(52474);var f=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/avatars/[file]/route",pathname:"/avatars/[file]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/avatars/[file]/route.js",nextConfigOutput:"standalone",userland:()=>e.r(99932),...{}}),{workAsyncStorage:h,workUnitAsyncStorage:A,serverHooks:g}=R;async function N(e,t,n){n.requestMeta&&(0,a.setRequestMeta)(e,n.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let h="/avatars/[file]/route";h=h.replace(/\/index$/,"")||"/";let A=await R.prepare(e,t,{srcPage:h,multiZoneDraftMode:!1});if(!A)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:g,deploymentId:N,params:X,nextConfig:x,parsedUrl:S,isDraftMode:y,prerenderManifest:w,routerServerContext:I,isOnDemandRevalidate:L,revalidateOnlyGenerated:v,resolvedPathname:O,clientReferenceManifest:C,serverActionsManifest:U}=A,D=(0,s.normalizeAppPath)(h),b=!!(w.dynamicRoutes[D]||w.routes[O]),F=async()=>((null==I?void 0:I.render404)?await I.render404(e,t,S,!1):t.end("This page could not be found"),null);if(b&&!y){let e=!!w.routes[O],t=w.dynamicRoutes[D];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await F();throw new m.NoFallbackError}}let k=null;!b||R.isDev||y||(k="/index"===(k=O)?"/":k);let q=!0===R.isDev||!b,P=b&&!q;U&&C&&(0,o.setManifestsSingleton)({page:h,clientReferenceManifest:C,serverActionsManifest:U});let j=e.method||"GET",M=(0,i.getTracer)(),G=M.getActiveScopeSpan(),H=!!(null==I?void 0:I.isWrappedByNextServer),$=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,x,w,$);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let K={params:X,previewProps:w.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,supportsDynamicResponse:q,incrementalCache:B,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>R.onRequestError(e,t,n,a,I)},sharedContext:{buildId:g,deploymentId:N}},Y=new l.NodeNextRequest(e),J=new l.NodeNextResponse(t),W=d.NextRequestAdapter.fromNodeNextRequest(Y,(0,d.signalFromNodeResponse)(t)),Q=async({previousCacheEntry:r})=>{try{if(!$&&L&&v&&!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(W,K);e.fetchMetrics=K.renderOpts.fetchMetrics;let i=K.renderOpts.pendingWaitUntil;i&&n.waitUntil&&(n.waitUntil(i),i=void 0);let o=K.renderOpts.collectedTags;if(!b)return await (0,T.sendResponse)(Y,J,a,i),null;{let e=await a.blob(),t=(0,E.toNodeOutgoingHttpHeaders)(a.headers);o&&(t[_.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=_.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=_.INFINITE_CACHE?!1!==r&&r>0?x.expireTime:void 0:K.renderOpts.collectedExpire;return{value:{kind:f.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:h,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:L})},!1,I),t}},V=async(a,o)=>{try{var s,l;let a=await R.handleResponse({req:e,nextConfig:x,cacheKey:k,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:w,isRoutePPREnabled:!1,isOnDemandRevalidate:L,revalidateOnlyGenerated:v,responseGenerator:Q,waitUntil:n.waitUntil,isMinimalMode:$});if(!b)return;if((null==a||null==(s=a.value)?void 0:s.kind)!==f.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});$||t.setHeader("x-nextjs-cache",L?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),y&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let i=(0,E.fromNodeOutgoingHttpHeaders)(a.value.headers);$&&b||i.delete(_.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||i.get("Cache-Control")||i.set("Cache-Control",(0,p.getCacheControlHeader)(a.cacheControl)),await (0,T.sendResponse)(Y,J,new Response(a.value.body,{headers:i,status:a.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:L})},!1,I),b)throw t;await (0,T.sendResponse)(Y,J,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:i.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=M.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 n=r.get("next.route")||D,s=`${j} ${n}`;a.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),a.updateName(s),o&&o!==a&&(o.setAttribute("http.route",n),o.updateName(s))})()}};if(H&&G)await V(G,void 0);else{let t=M.getActiveScopeSpan();await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${j} ${h}`,kind:i.SpanKind.SERVER,attributes:{"http.method":j,"http.target":e.url}},e=>V(e,t)),void 0,!H)}}e.s(["handler",0,N,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:h,workUnitAsyncStorage:A})},"routeModule",0,R,"serverHooks",0,g,"workAsyncStorage",0,h,"workUnitAsyncStorage",0,A])},88431,e=>{"use strict";var t=e.x("node:sqlite",()=>require("node:sqlite"),!0),r=e.i(2157),n=e.i(60526),a=e.i(50227);let i=`-- 6 Degrees — local SQLite schema.
2
- --
3
- -- Ported from the Postgres schema this project ran on before it went
4
- -- local-first. Type mapping: uuid -> TEXT (generated in JS), jsonb and
5
- -- text[] -> TEXT holding JSON, boolean -> INTEGER 0/1, timestamptz and date
6
- -- -> TEXT holding ISO-8601. lib/db.js encodes and decodes these so route
7
- -- code sees the same shapes it always did.
8
-
9
- PRAGMA journal_mode = WAL;
10
- PRAGMA foreign_keys = ON;
11
-
12
- CREATE TABLE IF NOT EXISTS users (
13
- id TEXT PRIMARY KEY,
14
- name TEXT NOT NULL,
15
- headline TEXT,
16
- role TEXT,
17
- company TEXT,
18
- industry TEXT,
19
- sectors TEXT, -- JSON array
20
- goals TEXT, -- JSON array
21
- linkedin_url TEXT,
22
- company_prestige_config TEXT, -- JSON object
23
- created_at TEXT DEFAULT (datetime('now'))
24
- );
25
-
26
- CREATE TABLE IF NOT EXISTS linkedin_connections (
27
- id TEXT PRIMARY KEY,
28
- degree INTEGER NOT NULL DEFAULT 1,
29
- source_connection_id TEXT,
30
- name TEXT NOT NULL,
31
- headline TEXT,
32
- company TEXT,
33
- role TEXT,
34
- profile_url TEXT NOT NULL,
35
- profile_image_url TEXT,
36
- connected_date TEXT,
37
- power_score REAL DEFAULT 0,
38
- seniority_score REAL DEFAULT 0,
39
- company_prestige_score REAL DEFAULT 0,
40
- influence_signals TEXT DEFAULT '{}', -- JSON
41
- tier TEXT,
42
- is_catalyst INTEGER DEFAULT 0, -- boolean
43
- catalyst_score REAL DEFAULT 0,
44
- circle_power REAL DEFAULT 0,
45
- circle_s_count INTEGER DEFAULT 0,
46
- circle_a_count INTEGER DEFAULT 0,
47
- circle_elite_pct REAL DEFAULT 0,
48
- unlock_status TEXT DEFAULT 'locked',
49
- unlocked_from_bridge_id TEXT,
50
- unlocked_from_name TEXT,
51
- outreach_status TEXT,
52
- scanned_company TEXT,
53
- score_why TEXT,
54
- user_id TEXT,
55
- image_refreshed_at TEXT,
56
- created_at TEXT DEFAULT (datetime('now')),
57
- updated_at TEXT DEFAULT (datetime('now'))
58
- );
59
-
60
- -- Mirrors the Postgres uniqueness rule: one row per person, per bridge, per
61
- -- user. COALESCE keeps NULLs from defeating the constraint the way they would
62
- -- in a plain UNIQUE index.
63
- CREATE UNIQUE INDEX IF NOT EXISTS idx_connections_unique_per_user_bridge
64
- ON linkedin_connections (
65
- profile_url,
66
- COALESCE(source_connection_id, ''),
67
- COALESCE(user_id, '')
68
- );
69
-
70
- CREATE INDEX IF NOT EXISTS idx_connections_degree ON linkedin_connections(degree);
71
- CREATE INDEX IF NOT EXISTS idx_connections_user ON linkedin_connections(user_id);
72
- CREATE INDEX IF NOT EXISTS idx_connections_power ON linkedin_connections(power_score DESC);
73
- CREATE INDEX IF NOT EXISTS idx_connections_source ON linkedin_connections(source_connection_id);
74
- CREATE INDEX IF NOT EXISTS idx_connections_tier ON linkedin_connections(tier);
75
-
76
- CREATE TABLE IF NOT EXISTS user_stats (
77
- id TEXT PRIMARY KEY,
78
- xp INTEGER DEFAULT 0,
79
- level INTEGER DEFAULT 1,
80
- streak_weeks INTEGER DEFAULT 0,
81
- last_scrape_at TEXT,
82
- last_active_at TEXT DEFAULT (datetime('now')),
83
- created_at TEXT DEFAULT (datetime('now'))
84
- );
85
-
86
- CREATE TABLE IF NOT EXISTS notifications (
87
- id TEXT PRIMARY KEY,
88
- user_id TEXT,
89
- type TEXT NOT NULL,
90
- title TEXT NOT NULL,
91
- message TEXT,
92
- icon TEXT,
93
- seen INTEGER DEFAULT 0, -- boolean
94
- data TEXT DEFAULT '{}', -- JSON
95
- created_at TEXT DEFAULT (datetime('now'))
96
- );
97
-
98
- CREATE INDEX IF NOT EXISTS idx_notifications_user ON notifications(user_id, created_at DESC);
99
-
100
- CREATE TABLE IF NOT EXISTS queue_items (
101
- id TEXT PRIMARY KEY,
102
- connection_id TEXT,
103
- profile_url TEXT NOT NULL UNIQUE,
104
- name TEXT NOT NULL,
105
- status TEXT DEFAULT 'suggested',
106
- xp_reward INTEGER DEFAULT 10,
107
- bridge_name TEXT,
108
- created_at TEXT DEFAULT (datetime('now')),
109
- sent_at TEXT,
110
- accepted_at TEXT,
111
- scanned_at TEXT
112
- );
113
-
114
- -- Company scores you set yourself (lib/scoring.js): they win over the curated
115
- -- list and over the network estimate. One row per canonical company name.
116
- CREATE TABLE IF NOT EXISTS company_scores (
117
- id TEXT PRIMARY KEY,
118
- name TEXT NOT NULL UNIQUE,
119
- score REAL NOT NULL,
120
- updated_at TEXT DEFAULT (datetime('now'))
121
- );
122
-
123
- -- Small key/value facts about this install, e.g. which scoring model the
124
- -- stored scores were computed with.
125
- CREATE TABLE IF NOT EXISTS app_meta (
126
- key TEXT PRIMARY KEY,
127
- value TEXT
128
- );
129
-
130
- -- Referenced by app/api/setup-profile but absent from the old cloud schema,
131
- -- so it is created here rather than inherited.
132
- CREATE TABLE IF NOT EXISTS user_profile (
133
- id TEXT PRIMARY KEY,
134
- user_id TEXT,
135
- name TEXT,
136
- headline TEXT,
137
- role TEXT,
138
- company TEXT,
139
- industry TEXT,
140
- sectors TEXT, -- JSON array
141
- goals TEXT, -- JSON array
142
- linkedin_url TEXT,
143
- company_prestige_config TEXT, -- JSON object
144
- created_at TEXT DEFAULT (datetime('now')),
145
- updated_at TEXT DEFAULT (datetime('now'))
146
- );
147
- `,o="0.2.0";function s(){let e=process.env.SIX_DEGREES_HOME||a.default.join((0,n.homedir)(),".six-degrees");return(0,r.existsSync)(e)||(0,r.mkdirSync)(e,{recursive:!0}),e}let l={users:["sectors","goals","company_prestige_config"],user_profile:["sectors","goals","company_prestige_config"],linkedin_connections:["influence_signals"],notifications:["data"],queue_items:[],user_stats:[]},d={linkedin_connections:["is_catalyst"],notifications:["seen"],users:[],user_profile:[],queue_items:[],user_stats:[]},c=null,u=[["linkedin_connections","score_why","TEXT"]],T="auto-before-";e.s(["dataDir",0,s,"decodeRow",0,function(e,t){if(!t)return t;let r={...t};for(let t of l[e]||[])if("string"==typeof r[t])try{r[t]=JSON.parse(r[t])}catch{}for(let t of d[e]||[])(0===r[t]||1===r[t])&&(r[t]=!!r[t]);return r},"encodeValue",0,function(e,t,r){return void 0===r?null:(l[e]||[]).includes(t)?null===r?null:JSON.stringify(r):(d[e]||[]).includes(t)?null===r?null:+!!r:"boolean"==typeof r?+!!r:null!==r&&"object"==typeof r?JSON.stringify(r):r},"getDb",0,function(){if(c)return c;let e=process.env.SIX_DEGREES_DB||a.default.join(s(),"six-degrees.sqlite");c=new t.DatabaseSync(e);try{let t=function(e,{dir:t,version:n,keep:i=5,now:o=new Date}){let s=a.default.join(t,"app-version"),l=null;try{l=(0,r.readFileSync)(s,"utf8").trim()}catch{}if(l===n)return null;let d=null;if(e.prepare("SELECT count(*) AS n FROM sqlite_master WHERE type = 'table' AND name = 'linkedin_connections'").get().n>0){let s=a.default.join(t,"backups");(0,r.mkdirSync)(s,{recursive:!0});let l=o.toISOString().replace(/[:.]/g,"-");for(let{f:t}of(d=a.default.join(s,`${T}${n}-${l}.sqlite`),e.exec(`VACUUM INTO '${d.replace(/'/g,"''")}'`),(0,r.readdirSync)(s).filter(e=>e.startsWith(T)&&e.endsWith(".sqlite")).map(e=>({f:e,at:(0,r.statSync)(a.default.join(s,e)).mtimeMs})).sort((e,t)=>t.at-e.at||t.f.localeCompare(e.f)).slice(i)))(0,r.rmSync)(a.default.join(s,t),{force:!0})}return(0,r.writeFileSync)(s,`${n}
148
- `),d}(c,{dir:a.default.dirname(e),version:o});t&&console.log(`Six Degrees ${o}: backed up your data first → ${t}`)}catch(e){console.error(`Six Degrees: could not back up your data before ${o} (will try again next start): ${e.message}`)}return c.exec(i),function(e){for(let[t,r,n]of u)e.prepare(`PRAGMA table_info(${t})`).all().some(e=>e.name===r)||e.exec(`ALTER TABLE ${t} ADD COLUMN ${r} ${n}`)}(c),c},"newId",0,function(){return crypto.randomUUID()},"nowIso",0,function(){return new Date().toISOString()}],88431)}];
149
-
150
- //# sourceMappingURL=%5Broot-of-the-server%5D__1an3leo._.js.map