six-degrees 0.4.2 → 0.4.4
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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +3 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +41 -13
- package/.next/standalone/.next/routes-manifest.json +12 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +19 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +19 -17
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +15 -13
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/social/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/social/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/social/route.js +8 -0
- package/.next/standalone/.next/server/app/api/social/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/social/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page.js +1 -1
- package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/import.html +1 -1
- package/.next/standalone/.next/server/app/import.rsc +23 -21
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +21 -19
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +21 -19
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch/page.js +1 -1
- package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/launch.html +2 -2
- package/.next/standalone/.next/server/app/launch.rsc +23 -21
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths.html +1 -1
- package/.next/standalone/.next/server/app/paths.rsc +23 -21
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/profile/page.js +1 -1
- package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/profile.html +1 -1
- package/.next/standalone/.next/server/app/profile.rsc +23 -21
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/queue/page.js +1 -1
- package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/queue.html +1 -1
- package/.next/standalone/.next/server/app/queue.rsc +23 -21
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/scores/page.js +1 -1
- package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/scores.html +1 -1
- package/.next/standalone/.next/server/app/scores.rsc +23 -21
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +23 -21
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/setup/page.js +1 -1
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +23 -21
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +23 -21
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +17 -15
- package/.next/standalone/.next/server/app/social/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/social/page/build-manifest.json +20 -0
- package/.next/standalone/.next/server/app/social/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/social/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/social/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/social/page.js +13 -0
- package/.next/standalone/.next/server/app/social/page.js.map +5 -0
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/social.html +1 -0
- package/.next/standalone/.next/server/app/social.meta +26 -0
- package/.next/standalone/.next/server/app/social.rsc +26 -0
- package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +26 -0
- package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +30 -0
- package/.next/standalone/.next/server/app-paths-manifest.json +3 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17kn1mk._.js +8 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0uag-k5._.js → [root-of-the-server]__1dmc7-t._.js} +1 -1
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +5 -5
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1xh07bp._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_social_route_actions_1_3c6qn.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__16hs8kw._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1feicqq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1jeztd-._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_005q9n1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_08_03wh._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_08cfj2b._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0j4-lc3._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0hw_qnj._.js → _0wxbq78._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0xkur4p._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_15x6q32._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_1cyxocj._.js → _1ap1tu_._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1mj739k._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_social_page_actions_176i1kl.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +3 -3
- package/.next/standalone/.next/server/chunks/ssr/app_scores_page_09wepvv.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +3 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +4 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/prefetch-hints.json +14 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/04a3zockahetx.js +1 -0
- package/.next/standalone/.next/static/chunks/0a5iadnmt9u9k.js +1 -0
- package/.next/standalone/.next/static/chunks/{2p6o90z0vgcwr.css → 0bo1dxn5gwzpk.css} +1 -1
- package/.next/standalone/.next/static/chunks/0g_p4p7oci18u.js +1 -0
- package/.next/standalone/.next/static/chunks/{0ax_9zzboyv6d.js → 17-rhp8sg4m1b.js} +2 -2
- package/.next/standalone/.next/static/chunks/1ra4cwcp75tfa.js +1 -0
- package/.next/standalone/.next/static/chunks/236f0jtp68j_h.js +1 -0
- package/.next/standalone/.next/static/chunks/24m745q_85u34.js +6 -0
- package/.next/standalone/.next/static/chunks/2_wcobfqry2uj.js +1 -0
- package/.next/standalone/.next/static/chunks/2dwtoszeq91us.js +1 -0
- package/.next/standalone/.next/static/chunks/2hvcevue9aro4.js +1 -0
- package/.next/standalone/.next/static/chunks/2uo9i03_05rqi.js +18 -0
- package/.next/standalone/.next/static/chunks/3p_pwu5gx2i9h.js +1 -0
- package/.next/standalone/.next/static/chunks/3yc3rzp4dxvyo.js +1 -0
- package/.next/standalone/.next/static/chunks/3zw8bv7-mc4n6.js +33 -0
- package/.next/standalone/CHANGELOG.md +63 -0
- package/.next/standalone/app/api/network/route.js +11 -0
- package/.next/standalone/app/api/scraper/route.js +19 -0
- package/.next/standalone/app/api/social/route.js +96 -0
- package/.next/standalone/app/components/AutoScanButton.js +41 -0
- package/.next/standalone/app/components/ChainView.js +7 -0
- package/.next/standalone/app/components/FilterPanel.js +37 -5
- package/.next/standalone/app/components/OrbitGraph.js +17 -4
- package/.next/standalone/app/components/ScanStatusBar.js +96 -0
- package/.next/standalone/app/components/SeparationView.js +9 -1
- package/.next/standalone/app/components/Sidebar.js +88 -26
- package/.next/standalone/app/components/SocialAutoSync.js +34 -0
- package/.next/standalone/app/components/settings/NetworkHealthSection.js +85 -0
- package/.next/standalone/app/globals.css +4 -0
- package/.next/standalone/app/layout.js +6 -0
- package/.next/standalone/app/page.js +37 -4
- package/.next/standalone/app/scores/page.js +3 -0
- package/.next/standalone/app/setup/page.js +13 -1
- package/.next/standalone/app/social/page.js +293 -0
- package/.next/standalone/lib/experimental-client.js +38 -0
- package/.next/standalone/lib/insights.js +54 -0
- package/.next/standalone/lib/linkedin-export.js +156 -0
- package/.next/standalone/lib/network-health.js +42 -0
- package/.next/standalone/lib/network.js +1 -0
- package/.next/standalone/lib/scraper-client.js +1 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/scrape.py +335 -5
- package/.next/static/chunks/04a3zockahetx.js +1 -0
- package/.next/static/chunks/0a5iadnmt9u9k.js +1 -0
- package/.next/static/chunks/{2p6o90z0vgcwr.css → 0bo1dxn5gwzpk.css} +1 -1
- package/.next/static/chunks/0g_p4p7oci18u.js +1 -0
- package/.next/static/chunks/{0ax_9zzboyv6d.js → 17-rhp8sg4m1b.js} +2 -2
- package/.next/static/chunks/1ra4cwcp75tfa.js +1 -0
- package/.next/static/chunks/236f0jtp68j_h.js +1 -0
- package/.next/static/chunks/24m745q_85u34.js +6 -0
- package/.next/static/chunks/2_wcobfqry2uj.js +1 -0
- package/.next/static/chunks/2dwtoszeq91us.js +1 -0
- package/.next/static/chunks/2hvcevue9aro4.js +1 -0
- package/.next/static/chunks/2uo9i03_05rqi.js +18 -0
- package/.next/static/chunks/3p_pwu5gx2i9h.js +1 -0
- package/.next/static/chunks/3yc3rzp4dxvyo.js +1 -0
- package/.next/static/chunks/3zw8bv7-mc4n6.js +33 -0
- package/CHANGELOG.md +63 -0
- package/lib/experimental-client.js +38 -0
- package/lib/insights.js +54 -0
- package/lib/linkedin-export.js +156 -0
- package/lib/network-health.js +42 -0
- package/lib/network.js +1 -0
- package/lib/scraper-client.js +1 -0
- package/package.json +1 -1
- package/scripts/scrape.py +335 -5
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h1_f_2._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__19ip1qq._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_06w_gl4._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_13kzrwv._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_15xuwkv._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1hgd5dp._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1vpfyd-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_20w06i-._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/lib_1bn38gs._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1f8t_rp._.js +0 -23
- package/.next/standalone/.next/static/chunks/049vavjsmqgmn.js +0 -33
- package/.next/standalone/.next/static/chunks/0cuuo2jwc9h94.js +0 -1
- package/.next/standalone/.next/static/chunks/0ljxa-wk_iu__.js +0 -18
- package/.next/standalone/.next/static/chunks/0mp9b72fm-jp6.js +0 -6
- package/.next/standalone/.next/static/chunks/1pre1cotntk6-.js +0 -1
- package/.next/standalone/.next/static/chunks/22x2_r768-u5i.js +0 -1
- package/.next/standalone/.next/static/chunks/28bu26ausqzmn.js +0 -1
- package/.next/standalone/.next/static/chunks/2jz311xl1pp_8.js +0 -1
- package/.next/standalone/.next/static/chunks/2ot61qsv6_0eq.js +0 -1
- package/.next/standalone/.next/static/chunks/2xjho0lroiwlq.js +0 -1
- package/.next/standalone/.next/static/chunks/3zs_6-nn0dapb.js +0 -1
- package/.next/static/chunks/049vavjsmqgmn.js +0 -33
- package/.next/static/chunks/0cuuo2jwc9h94.js +0 -1
- package/.next/static/chunks/0ljxa-wk_iu__.js +0 -18
- package/.next/static/chunks/0mp9b72fm-jp6.js +0 -6
- package/.next/static/chunks/1pre1cotntk6-.js +0 -1
- package/.next/static/chunks/22x2_r768-u5i.js +0 -1
- package/.next/static/chunks/28bu26ausqzmn.js +0 -1
- package/.next/static/chunks/2jz311xl1pp_8.js +0 -1
- package/.next/static/chunks/2ot61qsv6_0eq.js +0 -1
- package/.next/static/chunks/2xjho0lroiwlq.js +0 -1
- package/.next/static/chunks/3zs_6-nn0dapb.js +0 -1
- /package/.next/standalone/.next/static/{wGVrXBkFLmEB4snfhtOcO → VE8LeJXfD2H0_OgJxuJcm}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{wGVrXBkFLmEB4snfhtOcO → VE8LeJXfD2H0_OgJxuJcm}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{wGVrXBkFLmEB4snfhtOcO → VE8LeJXfD2H0_OgJxuJcm}/_ssgManifest.js +0 -0
- /package/.next/static/{wGVrXBkFLmEB4snfhtOcO → VE8LeJXfD2H0_OgJxuJcm}/_buildManifest.js +0 -0
- /package/.next/static/{wGVrXBkFLmEB4snfhtOcO → VE8LeJXfD2H0_OgJxuJcm}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{wGVrXBkFLmEB4snfhtOcO → VE8LeJXfD2H0_OgJxuJcm}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[47257,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"ClientPageRoot"]
|
|
3
|
+
3:I[60451,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js","/_next/static/chunks/2hvcevue9aro4.js"],"default"]
|
|
4
|
+
6:I[97367,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"OutletBoundary"]
|
|
5
|
+
7:"$Sreact.suspense"
|
|
6
|
+
b:I[97367,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"ViewportBoundary"]
|
|
7
|
+
c:I[97367,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"MetadataBoundary"]
|
|
8
|
+
d:I[27201,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"IconMark"]
|
|
9
|
+
f:I[39756,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"default"]
|
|
10
|
+
10:I[37457,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"default"]
|
|
11
|
+
13:I[15812,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"default"]
|
|
12
|
+
14:I[37711,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"default"]
|
|
13
|
+
15:I[40643,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"default"]
|
|
14
|
+
16:I[87915,["/_next/static/chunks/04a3zockahetx.js","/_next/static/chunks/3p_pwu5gx2i9h.js"],"default"]
|
|
15
|
+
:HL["/_next/static/chunks/0bo1dxn5gwzpk.css","style"]
|
|
16
|
+
a:X
|
|
17
|
+
12:X
|
|
18
|
+
12:C
|
|
19
|
+
0:{"buildId":"VE8LeJXfD2H0_OgJxuJcm","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/2hvcevue9aro4.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Six Degrees"}],["$","meta","1",{"name":"description","content":"Maps your LinkedIn network: who you know, who they know, and the shortest path to someone you haven't met. Runs on your own computer; nothing is uploaded."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.0zdzw5kurn8m-.ico","sizes":"48x48","type":"image/x-icon"}],["$","$Ld","3",{}]]}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}]}]]}],"isPartial":"$@11","staleTime":"$a","varyParams":"$12"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0bo1dxn5gwzpk.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/04a3zockahetx.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/3p_pwu5gx2i9h.js","async":true}]],["$","html",null,{"lang":"en","className":"geist_2ae47f08-module__h69qWW__variable geist_mono_eb58308d-module__w_p2Lq__variable","children":["$","body",null,{"style":{"margin":0,"padding":0,"background":"#0a0a1a"},"children":["$","$L13",null,{"children":[["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L14",null,{}],["$","$L15",null,{}],["$","$L16",null,{}]]}]}]}]]}],"isPartial":"$@17","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@18","rootVaryParams":null,"needsRuntimeRequest":"$@19"}
|
|
20
|
+
4:{}
|
|
21
|
+
5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
22
|
+
8:null
|
|
23
|
+
a:300
|
|
24
|
+
19:true
|
|
25
|
+
a:C
|
|
26
|
+
18:0
|
|
27
|
+
e:"$undefined"
|
|
28
|
+
11:"$undefined"
|
|
29
|
+
17:"$undefined"
|
|
30
|
+
9:"$undefined"
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"/api/settings/sector-preview/route": "app/api/settings/sector-preview/route.js",
|
|
25
25
|
"/api/settings/sector-suggestions/route": "app/api/settings/sector-suggestions/route.js",
|
|
26
26
|
"/api/setup-profile/route": "app/api/setup-profile/route.js",
|
|
27
|
+
"/api/social/route": "app/api/social/route.js",
|
|
27
28
|
"/api/unlock/route": "app/api/unlock/route.js",
|
|
28
29
|
"/api/update-images/route": "app/api/update-images/route.js",
|
|
29
30
|
"/api/update/route": "app/api/update/route.js",
|
|
@@ -38,5 +39,6 @@
|
|
|
38
39
|
"/queue/page": "app/queue/page.js",
|
|
39
40
|
"/scores/page": "app/scores/page.js",
|
|
40
41
|
"/settings/page": "app/settings/page.js",
|
|
41
|
-
"/setup/page": "app/setup/page.js"
|
|
42
|
+
"/setup/page": "app/setup/page.js",
|
|
43
|
+
"/social/page": "app/social/page.js"
|
|
42
44
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},6793,e=>{"use strict";var t=e.i(80998);async function r(e){try{let{searchParams:r}=new URL(e.url),s=r.get("userId"),a=e=>{let r=t.db.from("linkedin_connections").select("*").eq("degree",e).order("power_score",{ascending:!1});return s&&r.eq("user_id",s),r};try{await t.db.rpc("rescore_if_stale")}catch{}let[n,i,l]=await Promise.all([a(1),a(2),a(3)]),o=n.error||i.error||l.error;if(o)return Response.json({error:o.message},{status:500});return Response.json({degree1:n.data||[],degree2:i.data||[],degree3:l.data||[],counts:{degree1:n.data?.length||0,degree2:i.data?.length||0,degree3:l.data?.length||0}})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["GET",0,r])},37498,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),l=e.i(69741),o=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(26937),g=e.i(10372),f=e.i(93695);e.i(52474);var _=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/network/route",pathname:"/api/network",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/network/route.js",nextConfigOutput:"standalone",userland:()=>e.r(6793),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:E,serverHooks:b}=R;async function w(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/network/route";x=x.replace(/\/index$/,"")||"/";let E=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:b,deploymentId:w,params:v,nextConfig:y,parsedUrl:T,isDraftMode:C,prerenderManifest:S,routerServerContext:$,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:A,clientReferenceManifest:I,serverActionsManifest:O}=E,L=(0,l.normalizeAppPath)(x),P=!!(S.dynamicRoutes[L]||S.routes[A]),k=async()=>((null==$?void 0:$.render404)?await $.render404(e,t,T,!1):t.end("This page could not be found"),null);if(P&&!C){let e=!!S.routes[A],t=S.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await k();throw new f.NoFallbackError}}let j=null;!P||R.isDev||C||(j="/index"===(j=A)?"/":j);let D=!0===R.isDev||!P,U=P&&!D;O&&I&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:I,serverActionsManifest:O});let M=e.method||"GET",H=(0,n.getTracer)(),F=H.getActiveScopeSpan(),V=!!(null==$?void 0:$.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,y,S,G);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:v,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:K,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>R.onRequestError(e,t,s,a,$)},sharedContext:{buildId:b,deploymentId:w}},W=new o.NodeNextRequest(e),X=new o.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&q&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await R.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&s.waitUntil&&(s.waitUntil(n),n=void 0);let i=B.renderOpts.collectedTags;if(!P)return await (0,c.sendResponse)(W,X,a,n),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?y.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,$),t}},Q=async(a,i)=>{try{var l,o;let a=await R.handleResponse({req:e,nextConfig:y,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:G});if(!P)return;if((null==a||null==(l=a.value)?void 0:l.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(o=a.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",q?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&P||n.delete(g.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,m.getCacheControlHeader)(a.cacheControl)),await (0,c.sendResponse)(W,X,new Response(a.value.body,{headers:n,status:a.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,$),P)throw t;await (0,c.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:n.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route")||L,l=`${M} ${s}`;a.setAttributes({"next.route":s,"http.route":s,"next.span_name":l}),a.updateName(l),i&&i!==a&&(i.setAttribute("http.route",s),i.updateName(l))})()}};if(V&&F)await Q(F,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${x}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},e=>Q(e,t)),void 0,!V)}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:E})},"routeModule",0,R,"serverHooks",0,b,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,E])},80998,e=>{"use strict";var t=e.i(88431);let r=/^[a-z_][a-z0-9_]*$/i;function s(e,t){if(!r.test(e))throw Error(`Unsafe ${t}: ${e}`);return e}class a{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 a=Array.isArray(r)?r:[];return a.length?this._filters.push({sql:`"${e}" IN (${a.map(()=>"?").join(", ")})`,params:a.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,a){return s(e,"column"),"is"===r&&null===a?this._filters.push({sql:`"${e}" IS NOT NULL`,params:[]}):this._filters.push({sql:`NOT ("${e}" = ?)`,params:[(0,t.encodeValue)(this.table,e,a)]}),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 a=e.prepare(r).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return this._single?a.length?{data:a[0],error:null}:{data:null,error:{message:"No rows found",code:"PGRST116"}}:{data:a,error:null}}if("insert"===this._op||"upsert"===this._op){let s=[];for(let a of this._payload){let n={id:a.id||(0,t.newId)(),...a};n.id||(n.id=(0,t.newId)());let i=Object.keys(n).filter(e=>r.test(e)),l=i.map(e=>(0,t.encodeValue)(this.table,e,n[e])),o=i.map(()=>"?").join(", "),u=i.map(e=>`"${e}"`).join(", "),p=`INSERT INTO "${this.table}" (${u}) VALUES (${o})`;if("upsert"===this._op)if(this._ignoreDuplicates)p+=" ON CONFLICT DO NOTHING";else{let e=this._onConflict?this._onConflict.split(",").map(e=>`"${e.trim()}"`).join(", "):'"id"',t=i.filter(e=>"id"!==e).map(e=>`"${e}" = excluded."${e}"`).join(", ");p+=` ON CONFLICT (${e}) DO UPDATE SET ${t||'"id" = "id"'}`}try{e.prepare(p).run(...l);let r=e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(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 a={...this._payload};"updated_at"in a==!1&&"linkedin_connections"===this.table&&(a.updated_at=(0,t.nowIso)());let n=Object.keys(a).filter(e=>r.test(e));if(!n.length)return{data:[],error:null};let i=n.map(e=>`"${e}" = ?`).join(", "),l=n.map(e=>(0,t.encodeValue)(this.table,e,a[e])),o=`UPDATE "${this.table}" SET ${i}${s.sql}`;try{let r=e.prepare(`SELECT id FROM "${this.table}"${s.sql}`).all(...s.params);e.prepare(o).run(...l,...s.params);let a=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:a[0]??null,error:a.length?null:{message:"No rows updated"}};return{data:a,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 a(e),async rpc(t,r={}){let{runRpc:s}=await e.A(35862);return s(t,r)}}])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),s=r(e),a=r(t);for(let e=0;e<Math.max(s.length,a.length);e++){let t=(s[e]||0)-(a[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let s=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return s?`npx six-degrees@latest --data-dir ${s}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function s(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${s(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,s,"scannerJob",0,r],1348)}];
|
|
1
|
+
module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},59043,(e,t,r)=>{t.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},81111,(e,t,r)=>{t.exports=e.x("node:stream",()=>require("node:stream"))},6793,e=>{"use strict";var t=e.i(80998);async function r(e){try{let{searchParams:r}=new URL(e.url),s=r.get("userId"),a=e=>{let r=t.db.from("linkedin_connections").select("*").eq("degree",e).order("power_score",{ascending:!1});return s&&r.eq("user_id",s),r};try{await t.db.rpc("rescore_if_stale")}catch{}let[n,i,l]=await Promise.all([a(1),a(2),a(3)]),o=n.error||i.error||l.error;if(o)return Response.json({error:o.message},{status:500});let u=0;try{let e=t.db.from("connection_ties").select("a_url");s&&(e=e.eq("user_id",s));let{data:r}=await e;u=r?.length||0}catch{}return Response.json({ties:u,degree1:n.data||[],degree2:i.data||[],degree3:l.data||[],counts:{degree1:n.data?.length||0,degree2:i.data?.length||0,degree3:l.data?.length||0}})}catch(e){return Response.json({error:e.message},{status:500})}}e.s(["GET",0,r])},37498,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),i=e.i(74677),l=e.i(69741),o=e.i(16795),u=e.i(87718),p=e.i(95169),d=e.i(47587),c=e.i(66012),h=e.i(70101),m=e.i(26937),g=e.i(10372),f=e.i(93695);e.i(52474);var _=e.i(220);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/network/route",pathname:"/api/network",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/network/route.js",nextConfigOutput:"standalone",userland:()=>e.r(6793),...{}}),{workAsyncStorage:x,workUnitAsyncStorage:E,serverHooks:b}=R;async function w(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),R.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let x="/api/network/route";x=x.replace(/\/index$/,"")||"/";let E=await R.prepare(e,t,{srcPage:x,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:b,deploymentId:w,params:v,nextConfig:y,parsedUrl:T,isDraftMode:C,prerenderManifest:S,routerServerContext:$,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,resolvedPathname:A,clientReferenceManifest:I,serverActionsManifest:O}=E,L=(0,l.normalizeAppPath)(x),P=!!(S.dynamicRoutes[L]||S.routes[A]),k=async()=>((null==$?void 0:$.render404)?await $.render404(e,t,T,!1):t.end("This page could not be found"),null);if(P&&!C){let e=!!S.routes[A],t=S.dynamicRoutes[L];if(t&&!1===t.fallback&&!e){if(y.adapterPath)return await k();throw new f.NoFallbackError}}let j=null;!P||R.isDev||C||(j="/index"===(j=A)?"/":j);let D=!0===R.isDev||!P,U=P&&!D;O&&I&&(0,i.setManifestsSingleton)({page:x,clientReferenceManifest:I,serverActionsManifest:O});let M=e.method||"GET",H=(0,n.getTracer)(),F=H.getActiveScopeSpan(),V=!!(null==$?void 0:$.isWrappedByNextServer),G=!!(0,a.getRequestMeta)(e,"minimalMode"),K=(0,a.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,y,S,G);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let B={params:v,previewProps:S.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts,useCacheTimeout:y.experimental.useCacheTimeout},cacheComponents:!!y.cacheComponents,validationLevel:y.experimental.instantInsights.validationLevel,supportsDynamicResponse:D,incrementalCache:K,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:y.cacheLife,staticPageGenerationTimeout:y.staticPageGenerationTimeout,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>R.onRequestError(e,t,s,a,$)},sharedContext:{buildId:b,deploymentId:w}},W=new o.NodeNextRequest(e),X=new o.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(W,(0,u.signalFromNodeResponse)(t)),J=async({previousCacheEntry:r})=>{try{if(!G&&q&&N&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await R.handle(z,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let n=B.renderOpts.pendingWaitUntil;n&&s.waitUntil&&(s.waitUntil(n),n=void 0);let i=B.renderOpts.collectedTags;if(!P)return await (0,c.sendResponse)(W,X,a,n),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[g.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,s=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==r&&r>0?y.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:_.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:x,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,$),t}},Q=async(a,i)=>{try{var l,o;let a=await R.handleResponse({req:e,nextConfig:y,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:N,responseGenerator:J,waitUntil:s.waitUntil,isMinimalMode:G});if(!P)return;if((null==a||null==(l=a.value)?void 0:l.kind)!==_.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==a||null==(o=a.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});G||t.setHeader("x-nextjs-cache",q?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let n=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);G&&P||n.delete(g.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||n.get("Cache-Control")||n.set("Cache-Control",(0,m.getCacheControlHeader)(a.cacheControl)),await (0,c.sendResponse)(W,X,new Response(a.value.body,{headers:n,status:a.value.status||200}));return}catch(t){if(t instanceof f.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:L,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:q})},!1,$),P)throw t;await (0,c.sendResponse)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:n.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route")||L,l=`${M} ${s}`;a.setAttributes({"next.route":s,"http.route":s,"next.span_name":l}),a.updateName(l),i&&i!==a&&(i.setAttribute("http.route",s),i.updateName(l))})()}};if(V&&F)await Q(F,void 0);else{let t=H.getActiveScopeSpan();await H.withPropagatedContext(e.headers,()=>H.trace(p.BaseServerSpan.handleRequest,{spanName:`${M} ${x}`,kind:n.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},e=>Q(e,t)),void 0,!V)}}e.s(["handler",0,w,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:x,workUnitAsyncStorage:E})},"routeModule",0,R,"serverHooks",0,b,"workAsyncStorage",0,x,"workUnitAsyncStorage",0,E])},80998,e=>{"use strict";var t=e.i(88431);let r=/^[a-z_][a-z0-9_]*$/i;function s(e,t){if(!r.test(e))throw Error(`Unsafe ${t}: ${e}`);return e}class a{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 a=Array.isArray(r)?r:[];return a.length?this._filters.push({sql:`"${e}" IN (${a.map(()=>"?").join(", ")})`,params:a.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,a){return s(e,"column"),"is"===r&&null===a?this._filters.push({sql:`"${e}" IS NOT NULL`,params:[]}):this._filters.push({sql:`NOT ("${e}" = ?)`,params:[(0,t.encodeValue)(this.table,e,a)]}),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 a=e.prepare(r).all(...s.params).map(e=>(0,t.decodeRow)(this.table,e));return this._single?a.length?{data:a[0],error:null}:{data:null,error:{message:"No rows found",code:"PGRST116"}}:{data:a,error:null}}if("insert"===this._op||"upsert"===this._op){let s=[];for(let a of this._payload){let n={id:a.id||(0,t.newId)(),...a};n.id||(n.id=(0,t.newId)());let i=Object.keys(n).filter(e=>r.test(e)),l=i.map(e=>(0,t.encodeValue)(this.table,e,n[e])),o=i.map(()=>"?").join(", "),u=i.map(e=>`"${e}"`).join(", "),p=`INSERT INTO "${this.table}" (${u}) VALUES (${o})`;if("upsert"===this._op)if(this._ignoreDuplicates)p+=" ON CONFLICT DO NOTHING";else{let e=this._onConflict?this._onConflict.split(",").map(e=>`"${e.trim()}"`).join(", "):'"id"',t=i.filter(e=>"id"!==e).map(e=>`"${e}" = excluded."${e}"`).join(", ");p+=` ON CONFLICT (${e}) DO UPDATE SET ${t||'"id" = "id"'}`}try{e.prepare(p).run(...l);let r=e.prepare(`SELECT * FROM "${this.table}" WHERE id = ?`).get(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 a={...this._payload};"updated_at"in a==!1&&"linkedin_connections"===this.table&&(a.updated_at=(0,t.nowIso)());let n=Object.keys(a).filter(e=>r.test(e));if(!n.length)return{data:[],error:null};let i=n.map(e=>`"${e}" = ?`).join(", "),l=n.map(e=>(0,t.encodeValue)(this.table,e,a[e])),o=`UPDATE "${this.table}" SET ${i}${s.sql}`;try{let r=e.prepare(`SELECT id FROM "${this.table}"${s.sql}`).all(...s.params);e.prepare(o).run(...l,...s.params);let a=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:a[0]??null,error:a.length?null:{message:"No rows updated"}};return{data:a,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 a(e),async rpc(t,r={}){let{runRpc:s}=await e.A(35862);return s(t,r)}}])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),s=r(e),a=r(t);for(let e=0;e<Math.max(s.length,a.length);e++){let t=(s[e]||0)-(a[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let s=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return s?`npx six-degrees@latest --data-dir ${s}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function s(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${s(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,s,"scannerJob",0,r],1348)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0ljnyho._.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
module.exports=[70406,(e,r,n)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},18622,(e,r,n)=>{r.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,r,n)=>{r.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,r,n)=>{r.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,r,n)=>{r.exports=e.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},93695,(e,r,n)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},74533,(e,r,n)=>{r.exports=e.x("node:child_process",()=>require("node:child_process"))},66680,(e,r,n)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,r,n)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},12714,(e,r,n)=>{r.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},60526,(e,r,n)=>{r.exports=e.x("node:os",()=>require("node:os"))},50227,(e,r,n)=>{r.exports=e.x("node:path",()=>require("node:path"))},81111,(e,r,n)=>{r.exports=e.x("node:stream",()=>require("node:stream"))},88602,e=>{"use strict";var r=e.i(88431);e.s(["networkCounts",0,function(e){let n=Object.fromEntries((0,r.getDb)().prepare("SELECT degree, COUNT(*) AS n FROM linkedin_connections WHERE user_id = ? GROUP BY degree").all(e).map(e=>[e.degree,e.n]));return{first:n[1]||0,second:n[2]||0,third:n[3]||0}},"resolveProfile",0,function({create:e=!0}={}){let[n]=(0,r.getDb)().prepare(`
|
|
2
|
+
SELECT u.*,
|
|
3
|
+
(SELECT COUNT(*) FROM linkedin_connections c WHERE c.user_id = u.id) AS connections
|
|
4
|
+
FROM users u
|
|
5
|
+
ORDER BY connections DESC, u.created_at ASC, u.rowid ASC
|
|
6
|
+
`).all().map(e=>(0,r.decodeRow)("users",e));if(n)return n;if(!e)return null;let t=(0,r.newId)();return(0,r.getDb)().prepare("INSERT INTO users (id, name) VALUES (?, ?)").run(t,"You"),{...(0,r.decodeRow)("users",(0,r.getDb)().prepare("SELECT * FROM users WHERE id = ?").get(t)),connections:0}}])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,r){let n=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),t=n(e),s=n(r);for(let e=0;e<Math.max(t.length,s.length);e++){let r=(t[e]||0)-(s[e]||0);if(0!==r)return r>0?1:-1}return 0},"installKind",0,function(e=process.env,r=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(r||"")?"mac-app":"npm"},"repoSlug",0,function(e){let r=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return r?`${r[1]}/${r[2]}`:null},"updateCommand",0,function(e,r,{dataDir:n}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${r}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let t=n&&`'${String(n).replace(/'/g,"'\\''")}'`;return t?`npx six-degrees@latest --data-dir ${t}`:"npx six-degrees@latest"}],12506);let r=Symbol.for("six-degrees.scan-state");function n(){let e=globalThis[r];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function t(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,r=n()){return r?`${t(r)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[r]||(globalThis[r]=e),globalThis[r]},"runningNow",0,t,"scannerJob",0,n],1348)}];
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__17kn1mk._.js.map
|
|
@@ -5,4 +5,4 @@ module.exports=[70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry
|
|
|
5
5
|
ORDER BY connections DESC, u.created_at ASC, u.rowid ASC
|
|
6
6
|
`).all().map(e=>(0,t.decodeRow)("users",e));if(r)return r;if(!e)return null;let n=(0,t.newId)();return(0,t.getDb)().prepare("INSERT INTO users (id, name) VALUES (?, ?)").run(n,"You"),{...(0,t.decodeRow)("users",(0,t.getDb)().prepare("SELECT * FROM users WHERE id = ?").get(n)),connections:0}}])},12506,1348,e=>{"use strict";e.s(["compareVersions",0,function(e,t){let r=e=>String(e||"").replace(/^v/i,"").split(/[-+]/)[0].split(".").map(e=>Number.parseInt(e,10)||0),n=r(e),s=r(t);for(let e=0;e<Math.max(n.length,s.length);e++){let t=(n[e]||0)-(s[e]||0);if(0!==t)return t>0?1:-1}return 0},"installKind",0,function(e=process.env,t=""){return["mac-app","source","npm"].includes(e.SIX_DEGREES_INSTALL)?e.SIX_DEGREES_INSTALL:/\.app\/Contents\/Resources/.test(t||"")?"mac-app":"npm"},"repoSlug",0,function(e){let t=("string"==typeof e?e:e?.url||"").match(/github\.com[/:]([^/]+)\/([^/.#?]+)/);return t?`${t[1]}/${t[2]}`:null},"updateCommand",0,function(e,t,{dataDir:r}={}){if("mac-app"===e)return`curl -fsSL https://raw.githubusercontent.com/${t}/main/install.sh | bash`;if("source"===e)return"git pull && npm ci && npm run build && npm run start:packaged";let n=r&&`'${String(r).replace(/'/g,"'\\''")}'`;return n?`npx six-degrees@latest --data-dir ${n}`:"npx six-degrees@latest"}],12506);let t=Symbol.for("six-degrees.scan-state");function r(){let e=globalThis[t];return e?.running!==!0?null:"string"==typeof e.action&&e.action?e.action:"scan"}function n(e){switch(e){case"install":return"The scanner's packages are being installed";case"setup":return"The scanner is being set up";case"login":return"The LinkedIn sign-in window is open";case"photos":return"Profile photos are being saved";default:return"A scan is running"}}e.s(["busyRefusal",0,function(e,t=r()){return t?`${n(t)}. ${e}`:null},"registerScanState",0,function(e){return globalThis[t]||(globalThis[t]=e),globalThis[t]},"runningNow",0,n,"scannerJob",0,r],1348)},98199,e=>{"use strict";var t=e.i(50227),r=e.i(12506);let n="Six Degrees.app",s="SHA256SUMS",i=Object.freeze({apiBase:"https://api.github.com",downloadBase:"https://github.com"}),o=(e,t)=>({refusal:{code:e,message:t}}),a={arm64:"Apple Silicon",x64:"Intel"},l={0x1000007:"x64",0x100000c:"arm64"};e.s(["APP_BUNDLE_NAME",0,n,"BUNDLE_ID",0,"com.blakeburford.sixdegrees","CHIP_LABEL",0,a,"GITHUB",0,i,"UPDATE_HANDOFF_EXIT_CODE",0,76,"chipOf",0,function({sysctlArm64:e,processArch:t}={}){return"1"===String(e??"").trim()||"arm64"===t?"arm64":"x64"},"digestsMatch",0,function(e,t){let r=String(e||"").toLowerCase(),n=String(t||"").toLowerCase();return/^[0-9a-f]{64}$/.test(r)&&r===n},"foreignAppProcesses",0,function(e,{bundles:t=[],uid:r}){let n=t.filter(Boolean).map(e=>`${e}/Contents/`);if(!n.length||!Number.isInteger(r))return[];let s=[];for(let t of String(e||"").split("\n")){let e=t.match(/^\s*(\d+)\s+(\d+)\s+(.+)$/);e&&Number(e[1])!==r&&n.some(t=>e[3].startsWith(t))&&s.push(Number(e[2]))}return s},"helperArgs",0,function({target:e,staged:t,keepDir:r,statusFile:n,from:s,to:i,pids:o=[],waitSeconds:a=30,logFile:l,work:u,relaunch:d=[],confirmFile:p,confirmWaitSeconds:c=600}){let f=["--target",e,"--staged",t,"--keep",r,"--status",n,"--from",s,"--to",i,"--wait",String(a)];for(let e of o)Number.isInteger(e)&&e>1&&f.push("--pid",String(e));return p&&f.push("--confirm",p,"--confirm-wait",String(c)),l&&f.push("--log",l),u&&f.push("--work",u),[...f,"--",...d]},"installerTarget",0,function({applicationsWritable:e=!0,home:r=""}={}){return e?t.default.join("/Applications",n):t.default.join(r,"Applications",n)},"lastUpdateReport",0,function(e,{runningVersion:t,now:s=Date.now(),maxAgeDays:i=7}={}){if(!e||"object"!=typeof e||"string"!=typeof e.to)return null;let o=Date.parse(e.at);if(!Number.isFinite(o)||s-o>864e5*i)return null;let a=e.to,l="string"==typeof e.reason&&e.reason.trim()?e.reason.trim().replace(/\.$/,""):null,u={at:new Date(o).toISOString(),from:e.from||null,to:a,previous:"string"==typeof e.previous?e.previous:null},d=t?(0,r.compareVersions)(t,a):null,p=`The update to ${a} didn't finish${l?`: ${l}`:""}.`;switch(e.outcome){case"installed":case"started":if(0===d)return{...u,tone:"ok",text:`Updated to ${a}.`};if(d>0)return null;if("installed"===e.outcome)return{...u,tone:"bad",text:`Version ${a} was installed, but this copy is ${t}. If you have two copies of Six Degrees, open the one in Applications.`};return{...u,tone:"bad",text:`The update to ${a} didn't finish, and it didn't say why.${e.log?` Its log is ${e.log}.`:""}`};case"not-applied":if(null!==d&&d>=0)return null;return{...u,tone:"bad",text:`${p} Nothing was changed.`};case"rolled-back":if(null!==d&&d>=0)return null;return{...u,tone:"bad",text:`${p} Your previous version was put back.`};case"failed":if(null!==d&&d>=0)return null;return{...u,tone:"bad",text:`${p}${e.previous?` Your previous version is safe, in a hidden folder: ${e.previous}. To use it again, rename it to ${n} (in Finder, Shift-Command-. shows hidden files). Or install the newest version: Check for updates, below.`:""}`};default:return null}},"leftoversBeside",0,function(e,t){let r=`.${t}.`,n=[];for(let t of e){if("string"!=typeof t||!t.startsWith(r))continue;let e=t.slice(r.length);if("incoming"===e){n.push({name:t,kind:"incoming",pid:null});continue}let s=e.match(/^(previous|failed)-(\d+)(?:-\d+)?$/);s&&n.push({name:t,kind:s[1],pid:Number(s[2])})}return n},"machoArchs",0,function(e){let t=new Set;if(!e||e.length<8)return t;let r=e=>{l[e>>>0]&&t.add(l[e>>>0])},n=e.readUInt32LE(0);if(0xfeedfacf===n||0xfeedface===n)return r(e.readUInt32LE(4)),t;let s=e.readUInt32BE(0);if(0xcafebabe===s||0xcafebabf===s){let n=e.readUInt32BE(4),i=0xcafebabf===s?32:20;if(n<1||n>16)return t;for(let t=0;t<n;t++){let n=8+t*i;if(n+4>e.length)break;r(e.readUInt32BE(n))}}return t},"parseSha256Sums",0,function(e){let t=new Map;for(let r of String(e||"").split("\n")){let e=r.replace(/\r$/,"").match(/^([0-9a-fA-F]{64}) [ *](.+)$/);if(!e)continue;let[,n,s]=e,i=n.toLowerCase();t.has(s)&&t.get(s)!==i?t.set(s,null):t.set(s,i)}return t},"planFromRelease",0,function(e,{currentVersion:t,chip:n,slug:l,downloadBase:u=i.downloadBase}){if(!e||"object"!=typeof e||!e.tag_name)return o("no-release","GitHub did not describe a release.");let d=String(e.tag_name),p=d.replace(/^v/i,"");if(e.draft||e.prerelease||p.includes("-"))return o("prerelease",`Version ${p} is a test version, so it isn't installed from here.`);if(!/^\d+(\.\d+){1,3}$/.test(p))return o("bad-version",`GitHub's newest release has a version this app doesn't understand (${d}).`);if(0>=(0,r.compareVersions)(p,t))return o("not-newer",`You already have ${t}, and the newest version is ${p}.`);let c=Array.isArray(e.assets)?e.assets:[],f=e=>c.find(t=>t&&t.name===e)||null,m=f(`Six-Degrees-${p}-${n}.dmg`);if(!m)return o("no-download",`Version ${p} has no download for this Mac (${a[n]||n}).`);let g=f(s);if(!g)return o("no-checksums",`Version ${p} was published without its checksum file (${s}), so its download can't be checked.`);let h=`${u}/${l}/releases/download/${encodeURIComponent(d)}/`;for(let e of[m,g])if(e.browser_download_url!==h+encodeURIComponent(e.name))return o("unexpected-address",`GitHub listed ${e.name} at an unexpected address, so it wasn't downloaded.`);let x=Number(m.size)>0?Number(m.size):null;return x&&x>0x40000000?o("too-large",`The download for version ${p} is unexpectedly large, so it wasn't downloaded.`):{plan:{version:p,tag:d,notes:"string"==typeof e.html_url?e.html_url:null,dmg:{name:m.name,url:m.browser_download_url,size:x},sums:{name:g.name,url:g.browser_download_url}}}},"relaunchArgs",0,function({dataDir:e}={}){let r=["--after-update"];return e&&r.push("--data-dir",t.default.resolve(e)),r},"releaseSource",0,function(e={}){let t=e?.SIX_DEGREES_TEST_RELEASES;if(!t)return{...i,test:!1};let r=null;try{r=new URL(String(t))}catch{}return!r||"http:"!==r.protocol||"127.0.0.1"!==r.hostname||""===r.port||"/"!==r.pathname||r.search||r.hash||r.username||r.password?{...i,test:!1}:{apiBase:r.origin,downloadBase:r.origin,test:!0}},"stagingPath",0,function(e){return t.default.join(t.default.dirname(e),`.${t.default.basename(e)}.incoming`)},"terminalFallback",0,function({bundle:e,refusalCode:t=null,installsTo:r,dataDir:n=null}){if("data-inside-app"===t||"database-elsewhere"===t||"not-owner"===t&&e===r)return null;let s=n?{dataDir:n}:{};return e&&e===r?{mode:"replace",...s}:{mode:"elsewhere",installsTo:r,...s}},"versionAtLeast",0,function(e,t){return(0,r.compareVersions)(e,t)>=0}])}];
|
|
7
7
|
|
|
8
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
8
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1dmc7-t._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[81638,e=>{"use strict";let t;var n=e.i(74533),r=e.i(2157),i=e.i(50227),o=e.i(10960),a=e.i(88602);let s=/LinkedIn reports (\d+) connections/,l=/^Downloading Python [\d.]+: ([\d.]+) of ([\d.]+) MB$/,u=/(\d+)\s*\/\s*(\d+)\s+collected/,d=/Collected all (\d+) connections/,c=/\[(\d+)\/(\d+)\]/,p=/^(Collected \d+ connections|Pushing \d+ connections|\s*Sent \d+ →|\s*Updating \d+ profile images|\s*\[image_store\]|\s*Images \d+-\d+)/;function h(e,t){return t?{done:Math.min(e,t),total:t,kind:"walk"}:null}var f=e.i(41238);function g(e,t){try{let n=JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-progress.json"),"utf8")),o=n?.[String(t||"default")];return o&&"object"==typeof o?o:{}}catch{return{}}}function m(e){try{return JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-unclear.json"),"utf8"))||{}}catch{return{}}}function b(e,t,n={},r={}){let i=[];for(let o of e){let e=o.profile_url,a=e?n[e]:void 0;if(!t.has(o.id)&&!a)continue;let s=function(e){if(!e)return 11;if(e.hidden||!e.more)return null;let t=(Number(e.pages)||0)+1;return t<=100?t:null}(a);null!=s&&i.push({id:o.id,name:o.name,tier:o.tier,profileUrl:e,pagesRead:s-1,nextPage:s,legacy:!a,at:a?.at||null,unclear:Number(r?.[e]?.n)||0,connected:o.connected_date||null,created:o.created_at||null})}let o=e=>`${+!!e.connected}|${e.connected||e.created||""}`;return i.sort((e,t)=>(e.unclear>=2)-(t.unclear>=2)||o(t).localeCompare(o(e))),i}var y=e.i(88431),w=e.i(1348),v=e.i(19041),_=e.i(98612);function S(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}var R=e.i(66680),E=e.i(12714),T=e.i(98199),x=e.i(26525);let k=Object.freeze({release:"20260814",version:"3.12.14",builds:Object.freeze({"darwin-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-apple-darwin-install_only.tar.gz",sha256:"4572133a5542f306b9bdb155da5800f9e38950cd0a98d469b832ce256fe299ea",size:0x17fc7f8}),"darwin-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-apple-darwin-install_only.tar.gz",sha256:"1a94c83264731e9603fbea78e57e7ca8f20e7d91eb866627ac2304621b0f6f1f",size:0x17b03bb}),"linux-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"5acfa3e9ba26b51ae161c83aff278da915b590d22373a424b2ba55b8afe91fcc",size:0x208fdfb}),"linux-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"2d8e17dfd732102cfeb18e0e1fa6769b24caa034e159981129590fe409c7157a",size:0x1bdd3eb})})}),
|
|
1
|
+
module.exports=[81638,e=>{"use strict";let t;var n=e.i(74533),r=e.i(2157),i=e.i(50227),o=e.i(10960),a=e.i(88602);let s=/LinkedIn reports (\d+) connections/,l=/^Downloading Python [\d.]+: ([\d.]+) of ([\d.]+) MB$/,u=/(\d+)\s*\/\s*(\d+)\s+collected/,d=/Collected all (\d+) connections/,c=/\[(\d+)\/(\d+)\]/,p=/^(Collected \d+ connections|Pushing \d+ connections|\s*Sent \d+ →|\s*Updating \d+ profile images|\s*\[image_store\]|\s*Images \d+-\d+)/;function h(e,t){return t?{done:Math.min(e,t),total:t,kind:"walk"}:null}var f=e.i(41238);function g(e,t){try{let n=JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-progress.json"),"utf8")),o=n?.[String(t||"default")];return o&&"object"==typeof o?o:{}}catch{return{}}}function m(e){try{return JSON.parse((0,r.readFileSync)(i.default.join(e,"bridge-unclear.json"),"utf8"))||{}}catch{return{}}}function b(e,t,n={},r={}){let i=[];for(let o of e){let e=o.profile_url,a=e?n[e]:void 0;if(!t.has(o.id)&&!a)continue;let s=function(e){if(!e)return 11;if(e.hidden||!e.more)return null;let t=(Number(e.pages)||0)+1;return t<=100?t:null}(a);null!=s&&i.push({id:o.id,name:o.name,tier:o.tier,profileUrl:e,pagesRead:s-1,nextPage:s,legacy:!a,at:a?.at||null,unclear:Number(r?.[e]?.n)||0,connected:o.connected_date||null,created:o.created_at||null})}let o=e=>`${+!!e.connected}|${e.connected||e.created||""}`;return i.sort((e,t)=>(e.unclear>=2)-(t.unclear>=2)||o(t).localeCompare(o(e))),i}var y=e.i(88431),w=e.i(1348),v=e.i(19041),_=e.i(98612);function S(e){return String(e?.profile_url||"").split(/[?#]/)[0].replace(/\/+$/,"")||`id:${e?.id}`}var R=e.i(66680),E=e.i(12714),T=e.i(98199),x=e.i(26525);let k=Object.freeze({release:"20260814",version:"3.12.14",builds:Object.freeze({"darwin-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-apple-darwin-install_only.tar.gz",sha256:"4572133a5542f306b9bdb155da5800f9e38950cd0a98d469b832ce256fe299ea",size:0x17fc7f8}),"darwin-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-apple-darwin-install_only.tar.gz",sha256:"1a94c83264731e9603fbea78e57e7ca8f20e7d91eb866627ac2304621b0f6f1f",size:0x17b03bb}),"linux-x64":Object.freeze({file:"cpython-3.12.14+20260814-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"5acfa3e9ba26b51ae161c83aff278da915b590d22373a424b2ba55b8afe91fcc",size:0x208fdfb}),"linux-arm64":Object.freeze({file:"cpython-3.12.14+20260814-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz",sha256:"2d8e17dfd732102cfeb18e0e1fa6769b24caa034e159981129590fe409c7157a",size:0x1bdd3eb})})}),C=Object.freeze({min:[3,10],max:[3,14]}),N=Object.freeze(["/usr/bin/python3","python3","python","python3.14","python3.13","python3.12","python3.11","python3.10"]);function P(e,t=C){let n=String(e||"").match(/^(\d+)\.(\d+)/);if(!n)return!1;let r=[Number(n[1]),Number(n[2])],i=(e,t)=>e[0]-t[0]||e[1]-t[1];return i(r,t.min)>=0&&0>=i(r,t.max)}let D="import requests; from PIL import Image; from playwright.sync_api import sync_playwright",A=`import sys
|
|
2
2
|
print("version %d.%d.%d" % sys.version_info[:3])
|
|
3
3
|
try:
|
|
4
4
|
import venv, ensurepip
|
|
@@ -9,17 +9,17 @@ try:
|
|
|
9
9
|
${D}
|
|
10
10
|
print("imports")
|
|
11
11
|
except Exception as e:
|
|
12
|
-
print("missing %s: %s" % (type(e).__name__, (str(e).splitlines() or [""])[0][:200]))`;function O(e){let t={version:null,venv:!1,imports:!1,missing:null};for(let n of String(e||"").split("\n").map(e=>e.trim()))n.startsWith("version ")?t.version=n.slice(8).trim()||null:"venv"===n?t.venv=!0:"imports"===n?t.imports=!0:n.startsWith("missing ")&&(t.missing=n.slice(8).trim()||null);return t}let j=Object.freeze(["-E","-s","-B","-u"]);function I(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PYTHON")||(t[n]=r);return t.PYTHONNOUSERSITE="1",t.PYTHONDONTWRITEBYTECODE="1",t}function $(e=process.env){return{...e,PYTHONDONTWRITEBYTECODE:"1"}}let M=new Set(["target","prefix","root","user"]);function H(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PIP_")&&M.has(n.slice(4).toLowerCase().replace(/_/g,"-"))||(t[n]=r);return t}function L(e){return i.default.join(e,"venv")}function U(e,t=process.platform){return"win32"===t?i.default.join(L(e),"Scripts","python.exe"):i.default.join(L(e),"bin","python")}let F="python";function W(e){return i.default.join(e,F,"bin","python3")}function z(e,t,{timeoutMs:r=8e3,env:i}={}){return new Promise(o=>{let a,s="",l="",u=!1,d=e=>{u||(u=!0,o(e))};try{a=(0,n.spawn)(e,t,{stdio:["ignore","pipe","pipe"],...i?{env:i}:{}})}catch(e){d({ok:!1,stdout:s,stderr:l,problem:e.message});return}let c=(e,t)=>e.length<16384?e+t.toString():e;a.stdout.on("data",e=>{s=c(s,e)}),a.stderr.on("data",e=>{l=c(l,e)});let p=setTimeout(()=>{try{a.kill("SIGKILL")}catch{}d({ok:!1,stdout:s,stderr:l,problem:`it didn't answer within ${Math.round(r/1e3)} seconds`})},r);a.on("error",e=>{clearTimeout(p),d({ok:!1,stdout:s,stderr:l,problem:"ENOENT"===e.code?"it isn't there":e.message})}),a.on("close",(e,t)=>{clearTimeout(p);let n=l.trim().split("\n").pop()||"";d({ok:0===e,stdout:s,stderr:l,problem:0===e?null:t?`it was stopped (${t})`:n||`it exited with ${e}`})})})}async function q({bundled:e="",app:t="",dataDir:n,probe:o=z,exists:a=r.default.existsSync,host:s=null,systemCandidates:l=
|
|
12
|
+
print("missing %s: %s" % (type(e).__name__, (str(e).splitlines() or [""])[0][:200]))`;function O(e){let t={version:null,venv:!1,imports:!1,missing:null};for(let n of String(e||"").split("\n").map(e=>e.trim()))n.startsWith("version ")?t.version=n.slice(8).trim()||null:"venv"===n?t.venv=!0:"imports"===n?t.imports=!0:n.startsWith("missing ")&&(t.missing=n.slice(8).trim()||null);return t}let j=Object.freeze(["-E","-s","-B","-u"]);function I(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PYTHON")||(t[n]=r);return t.PYTHONNOUSERSITE="1",t.PYTHONDONTWRITEBYTECODE="1",t}function $(e=process.env){return{...e,PYTHONDONTWRITEBYTECODE:"1"}}let M=new Set(["target","prefix","root","user"]);function H(e=process.env){let t={};for(let[n,r]of Object.entries(e))n.startsWith("PIP_")&&M.has(n.slice(4).toLowerCase().replace(/_/g,"-"))||(t[n]=r);return t}function L(e){return i.default.join(e,"venv")}function U(e,t=process.platform){return"win32"===t?i.default.join(L(e),"Scripts","python.exe"):i.default.join(L(e),"bin","python")}let F="python";function W(e){return i.default.join(e,F,"bin","python3")}function z(e,t,{timeoutMs:r=8e3,env:i}={}){return new Promise(o=>{let a,s="",l="",u=!1,d=e=>{u||(u=!0,o(e))};try{a=(0,n.spawn)(e,t,{stdio:["ignore","pipe","pipe"],...i?{env:i}:{}})}catch(e){d({ok:!1,stdout:s,stderr:l,problem:e.message});return}let c=(e,t)=>e.length<16384?e+t.toString():e;a.stdout.on("data",e=>{s=c(s,e)}),a.stderr.on("data",e=>{l=c(l,e)});let p=setTimeout(()=>{try{a.kill("SIGKILL")}catch{}d({ok:!1,stdout:s,stderr:l,problem:`it didn't answer within ${Math.round(r/1e3)} seconds`})},r);a.on("error",e=>{clearTimeout(p),d({ok:!1,stdout:s,stderr:l,problem:"ENOENT"===e.code?"it isn't there":e.message})}),a.on("close",(e,t)=>{clearTimeout(p);let n=l.trim().split("\n").pop()||"";d({ok:0===e,stdout:s,stderr:l,problem:0===e?null:t?`it was stopped (${t})`:n||`it exited with ${e}`})})})}async function q({bundled:e="",app:t="",dataDir:n,probe:o=z,exists:a=r.default.existsSync,host:s=null,systemCandidates:l=N,timeouts:u={own:2e4,other:8e3},env:d=process.env}={}){let c={run:null,own:null,base:null,systemFound:null,download:null};if(e){let n=t&&i.default.resolve(e).startsWith(`${i.default.resolve(t)}${i.default.sep}`)?"bundled":"custom",r=await o(e,[...j,"-c",A],{timeoutMs:u.own,env:I(d)}),a=O(r.stdout);if(r.ok&&a.imports)return c.run={path:e,source:n,version:a.version},c;c.own={source:n,problem:a.missing||r.problem||"it didn't start"}}let p=U(n);if(a(p)){let e=await o(p,["-c",A],{timeoutMs:u.other,env:d}),t=O(e.stdout);if(e.ok&&t.imports)return c.run={path:p,source:"venv",version:t.version},c}let h=[];for(let e of l){let t=await o(e,["-c",A],{timeoutMs:u.other,env:d}),n=O(t.stdout);if(n.version){if(t.ok&&n.imports)return c.run={path:e,source:"system",version:n.version},c;h.push({path:e,version:n.version,venv:n.venv})}}let f=h.find(e=>e.venv&&P(e.version));if(f)return c.base={path:f.path,source:"system",version:f.version},c;let g=h.find(e=>P(e.version))||h[0];c.systemFound=g?{version:g.version,venv:g.venv}:null;let m=W(n);if(a(m)){let e=await o(m,[...j,"-c",A],{timeoutMs:u.other,env:I(d)}),t=O(e.stdout);if(e.ok&&t.venv)return c.base={path:m,source:"downloaded",version:t.version},c}return c.download=function(e,t=k){let n=e&&Object.hasOwn(t.builds,e)?t.builds[e]:null;return n?{key:e,version:t.version,release:t.release,...n,url:function(e,t=k){return`https://github.com/astral-sh/python-build-standalone/releases/download/${t.release}/${encodeURIComponent(e.file)}`}(n,t)}:null}(s),c}class G extends Error{}let B=(...e)=>(globalThis.fetch?._nextOriginalFetch||globalThis.fetch)(...e),K=e=>(e/1048576).toFixed(1);async function X(e,t,{sha256:n,size:r,signal:i,onProgress:o,idleMs:a=3e4,fetchImpl:s=B,from:l="GitHub"}={}){if(!/^[0-9a-f]{64}$/.test(String(n))||!(Number.isInteger(r)&&r>0))throw new G("There is no pinned checksum for this download, so it wasn't started.");let u=`${t}.part`,d=new AbortController,c=i?AbortSignal.any([i,d.signal]):d.signal,p=null,h=()=>{clearTimeout(p),p=setTimeout(()=>d.abort(new G(`The download stopped for ${Math.round(a/1e3)} seconds. Check your connection and try again.`)),a)};h();let f=await E.default.open(u,"w"),g=(0,R.createHash)("sha256"),m=0,b=!1;try{let t=await s(e,{signal:c,redirect:"follow",cache:"no-store",headers:{Accept:"application/octet-stream","User-Agent":"six-degrees-scanner-setup"}});if(!t.ok||!t.body)throw new G(`${l} answered ${t.status} to the download. Try again later.`);let i=Number(t.headers.get("content-length"))||null;if(i&&i!==r)throw new G(`The download isn't the size it should be (${i} bytes, not ${r}), so it was stopped.`);for await(let e of t.body){if(h(),(m+=e.byteLength)>r)throw new G("The download is bigger than it should be, so it was stopped.");g.update(e);let t=0;for(;t<e.byteLength;){let{bytesWritten:n}=await f.write(e,t,e.byteLength-t);t+=n}o?.(m,r)}if(m!==r)throw new G("The download ended early. Try again.");let a=g.digest("hex");if(a!==n)throw new G("The download doesn't match the checksum Six Degrees has for it, so it was deleted and nothing was unpacked.");return b=!0,a}catch(e){if(c.aborted&&c.reason instanceof Error)throw c.reason;throw e}finally{clearTimeout(p),await f.close(),b?await E.default.rename(u,t):await E.default.rm(u,{force:!0})}}async function Y(e,t,n){let o=i.default.join(e,"python");if(!await E.default.lstat(i.default.join(o,"bin","python3")).catch(()=>null))throw new G("The download didn't contain the Python it should have.");let a=i.default.join(t,F);return r.default.existsSync(a)&&await E.default.rename(a,i.default.join(n,"python-before")),await E.default.rename(o,a),W(t)}let V=(0,w.registerScanState)({running:!1,action:null,target:null,recent:[],log:[],startedAt:null,exitCode:null,child:null,abort:null,stopping:!1,stderrTail:[],failure:null});function J(e){for(let t of String(e).split("\n")){let e=t.replace(/\s+$/,"");e&&V.log.push(e)}V.log.length>500&&V.log.splice(0,V.log.length-500)}function Z(){try{let e=(0,r.readFileSync)(i.default.join((0,o.dataDir)(),"bridge-skips.json"),"utf8"),t=JSON.parse(e);return Object.entries(t).map(([e,t])=>({profileUrl:e,name:t?.name??"",reason:t?.reason??"",at:t?.at??null}))}catch{return[]}}function Q(){let e=[],t={};try{let n=(0,a.resolveProfile)({create:!1});if(n){let r=g((0,o.dataDir)(),n.id);for(let[n,i]of(e=Object.keys(r),Object.entries(r)))t[n]={pages:Number(i?.pages)||0,more:!!i?.more,total:Number(i?.total)||null}}}catch{}return{skips:Z(),read:e,lists:t}}let ee={at:0,value:null},et=null,en=0;function er(){en++,ee={at:0,value:null},et=null}let ei=Symbol.for("six-degrees.python-looker"),eo=globalThis[ei]??=function({choose:e=q,now:t=Date.now,retryMs:n=6e4}={}){let r=null,i=null;return async function(o,a={}){if(o&&r?.path===o)return{run:r,own:null,base:null,systemFound:null,download:null};let s=!!o&&i?.path===o&&(!1===i.own.retry||t()-i.at<n),l=await e({...a,bundled:s?"":o});if(s)return{...l,own:i.own};if(o&&l.run?.path===o)r=l.run;else if(o&&l.own){let e="bundled"===l.own.source?{...l.own,retry:!1}:l.own;return i={path:o,at:t(),own:e},{...l,own:e}}return l}}();async function ea(){let e=(0,o.projectRoot)(),n=await eo(process.env.SIX_DEGREES_PYTHON||"",{app:process.env.SIX_DEGREES_APP||"",dataDir:(0,o.dataDir)(),host:(void 0===t&&(t=function({platform:e=process.platform,arch:t=process.arch,sysctlArm64:n=""}={}){return"darwin"===e?`darwin-${(0,T.chipOf)({sysctlArm64:n,processArch:t})}`:"linux"===e&&("x64"===t||"arm64"===t)?`linux-${t}`:null}({sysctlArm64:""})),t)});return{root:e,python:n,chrome:(0,r.existsSync)("/opt/google/chrome/chrome"),signedIn:(0,r.existsSync)(i.default.join((0,o.dataDir)(),"chrome-profile","Default","Cookies"))}}function es(){if(Date.now()-ee.at<4e3&&ee.value)return Promise.resolve(ee.value);if(et)return et;let e=en,t=ea().then(t=>(e===en&&(ee={at:Date.now(),value:t}),t)).finally(()=>{et===t&&(et=null)});return et=t,t}async function el(){let e=await es(),t={first:0,second:0,third:0},n=null;try{(n=(0,a.resolveProfile)({create:!1}))&&(t=(0,a.networkCounts)(n.id))}catch{}let r=0;try{r=(0,_.waitingPhotoCount)((0,y.getDb)())}catch{}let i=e.python;return{ready:!!(e.root&&i.run&&e.chrome),checks:{scriptsFound:!!e.root,python:!!(i.run||i.base),pythonPath:i.run?.path||i.base?.path||null,pythonVersion:i.run?.version||i.base?.version||null,pythonSource:i.run?.source||null,dependencies:!!i.run,ownPython:i.own,installFrom:i.base?{source:i.base.source,version:i.base.version}:null,systemPython:i.systemFound,download:i.download?{version:i.download.version,size:i.download.size,from:"github.com"}:null,chrome:e.chrome,signedIn:e.signedIn},network:t,photosWaiting:r,...eu(),skips:Z(),linkedin:(0,f.linkedinState)((0,o.dataDir)()),paused:function(e){if(!e)return[];try{let t=(0,y.getDb)(),n=t.prepare(`SELECT id, name, tier, profile_url, connected_date, created_at
|
|
13
13
|
FROM linkedin_connections WHERE user_id = ? AND degree = 1`).all(e),r=new Set(t.prepare(`SELECT DISTINCT source_connection_id AS id FROM linkedin_connections
|
|
14
|
-
WHERE user_id = ? AND degree = 2 AND source_connection_id IS NOT NULL`).all(e).map(e=>e.id));return b(n,r,g((0,o.dataDir)(),e),m((0,o.dataDir)()))}catch{return[]}}(n?.id)}}function eu(){return{running:V.running,action:V.action,target:V.target,startedAt:V.startedAt,exitCode:V.exitCode,failure:V.running?null:V.failure,progress:V.running?function(e,t){if(!Array.isArray(e)||0===e.length)return null;if("setup"===t){let t=String(e[e.length-1]).match(l);return t&&Number(t[2])?{done:Math.min(Number(t[1]),Number(t[2])),total:Number(t[2]),kind:"download"}:null}if("full"===t||"refresh"===t){for(let t=e.length-1;t>=0;t--){let n=String(e[t]);if(p.test(n))return{kind:"saving"};let r=n.match(d);if(r)return h(Number(r[1]),Number(r[1]));let i=n.match(u);if(i)return h(Number(i[1]),Number(i[2]));let o=n.match(s);if(o)return h(0,Number(o[1]))}return null}if(t&&(t.startsWith("auto-bridge")||"resume-all"===t))for(let t=e.length-1;t>=0;t--){let n=String(e[t]).match(c);if(n){let e=Number(n[1]),t=Number(n[2]);if(!t)return null;return{done:Math.min(e-1,t),total:t,current:e,kind:"batch"}}}return null}(V.log,V.action):null,log:V.log.slice(-120),recent:V.recent}}async function ed(e){let t=new URL(e?.url||"http://127.0.0.1/api/scraper").searchParams;return t.has("job")?Response.json(eu()):t.has("resume")?Response.json({resume:function(e){try{let t=(0,a.resolveProfile)({create:!1});if(!t)return null;let n=(0,y.getDb)(),r=n.prepare(`SELECT id, name, tier, profile_url, connected_date, created_at
|
|
14
|
+
WHERE user_id = ? AND degree = 2 AND source_connection_id IS NOT NULL`).all(e).map(e=>e.id));return b(n,r,g((0,o.dataDir)(),e),m((0,o.dataDir)()))}catch{return[]}}(n?.id)}}function eu(){return{running:V.running,action:V.action,target:V.target,startedAt:V.startedAt,exitCode:V.exitCode,failure:V.running?null:V.failure,progress:V.running?function(e,t){if(!Array.isArray(e)||0===e.length)return null;if("setup"===t){let t=String(e[e.length-1]).match(l);return t&&Number(t[2])?{done:Math.min(Number(t[1]),Number(t[2])),total:Number(t[2]),kind:"download"}:null}if("full"===t||"refresh"===t){for(let t=e.length-1;t>=0;t--){let n=String(e[t]);if(p.test(n))return{kind:"saving"};let r=n.match(d);if(r)return h(Number(r[1]),Number(r[1]));let i=n.match(u);if(i)return h(Number(i[1]),Number(i[2]));let o=n.match(s);if(o)return h(0,Number(o[1]))}return null}if(t&&(t.startsWith("auto-bridge")||"resume-all"===t))for(let t=e.length-1;t>=0;t--){let n=String(e[t]).match(c);if(n){let e=Number(n[1]),t=Number(n[2]);if(!t)return null;return{done:Math.min(e-1,t),total:t,current:e,kind:"batch"}}}return null}(V.log,V.action):null,log:V.log.slice(-120),recent:V.recent,budget:V.running?function(){try{let e=(0,f.linkedinState)((0,o.dataDir)());return{searches:e.searchesToday??0,cap:e.limits?.daily??null,profiles:e.profilesToday??0,profileCap:e.limits?.profiles??null}}catch{return null}}():null}}async function ed(e){let t=new URL(e?.url||"http://127.0.0.1/api/scraper").searchParams;return t.has("job")?Response.json(eu()):t.has("resume")?Response.json({resume:function(e){try{let t=(0,a.resolveProfile)({create:!1});if(!t)return null;let n=(0,y.getDb)(),r=n.prepare(`SELECT id, name, tier, profile_url, connected_date, created_at
|
|
15
15
|
FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1`).get(String(e??""),t.id);if(!r)return null;let i=n.prepare("SELECT 1 FROM linkedin_connections WHERE user_id = ? AND degree = 2 AND source_connection_id = ? LIMIT 1").get(t.id,r.id),[s]=b([r],new Set(i?[r.id]:[]),g((0,o.dataDir)(),t.id),m((0,o.dataDir)()));return s?{nextPage:s.nextPage,pagesRead:s.pagesRead,legacy:s.legacy}:null}catch{return null}}(t.get("resume"))}):t.has("reach")?Response.json(Q()):t.has("person")?Response.json(function(e){try{let t=(0,a.resolveProfile)({create:!1});if(!t)return{person:null};let n=(0,y.getDb)(),r=n.prepare(`SELECT id, name, tier, power_score, degree, profile_url, unlocked_from_bridge_id, unlocked_from_name
|
|
16
|
-
FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1`).get(String(e??""),t.id);if(!r)return{person:null};let i=n.prepare("SELECT 1 FROM linkedin_connections WHERE user_id = ? AND degree = 2 AND source_connection_id = ? LIMIT 1").get(t.id,r.id),o=function(e=[],t=[],n={}){let r=new Set;for(let e of t||[])e?.source_connection_id!=null&&r.add(e.source_connection_id);let i=new Set;for(let e of n?.skips||[])e?.profileUrl&&i.add(S({profile_url:e.profileUrl}));let o=new Set;for(let e of n?.read||[])e&&o.add(S({profile_url:e}));let a=new Map;for(let[e,t]of Object.entries(n?.lists||{}))e&&t&&a.set(S({profile_url:e}),t);let s=new Map;for(let t of e||[]){let e=t?.unlocked_from_bridge_id;if(null==e||1!==t.degree)continue;let n=s.get(e);n||s.set(e,n=[]),n.push(t)}return{scanned:r,read:o,hidden:i,reachedFrom:s,lists:a}}([],i?[{source_connection_id:r.id}]:[],Q());return{person:{id:r.id,name:r.name,tier:r.tier,power_score:r.power_score,unlocked_from_bridge_id:r.unlocked_from_bridge_id,unlocked_from_name:r.unlocked_from_name},circle:r?o.scanned.has(r.id)||r.profile_url&&o.read?.has(S(r))?"scanned":r.profile_url&&o.hidden.has(S(r))?"hidden":"todo":"todo"}}catch{return{person:null}}}(t.get("person"))):Response.json(await el())}let ec={install:{label:"Installing the scanner’s Python packages"},setup:{label:"Setting up the scanner"},login:{flag:"--login",label:"Opening LinkedIn so you can sign in"},full:{flag:"--full",label:"Scanning your whole network"},refresh:{flag:"--refresh",label:"Checking for new connections"},"auto-bridge":{flag:"--auto-bridge",label:"Mapping every bridge in turn"},"auto-bridge-retry":{flag:"--auto-bridge --retry-private",label:"Mapping every bridge, hidden ones included"},bridge:{flag:"--bridge",needsName:!0,byId:!0,label:"Mapping the circle behind"},resume:{flag:"--bridge-url",needsId:!0,label:"Carrying on with",searches:!0},"resume-all":{flag:"--auto-bridge --only-unfinished",label:"Carrying on with every paused list",searches:!0},rescrape:{flag:"--rescrape",needsName:!0,label:"Re-mapping the circle behind"},company:{flag:"--company",needsName:!0,label:"Scanning"},photos:{flag:"--save-photos",label:"Saving profile photos to this computer"}};async function ep(e){let t,s={};try{s=await e.json()}catch{}let l=String(s.action||"");if("cancel"===l)return!function(){if(V.abort){V.stopping=!0,J("Stopping…"),V.abort.abort(new G("Stopped."));return}let e=V.child;if(!e)return;V.stopping=!0,J("Stopping…");let t=e.pid;try{process.kill(-t,"SIGTERM")}catch{try{e.kill("SIGTERM")}catch{}}setTimeout(()=>{if(V.child&&V.child.pid===t){J("Still running — forcing it.");try{process.kill(-t,"SIGKILL")}catch{try{e.kill("SIGKILL")}catch{}}}},2e4)}(),Response.json({ok:!0,cancelled:!0});if("set-limits"===l){let e=(0,f.writeLimits)((0,o.dataDir)(),{daily:s.daily,monthly:s.monthly,profiles:s.profiles});return Response.json({ok:!0,limits:e})}if("lift-cooldown"===l)return(0,f.liftCooldown)((0,o.dataDir)()),Response.json({ok:!0});if(!Object.hasOwn(ec,l))return Response.json({error:`Unknown action '${l}'`},{status:400});let u=ec[l],d=Number.isInteger(s.maxBridges)&&s.maxBridges>0?Math.min(s.maxBridges,500):0,c=Array.isArray(s.tiers)?s.tiers.map(e=>String(e).toUpperCase()).filter(e=>"SABCD".includes(e)&&1===e.length):[],p="score"===s.order?"score":"newest",h=[10,25,50,100].includes(s.maxPages)?s.maxPages:100,g=l.startsWith("auto-bridge")||["bridge","rescrape","resume","resume-all"].includes(l),m=!0===s.deeper&&(l.startsWith("auto-bridge")||"bridge"===l),b=u.needsId||u.byId&&!!s.id,w=null;if(u.needsName&&!b){let e;if(!(w=!(e=String(s.name??"").trim())||e.length>120||/[\u0000-\u001f]/.test(e)?null:e))return Response.json({error:"A name is required for this action."},{status:400})}let _=null,S=null;if(b){try{var R;let e,t=(0,a.resolveProfile)({create:!1});S=t&&(0,y.getDb)().prepare("SELECT name, profile_url FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1").get(String(s.id??""),t.id),_=S?.profile_url&&(R=S.profile_url,(e=String(R??"").trim()).length>400||/[\u0000-\u001f\s]/.test(e)?null:/^https?:\/\/([a-z]{2,3}\.|www\.)?linkedin\.com\/in\/[^/?#]+\/?$/i.test(e)?e:null)}catch{_=null}if(!_)return Response.json({error:"That connection could not be found."},{status:400})}let E="string"==typeof s.id&&/^[\w-]{1,64}$/.test(s.id)?s.id:null,T=w||_?{id:E,name:w||S?.name||null}:null,k=u.searches||l.startsWith("auto-bridge")||["bridge","rescrape","company","full","refresh"].includes(l);if(!["install","setup","login"].includes(l)&&(0,v.pendingImport)((0,o.dataDir)()))return Response.json({error:"An import is waiting to finish. Restart Six Degrees first (Settings → Your data), then scan."},{status:409});let
|
|
16
|
+
FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1`).get(String(e??""),t.id);if(!r)return{person:null};let i=n.prepare("SELECT 1 FROM linkedin_connections WHERE user_id = ? AND degree = 2 AND source_connection_id = ? LIMIT 1").get(t.id,r.id),o=function(e=[],t=[],n={}){let r=new Set;for(let e of t||[])e?.source_connection_id!=null&&r.add(e.source_connection_id);let i=new Set;for(let e of n?.skips||[])e?.profileUrl&&i.add(S({profile_url:e.profileUrl}));let o=new Set;for(let e of n?.read||[])e&&o.add(S({profile_url:e}));let a=new Map;for(let[e,t]of Object.entries(n?.lists||{}))e&&t&&a.set(S({profile_url:e}),t);let s=new Map;for(let t of e||[]){let e=t?.unlocked_from_bridge_id;if(null==e||1!==t.degree)continue;let n=s.get(e);n||s.set(e,n=[]),n.push(t)}return{scanned:r,read:o,hidden:i,reachedFrom:s,lists:a}}([],i?[{source_connection_id:r.id}]:[],Q());return{person:{id:r.id,name:r.name,tier:r.tier,power_score:r.power_score,unlocked_from_bridge_id:r.unlocked_from_bridge_id,unlocked_from_name:r.unlocked_from_name},circle:r?o.scanned.has(r.id)||r.profile_url&&o.read?.has(S(r))?"scanned":r.profile_url&&o.hidden.has(S(r))?"hidden":"todo":"todo"}}catch{return{person:null}}}(t.get("person"))):Response.json(await el())}let ec={install:{label:"Installing the scanner’s Python packages"},setup:{label:"Setting up the scanner"},login:{flag:"--login",label:"Opening LinkedIn so you can sign in"},full:{flag:"--full",label:"Scanning your whole network"},refresh:{flag:"--refresh",label:"Checking for new connections"},"auto-bridge":{flag:"--auto-bridge",label:"Mapping every bridge in turn"},"auto-bridge-retry":{flag:"--auto-bridge --retry-private",label:"Mapping every bridge, hidden ones included"},bridge:{flag:"--bridge",needsName:!0,byId:!0,label:"Mapping the circle behind"},resume:{flag:"--bridge-url",needsId:!0,label:"Carrying on with",searches:!0},"resume-all":{flag:"--auto-bridge --only-unfinished",label:"Carrying on with every paused list",searches:!0},rescrape:{flag:"--rescrape",needsName:!0,label:"Re-mapping the circle behind"},company:{flag:"--company",needsName:!0,label:"Scanning"},messages:{flag:"--messages",label:"Reading your messages list"},photos:{flag:"--save-photos",label:"Saving profile photos to this computer"}};async function ep(e){let t,s={};try{s=await e.json()}catch{}let l=String(s.action||"");if("cancel"===l)return!function(){if(V.abort){V.stopping=!0,J("Stopping…"),V.abort.abort(new G("Stopped."));return}let e=V.child;if(!e)return;V.stopping=!0,J("Stopping…");let t=e.pid;try{process.kill(-t,"SIGTERM")}catch{try{e.kill("SIGTERM")}catch{}}setTimeout(()=>{if(V.child&&V.child.pid===t){J("Still running — forcing it.");try{process.kill(-t,"SIGKILL")}catch{try{e.kill("SIGKILL")}catch{}}}},2e4)}(),Response.json({ok:!0,cancelled:!0});if("set-limits"===l){let e=(0,f.writeLimits)((0,o.dataDir)(),{daily:s.daily,monthly:s.monthly,profiles:s.profiles});return Response.json({ok:!0,limits:e})}if("lift-cooldown"===l)return(0,f.liftCooldown)((0,o.dataDir)()),Response.json({ok:!0});if(!Object.hasOwn(ec,l))return Response.json({error:`Unknown action '${l}'`},{status:400});let u=ec[l],d=Number.isInteger(s.maxBridges)&&s.maxBridges>0?Math.min(s.maxBridges,500):0,c=Array.isArray(s.tiers)?s.tiers.map(e=>String(e).toUpperCase()).filter(e=>"SABCD".includes(e)&&1===e.length):[],p="score"===s.order?"score":"newest",h=[10,25,50,100].includes(s.maxPages)?s.maxPages:100,g=l.startsWith("auto-bridge")||["bridge","rescrape","resume","resume-all"].includes(l),m=!0===s.deeper&&(l.startsWith("auto-bridge")||"bridge"===l),b=u.needsId||u.byId&&!!s.id,w=null;if(u.needsName&&!b){let e;if(!(w=!(e=String(s.name??"").trim())||e.length>120||/[\u0000-\u001f]/.test(e)?null:e))return Response.json({error:"A name is required for this action."},{status:400})}let _=null,S=null;if(b){try{var R;let e,t=(0,a.resolveProfile)({create:!1});S=t&&(0,y.getDb)().prepare("SELECT name, profile_url FROM linkedin_connections WHERE id = ? AND user_id = ? AND degree = 1").get(String(s.id??""),t.id),_=S?.profile_url&&(R=S.profile_url,(e=String(R??"").trim()).length>400||/[\u0000-\u001f\s]/.test(e)?null:/^https?:\/\/([a-z]{2,3}\.|www\.)?linkedin\.com\/in\/[^/?#]+\/?$/i.test(e)?e:null)}catch{_=null}if(!_)return Response.json({error:"That connection could not be found."},{status:400})}let E="string"==typeof s.id&&/^[\w-]{1,64}$/.test(s.id)?s.id:null,T=w||_?{id:E,name:w||S?.name||null}:null,k=u.searches||l.startsWith("auto-bridge")||["bridge","rescrape","company","full","refresh"].includes(l);if(!["install","setup","login"].includes(l)&&(0,v.pendingImport)((0,o.dataDir)()))return Response.json({error:"An import is waiting to finish. Restart Six Degrees first (Settings → Your data), then scan."},{status:409});let C=(0,f.linkedinState)((0,o.dataDir)()).cooldown;if(k&&C)return Response.json({error:`Scanning is paused until ${new Date(C.until).toLocaleString()} — ${C.reason}.`,cooldown:C},{status:409});if(V.running)return Response.json({error:"Something is already running.",action:V.action},{status:409});let N=(0,o.projectRoot)();if(!N)return Response.json({error:"Could not find scripts/scrape.py next to the app."},{status:500});er();let P=(await es()).python;if(V.running)return Response.json({error:"Something is already running.",action:V.action},{status:409});let A=null;if("install"===l||"setup"===l){let e=function(e,t,{root:n,data:o,say:a}){if(t.run)return{status:409,error:"bundled"===t.run.source?"The scanner is already set up: its Python comes with the app.":"The scanner is already set up."};let s=t.base;if("install"===e&&!s)return t.download?{status:409,error:"This computer has no Python the scanner can use. Use Set up the scanner instead."}:{status:500,error:"No Python 3.10 to 3.14 is installed, or none is on this app’s PATH."};if("setup"===e&&s?.source==="system")return{status:409,error:`This computer already has Python ${s.version}, so nothing needs downloading. Use Install instead.`};if("setup"===e&&!s&&!t.download)return{status:409,error:"There is no Python download for this computer. Install Python 3.10 to 3.14, then reload."};let l=i.default.join(n,"scripts","requirements.txt"),u=e=>(function({base:e,dataDir:t,requirements:n}){let r="downloaded"===e.source,i=U(t);return[{cmd:e.path,args:[...r?j:[],"-m","venv","--clear",L(t)],...r?{env:I}:{},note:"Creating the scanner’s own Python environment"},{cmd:i,args:["-m","pip","install","--disable-pip-version-check","--no-input","-r",n],env:H,note:"Installing Playwright, requests and Pillow"},{cmd:i,args:["-c",function(e=D){return`import sys
|
|
17
17
|
try:
|
|
18
18
|
${e}
|
|
19
19
|
except Exception as e:
|
|
20
20
|
first = (str(e).splitlines() or [""])[0][:200]
|
|
21
21
|
sys.stderr.write("pip said it installed them, but the scanner's environment can't load them (%s: %s). A pip setting may send packages somewhere else: pip config list shows yours.\\n" % (type(e).__name__, first))
|
|
22
22
|
sys.exit(1)
|
|
23
|
-
print("The scanner's packages load in its environment.")`}()],note:"Checking that they load"}]})({base:e,dataDir:o,requirements:l});if(s)return{plan:u(s),cleanup:null};let d=t.download;(0,r.mkdirSync)(o,{recursive:!0}),function(e,{now:t=Date.now(),maxAgeMs:n=36e5}={}){let o=[];try{o=r.default.readdirSync(e)}catch{return}for(let a of o){if(!a.startsWith(x.SETUP_WORK_PREFIX))continue;let o=i.default.join(e,a);try{let e=r.default.lstatSync(o);e.isDirectory()&&t-e.mtimeMs>n&&r.default.rmSync(o,{recursive:!0,force:!0})}catch{}}}(o);let c=(0,r.mkdtempSync)(i.default.join(o,x.SETUP_WORK_PREFIX)),p=i.default.join(c,d.file),h=-1;return{plan:[{note:`Downloading Python ${d.version} from GitHub (${K(d.size)} MB)`,run:async({signal:e})=>{await X(d.url,p,{sha256:d.sha256,size:d.size,signal:e,onProgress:(e,t)=>{let n=Math.floor(e/t*10);n>h&&(h=n,a(`Downloading Python ${d.version}: ${K(e)} of ${K(t)} MB`))}}),a("Its checksum matches the one Six Degrees has for it.")}},{cmd:"tar",args:["-xzf",p,"-C",c],note:"Unpacking it"},{run:()=>Y(c,o,c)},...u({path:W(o),source:"downloaded"})],cleanup:()=>(0,r.rmSync)(c,{recursive:!0,force:!0})}}(l,C,{root:P,data:(0,o.dataDir)(),say:J});if(e.error)return Response.json({error:e.error},{status:e.status});({plan:t,cleanup:A}=e)}else{if(!C.run)return Response.json({error:"The scanner’s packages are not installed yet. Do step 1 first."},{status:409});t=[function(e,t,n=[]){let r=e?.source==="bundled"||e?.source==="custom";return{cmd:e.path,args:[...r?j:[],t,...n],env:r?I:$}}(C.run,i.default.join(P,"scripts","scrape.py"),[...w?[`${u.flag}=${w}`]:_?[`--bridge-url=${_}`]:u.flag.split(" "),..._&&"bridge"===l&&!m?["--from-start"]:[],...d&&(l.startsWith("auto-bridge")||"resume-all"===l)?[`--max-bridges=${d}`]:[],...c.length&&l.startsWith("auto-bridge")?[`--tiers=${c.join(",")}`]:[],...l.startsWith("auto-bridge")?[`--order=${p}`]:[],...g?[`--max-pages=${l.startsWith("resume")?100:h}`]:[],...m?["--deeper"]:[]])]}let O=e.headers.get("host")||"127.0.0.1:3000",M=O.includes(":")?O.split(":").pop():"80";V.running=!0,V.stopping=!1,V.action=l,V.target=T,V.exitCode=null,V.startedAt=Date.now(),V.log=[u.label+(T?.name?` ${T.name}…`:"…")],V.stderrTail=[],V.failure=null,er();let F="";try{F=(0,a.resolveProfile)().id}catch{}let z={...process.env,SIX_DEGREES_USER_ID:F,APP_URL:`http://127.0.0.1:${M}`,PYTHONUNBUFFERED:"1",SIX_DEGREES_ROOT:P,SIX_DEGREES_FROM_APP:"1"};function q(e){if(0!==e&&!V.stopping&&V.stderrTail.length){let e=new Set(V.log),t=V.stderrTail.filter(t=>!e.has(t));t.length&&J(t.join("\n"));let n=V.stderrTail.filter(e=>!/Warning|warnings\.warn\(/.test(e)).slice(-6);V.failure=n.length?n:null}if(J(V.stopping?"Stopped.":0===e?"Finished.":`Stopped (exit ${e}).`),V.stopping=!1,V.running=!1,V.child=null,V.abort=null,V.exitCode=e,V.recent=[{action:V.action,target:V.target,startedAt:V.startedAt,exitCode:e,failure:V.failure},...V.recent].slice(0,5),A)try{A()}catch{}er()}return!function e(r){let i;if(r>=t.length)return q(0);let o=t[r];if(o.note&&J(o.note+"…"),o.run){let t=new AbortController;V.abort=t,Promise.resolve().then(()=>o.run({signal:t.signal})).then(()=>{if(V.abort=null,V.stopping)return q(0);e(r+1)},e=>{if(V.abort=null,V.stopping)return q(0);V.stderrTail.push(e instanceof G?e.message:`Could not finish: ${e.message}`),q(1)});return}try{i=(0,n.spawn)(o.cmd,o.args,{cwd:P,env:o.env?o.env(z):z,detached:!0})}catch(e){return J(`Could not start: ${e.message}`),q(-1)}V.child=i,i.stdout.on("data",e=>J(e.toString())),i.stderr.on("data",e=>{let t=e.toString();for(let e of t.split("\n")){let t=e.replace(/\s+$/,"");t&&V.stderrTail.push(t)}V.stderrTail.length>20&&V.stderrTail.splice(0,V.stderrTail.length-20),/error|Error|Traceback|No module|failed|externally-managed/.test(t)&&J(t)}),i.on("error",e=>{J(`Could not start: ${e.message}`),q(-1)}),i.on("close",t=>V.stopping?q(t??0):0===t||o.tolerant?void e(r+1):q(t))}(0),Response.json({ok:!0,action:l,startedAt:V.startedAt})}e.s(["GET",0,ed,"POST",0,ep],81638)},14974,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),i=e.i(59756),o=e.i(61916),a=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(52474);var b=e.i(220);let y=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/scraper/route",pathname:"/api/scraper",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/scraper/route.js",nextConfigOutput:"standalone",userland:()=>e.r(81638),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:v,serverHooks:_}=y;async function S(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),y.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/scraper/route";w=w.replace(/\/index$/,"")||"/";let v=await y.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:_,deploymentId:S,params:R,nextConfig:E,parsedUrl:T,isDraftMode:x,prerenderManifest:k,routerServerContext:N,isOnDemandRevalidate:P,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:A,serverActionsManifest:O}=v,j=(0,s.normalizeAppPath)(w),I=!!(k.dynamicRoutes[j]||k.routes[D]),$=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,T,!1):t.end("This page could not be found"),null);if(I&&!x){let e=!!k.routes[D],t=k.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await $();throw new m.NoFallbackError}}let M=null;!I||y.isDev||x||(M="/index"===(M=D)?"/":M);let H=!0===y.isDev||!I,L=I&&!H;O&&A&&(0,a.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:O});let U=e.method||"GET",F=(0,o.getTracer)(),W=F.getActiveScopeSpan(),z=!!(null==N?void 0:N.isWrappedByNextServer),q=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,E,k,q);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:R,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,supportsDynamicResponse:H,incrementalCache:G,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,i)=>y.onRequestError(e,t,r,i,N)},sharedContext:{buildId:_,deploymentId:S}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t)),V=async({previousCacheEntry:n})=>{try{if(!q&&P&&C&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await y.handle(Y,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let a=B.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(K,X,i,o),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);a&&(t[g.NEXT_CACHE_TAGS_HEADER]=a),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==n&&n>0?E.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:b.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:P})},!1,N),t}},J=async(i,a)=>{try{var s,l;let i=await y.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:C,responseGenerator:V,waitUntil:r.waitUntil,isMinimalMode:q});if(!I)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==b.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});q||t.setHeader("x-nextjs-cache",P?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);q&&I||o.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,f.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(K,X,new Response(i.value.body,{headers:o,status:i.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:P})},!1,N),I)throw t;await (0,p.sendResponse)(K,X,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:o.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||j,s=`${U} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),i.updateName(s),a&&a!==i&&(a.setAttribute("http.route",r),a.updateName(s))})()}};if(z&&W)await J(W,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>J(e,t)),void 0,!z)}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:v})},"routeModule",0,y,"serverHooks",0,_,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,v])}];
|
|
23
|
+
print("The scanner's packages load in its environment.")`}()],note:"Checking that they load"}]})({base:e,dataDir:o,requirements:l});if(s)return{plan:u(s),cleanup:null};let d=t.download;(0,r.mkdirSync)(o,{recursive:!0}),function(e,{now:t=Date.now(),maxAgeMs:n=36e5}={}){let o=[];try{o=r.default.readdirSync(e)}catch{return}for(let a of o){if(!a.startsWith(x.SETUP_WORK_PREFIX))continue;let o=i.default.join(e,a);try{let e=r.default.lstatSync(o);e.isDirectory()&&t-e.mtimeMs>n&&r.default.rmSync(o,{recursive:!0,force:!0})}catch{}}}(o);let c=(0,r.mkdtempSync)(i.default.join(o,x.SETUP_WORK_PREFIX)),p=i.default.join(c,d.file),h=-1;return{plan:[{note:`Downloading Python ${d.version} from GitHub (${K(d.size)} MB)`,run:async({signal:e})=>{await X(d.url,p,{sha256:d.sha256,size:d.size,signal:e,onProgress:(e,t)=>{let n=Math.floor(e/t*10);n>h&&(h=n,a(`Downloading Python ${d.version}: ${K(e)} of ${K(t)} MB`))}}),a("Its checksum matches the one Six Degrees has for it.")}},{cmd:"tar",args:["-xzf",p,"-C",c],note:"Unpacking it"},{run:()=>Y(c,o,c)},...u({path:W(o),source:"downloaded"})],cleanup:()=>(0,r.rmSync)(c,{recursive:!0,force:!0})}}(l,P,{root:N,data:(0,o.dataDir)(),say:J});if(e.error)return Response.json({error:e.error},{status:e.status});({plan:t,cleanup:A}=e)}else{if(!P.run)return Response.json({error:"The scanner’s packages are not installed yet. Do step 1 first."},{status:409});t=[function(e,t,n=[]){let r=e?.source==="bundled"||e?.source==="custom";return{cmd:e.path,args:[...r?j:[],t,...n],env:r?I:$}}(P.run,i.default.join(N,"scripts","scrape.py"),[...w?[`${u.flag}=${w}`]:_?[`--bridge-url=${_}`]:u.flag.split(" "),..._&&"bridge"===l&&!m?["--from-start"]:[],...d&&(l.startsWith("auto-bridge")||"resume-all"===l)?[`--max-bridges=${d}`]:[],...c.length&&l.startsWith("auto-bridge")?[`--tiers=${c.join(",")}`]:[],...l.startsWith("auto-bridge")?[`--order=${p}`]:[],...!0===s.experimental&&l.startsWith("auto-bridge")?["--experimental"]:[],...g?[`--max-pages=${l.startsWith("resume")?100:h}`]:[],...m?["--deeper"]:[]])]}let O=e.headers.get("host")||"127.0.0.1:3000",M=O.includes(":")?O.split(":").pop():"80";V.running=!0,V.stopping=!1,V.action=l,V.target=T,V.exitCode=null,V.startedAt=Date.now(),V.log=[u.label+(T?.name?` ${T.name}…`:"…")],V.stderrTail=[],V.failure=null,er();let F="";try{F=(0,a.resolveProfile)().id}catch{}let z={...process.env,SIX_DEGREES_USER_ID:F,APP_URL:`http://127.0.0.1:${M}`,PYTHONUNBUFFERED:"1",SIX_DEGREES_ROOT:N,SIX_DEGREES_FROM_APP:"1"};function q(e){if(0!==e&&!V.stopping&&V.stderrTail.length){let e=new Set(V.log),t=V.stderrTail.filter(t=>!e.has(t));t.length&&J(t.join("\n"));let n=V.stderrTail.filter(e=>!/Warning|warnings\.warn\(/.test(e)).slice(-6);V.failure=n.length?n:null}if(J(V.stopping?"Stopped.":0===e?"Finished.":`Stopped (exit ${e}).`),V.stopping=!1,V.running=!1,V.child=null,V.abort=null,V.exitCode=e,V.recent=[{action:V.action,target:V.target,startedAt:V.startedAt,exitCode:e,failure:V.failure},...V.recent].slice(0,5),A)try{A()}catch{}er()}return!function e(r){let i;if(r>=t.length)return q(0);let o=t[r];if(o.note&&J(o.note+"…"),o.run){let t=new AbortController;V.abort=t,Promise.resolve().then(()=>o.run({signal:t.signal})).then(()=>{if(V.abort=null,V.stopping)return q(0);e(r+1)},e=>{if(V.abort=null,V.stopping)return q(0);V.stderrTail.push(e instanceof G?e.message:`Could not finish: ${e.message}`),q(1)});return}try{i=(0,n.spawn)(o.cmd,o.args,{cwd:N,env:o.env?o.env(z):z,detached:!0})}catch(e){return J(`Could not start: ${e.message}`),q(-1)}V.child=i,i.stdout.on("data",e=>J(e.toString())),i.stderr.on("data",e=>{let t=e.toString();for(let e of t.split("\n")){let t=e.replace(/\s+$/,"");t&&V.stderrTail.push(t)}V.stderrTail.length>20&&V.stderrTail.splice(0,V.stderrTail.length-20),/error|Error|Traceback|No module|failed|externally-managed/.test(t)&&J(t)}),i.on("error",e=>{J(`Could not start: ${e.message}`),q(-1)}),i.on("close",t=>V.stopping?q(t??0):0===t||o.tolerant?void e(r+1):q(t))}(0),Response.json({ok:!0,action:l,startedAt:V.startedAt})}e.s(["GET",0,ed,"POST",0,ep],81638)},14974,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),i=e.i(59756),o=e.i(61916),a=e.i(74677),s=e.i(69741),l=e.i(16795),u=e.i(87718),d=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(52474);var b=e.i(220);let y=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/scraper/route",pathname:"/api/scraper",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/scraper/route.js",nextConfigOutput:"standalone",userland:()=>e.r(81638),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:v,serverHooks:_}=y;async function S(e,t,r){r.requestMeta&&(0,i.setRequestMeta)(e,r.requestMeta),y.isDev&&(0,i.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/scraper/route";w=w.replace(/\/index$/,"")||"/";let v=await y.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:_,deploymentId:S,params:R,nextConfig:E,parsedUrl:T,isDraftMode:x,prerenderManifest:k,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,resolvedPathname:D,clientReferenceManifest:A,serverActionsManifest:O}=v,j=(0,s.normalizeAppPath)(w),I=!!(k.dynamicRoutes[j]||k.routes[D]),$=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,T,!1):t.end("This page could not be found"),null);if(I&&!x){let e=!!k.routes[D],t=k.dynamicRoutes[j];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await $();throw new m.NoFallbackError}}let M=null;!I||y.isDev||x||(M="/index"===(M=D)?"/":M);let H=!0===y.isDev||!I,L=I&&!H;O&&A&&(0,a.setManifestsSingleton)({page:w,clientReferenceManifest:A,serverActionsManifest:O});let U=e.method||"GET",F=(0,o.getTracer)(),W=F.getActiveScopeSpan(),z=!!(null==C?void 0:C.isWrappedByNextServer),q=!!(0,i.getRequestMeta)(e,"minimalMode"),G=(0,i.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,E,k,q);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let B={params:R,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,supportsDynamicResponse:H,incrementalCache:G,hmrRefreshHash:(0,i.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,i)=>y.onRequestError(e,t,r,i,C)},sharedContext:{buildId:_,deploymentId:S}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t)),V=async({previousCacheEntry:n})=>{try{if(!q&&N&&P&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await y.handle(Y,B);e.fetchMetrics=B.renderOpts.fetchMetrics;let o=B.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let a=B.renderOpts.collectedTags;if(!I)return await (0,p.sendResponse)(K,X,i,o),null;{let e=await i.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(i.headers);a&&(t[g.NEXT_CACHE_TAGS_HEADER]=a),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==B.renderOpts.collectedRevalidate&&!(B.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&B.renderOpts.collectedRevalidate,r=void 0===B.renderOpts.collectedExpire||B.renderOpts.collectedExpire>=g.INFINITE_CACHE?!1!==n&&n>0?E.expireTime:void 0:B.renderOpts.collectedExpire;return{value:{kind:b.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,C),t}},J=async(i,a)=>{try{var s,l;let i=await y.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:P,responseGenerator:V,waitUntil:r.waitUntil,isMinimalMode:q});if(!I)return;if((null==i||null==(s=i.value)?void 0:s.kind)!==b.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==i||null==(l=i.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});q||t.setHeader("x-nextjs-cache",N?"REVALIDATED":i.isMiss?"MISS":i.isStale?"STALE":"HIT"),x&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(i.value.headers);q&&I||o.delete(g.NEXT_CACHE_TAGS_HEADER),!i.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,f.getCacheControlHeader)(i.cacheControl)),await (0,p.sendResponse)(K,X,new Response(i.value.body,{headers:o,status:i.value.status||200}));return}catch(t){if(t instanceof m.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:j,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:L,isOnDemandRevalidate:N})},!1,C),I)throw t;await (0,p.sendResponse)(K,X,new Response(null,{status:500}));return}finally{(()=>{if(!i)return;let e=t.statusCode;i.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(i.setStatus({code:o.SpanStatusCode.ERROR}),i.setAttribute("error.type",e.toString()));let n=F.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==d.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||j,s=`${U} ${r}`;i.setAttributes({"next.route":r,"http.route":r,"next.span_name":s}),i.updateName(s),a&&a!==i&&(a.setAttribute("http.route",r),a.updateName(s))})()}};if(z&&W)await J(W,void 0);else{let t=F.getActiveScopeSpan();await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:o.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>J(e,t)),void 0,!z)}}e.s(["handler",0,S,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:v})},"routeModule",0,y,"serverHooks",0,_,"workAsyncStorage",0,w,"workUnitAsyncStorage",0,v])}];
|
|
24
24
|
|
|
25
25
|
//# sourceMappingURL=_1_fynia._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[24214,(e,t,n)=>{t.exports={name:"six-degrees",version:"0.4.
|
|
1
|
+
module.exports=[24214,(e,t,n)=>{t.exports={name:"six-degrees",version:"0.4.4",description:"Map your professional network as a galaxy — leverage tiers, bridges into new circles, and the shortest path to anyone. Runs locally on your own data.",license:"MIT",author:"Blake Burford",repository:{type:"git",url:"git+https://github.com/blakeb056/six-degrees.git"},bugs:{url:"https://github.com/blakeb056/six-degrees/issues"},homepage:"https://sixdegreesapp.com/",keywords:["linkedin","network","graph","visualization","d3","local-first","networking","career"],engines:{node:">=22.13"},os:["darwin","linux"],private:!1,bin:{"six-degrees":"bin/six-degrees.mjs"},files:["bin/",".next/standalone/",".next/static/","public/","db/","lib/","scripts/scrape.py","scripts/image_store.py","scripts/requirements.txt","README.md","LICENSE","CHANGELOG.md","SECURITY.md","scripts/check-node.mjs","scripts/audit-avatars.mjs","scripts/check-stale-server.mjs","scripts/update.mjs"],scripts:{dev:"NEXT_TELEMETRY_DISABLED=1 SIX_DEGREES_BIND=127.0.0.1 next dev -H 127.0.0.1",predev:"node scripts/check-node.mjs && node scripts/check-stale-server.mjs",fresh:"node scripts/check-node.mjs && node scripts/sandbox.mjs",build:"NEXT_TELEMETRY_DISABLED=1 next build && node scripts/prepare-standalone.mjs",prebuild:"node scripts/check-node.mjs",start:"NEXT_TELEMETRY_DISABLED=1 SIX_DEGREES_BIND=127.0.0.1 next start -H 127.0.0.1",lint:"eslint",test:"node --test tests/*.test.mjs","gen:demo":"node scripts/gen-synthetic.mjs",prepack:"npm run build","start:packaged":"node bin/six-degrees.mjs",scrape:"python3 scripts/scrape.py","scrape:login":"python3 scripts/scrape.py --login","scrape:server":"python3 scripts/scrape.py --server","setup:python":"python3 -m pip install -r scripts/requirements.txt","scrape:full":"python3 scripts/scrape.py --full","scrape:refresh":"python3 scripts/scrape.py --refresh","audit:avatars":"node scripts/audit-avatars.mjs","build:app":"node scripts/build-app.mjs","build:desktop":"node scripts/build-app.mjs --shell=electron",desktop:"electron desktop",update:"node scripts/update.mjs"},devDependencies:{"@electron/packager":"20.3.0",d3:"^7.9.0",electron:"44.4.5",eslint:"^9","eslint-config-next":"16.3.6",next:"16.3.6",react:"19.2.4","react-dom":"19.2.4"}}},34091,e=>{"use strict";var t=e.i(74533),n=e.i(2157),r=e.i(10960),a=e.i(60526),s=e.i(50227),i=e.i(12506),o=e.i(98199),l=e.i(66680),c=e.i(12714),u=e.i(1348);let d="/usr/bin/hdiutil",p="six-degrees-update",h=new Set(["checking","downloading","verifying","preparing","restarting"]),f=new Set(["checking","downloading","verifying","preparing"]);class m extends Error{constructor(e,t=null){super(e),this.code=t}}let g="cancelled";function w({home:e=a.default.homedir(),tmp:t=a.default.tmpdir()}={}){let n=s.default.join(e,"Library","Caches","Six Degrees");return{cacheDir:n,statusFile:s.default.join(n,"last-update.json"),confirmFile:s.default.join(n,"update-confirmed.json"),logFile:s.default.join(t,"six-degrees-update.log")}}function y(e){try{let t=JSON.parse(n.default.readFileSync(e,"utf8"));return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}function b(e,t){n.default.mkdirSync(s.default.dirname(e),{recursive:!0});let r=`${e}.${process.pid}.tmp`;n.default.writeFileSync(r,`${JSON.stringify(t)}
|
|
2
2
|
`),n.default.renameSync(r,e)}function v(){let e=(e,n)=>{try{return(0,t.execFileSync)(e,n,{timeout:5e3,stdio:["ignore","pipe","ignore"]}).toString().trim()}catch{return""}};return{chip:(0,o.chipOf)({sysctlArm64:e("/usr/sbin/sysctl",["-n","hw.optional.arm64"]),processArch:process.arch}),macosVersion:e("/usr/bin/sw_vers",["-productVersion"])}}let S=Symbol.for("six-degrees.update-job");function R(){return globalThis[S]||(globalThis[S]={job:null}),globalThis[S]}function j(e){if(!e)return null;let{id:t,phase:n,version:r,notes:a,received:s,total:i,error:o,code:l,startedAt:c,endedAt:u}=e;return{id:t,phase:n,version:r,notes:a,received:s,total:i,error:o,code:l,startedAt:c,endedAt:u}}function x(){return j(R().job)}function T(e,n,{signal:r,timeoutMs:a=12e4}={}){return new Promise((s,i)=>{(0,t.execFile)(e,n,{signal:r,timeout:a,maxBuffer:8388608},(e,t,n)=>{if(e){e.detail=String(n||"").trim().split("\n").filter(Boolean).slice(-2).join(" ")||e.message,i(e);return}s(String(t))})})}let E=e=>Math.max(1,Math.round(e/1048576));function k(e,t,r){let a;try{let t=n.default.statfsSync(e);a=t.bavail*t.bsize}catch{return}if(a<t)throw new m(`There isn't enough free space ${r}: the update needs about ${E(t)} MB, and ${E(a)} MB is free.`)}async function A(e,t,n,r,a){return t.fetchImpl(e,{headers:{Accept:a,"User-Agent":p},signal:AbortSignal.any([n,AbortSignal.timeout(r)]),cache:"no-store",redirect:"follow"})}async function C(e,t,{job:n,c:r,signal:a,expectedSize:s}){let i=new AbortController,o=AbortSignal.any([a,i.signal]),u=null,d=()=>{clearTimeout(u),u=setTimeout(()=>i.abort(new m(`The download stopped for ${Math.round(r.idleMs/1e3)} seconds. Check your connection and try again.`)),r.idleMs)};d();let h=await c.default.open(t,"w"),f=(0,l.createHash)("sha256"),g=0;try{let t=await r.fetchImpl(e,{headers:{Accept:"application/octet-stream","User-Agent":p},signal:o,cache:"no-store",redirect:"follow"});if(!t.ok||!t.body)throw new m(`GitHub answered ${t.status} to the download. Try again later.`);let a=Number(t.headers.get("content-length"))||null;if(s&&a&&a!==s)throw new m("The download is not the size GitHub listed for it, so it was stopped.");let i=a||s||null;n.total=i;let l=i||r.maxBytes;for await(let e of t.body){if(d(),(g+=e.byteLength)>l)throw new m("The download is bigger than GitHub said it would be, so it was stopped.");f.update(e);let t=0;for(;t<e.byteLength;){let{bytesWritten:n}=await h.write(e,t,e.byteLength-t);t+=n}n.received=g}if(i&&g!==i)throw new m("The download ended early. Try again.");return f.digest("hex")}catch(e){if(o.aborted&&o.reason instanceof Error)throw o.reason;throw e}finally{clearTimeout(u),await h.close()}}async function $(e,t,n){let r;await c.default.mkdir(t.point,{recursive:!0});try{r=await T(d,["attach",e,"-nobrowse","-readonly","-noautoopen","-mountpoint",t.point,"-plist"],{signal:n,timeoutMs:18e4})}catch(e){if(n.aborted)throw e;throw new m(`The disk image wouldn't open (${e.detail}).`)}t.device=[...r.matchAll(/<key>dev-entry<\/key>\s*<string>([^<]+)<\/string>/g)].map(e=>e[1]).find(e=>/^\/dev\/disk\d+$/.test(e))||null}function D(e){try{return n.default.statSync(e).dev!==n.default.statSync(s.default.dirname(e)).dev}catch{return!1}}async function M({point:e,device:t},r){let a=[[],[],["-force"],["-force"],["-force"]],s=null;for(let i=0;i<a.length;i++){let o=D(e);if(!o&&(!t||!n.default.existsSync(t)))return;try{await T(d,["detach",o?e:t,...a[i]],{timeoutMs:6e4});return}catch(e){s=e,await r(1e3*(i+1))}}if(D(e)||t&&n.default.existsSync(t))throw s}async function N(e){for(let t of(await c.default.readdir(e,{recursive:!0,withFileTypes:!0}))){if(!t.isSymbolicLink())continue;let n=s.default.join(t.parentPath??t.path,t.name),r=await c.default.readlink(n),a=s.default.resolve(s.default.dirname(n),r);if(s.default.isAbsolute(r)||a!==e&&!a.startsWith(e+s.default.sep))return`${s.default.relative(e,n)} → ${r}`}return null}async function _(e,t=4096){let n=await c.default.open(e,"r");try{let e=Buffer.alloc(t),{bytesRead:r}=await n.read(e,0,t,0);return e.subarray(0,r)}finally{await n.close()}}async function B(e,{plan:t,c:n,signal:r,where:a}){let i=await c.default.lstat(e).catch(()=>null);if(!i||!i.isDirectory())throw new m(`The disk image doesn't contain ${o.APP_BUNDLE_NAME}.`);try{await T("/usr/bin/codesign",["--verify","--deep","--strict",e],{signal:r,timeoutMs:3e5})}catch(e){if(r.aborted)throw e;throw new m(`The new version's signature doesn't check out ${a} (${e.detail}), so it wasn't used.`)}let l=s.default.join(e,"Contents","Info.plist"),u=e=>T("/usr/bin/plutil",["-extract",e,"raw","-o","-",l],{signal:r,timeoutMs:15e3}).then(e=>e.trim()).catch(()=>""),[d,p,h,f]=await Promise.all([u("CFBundleIdentifier"),u("CFBundleShortVersionString"),u("LSMinimumSystemVersion"),u("CFBundleExecutable")]);if(d!==n.bundleId)throw new m(`The download isn't Six Degrees (it calls itself ${d||"nothing"}), so it wasn't used.`);if(p!==t.version)throw new m(`The download says it is version ${p||"(none)"}, not ${t.version}, so it wasn't used.`);if(h&&n.macosVersion&&!(0,o.versionAtLeast)(n.macosVersion,h))throw new m(`Version ${t.version} needs macOS ${h} or later, and this Mac has ${n.macosVersion}.`);for(let t of[f&&!f.includes("/")?s.default.join(e,"Contents","MacOS",f):null,s.default.join(e,"Contents","Resources","node")].filter(Boolean)){let e=(0,o.machoArchs)(await _(t).catch(()=>null));if(e.size){if(!e.has(n.chip))throw new m(`The download is built for ${[...e].map(e=>o.CHIP_LABEL[e]||e).join(" and ")} Macs, not this one, so it wasn't used.`);break}}let g=await N(e);if(g)throw new m(`The new version has a link that points outside it (${g}), so it wasn't used.`)}function F(){return{PATH:"/usr/bin:/bin:/usr/sbin:/sbin",HOME:a.default.homedir(),TMPDIR:a.default.tmpdir(),LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",...process.env.USER?{USER:process.env.USER,LOGNAME:process.env.USER}:{}}}let I=(...e)=>(globalThis.fetch?._nextOriginalFetch||globalThis.fetch)(...e),O={bundleId:o.BUNDLE_ID,apiBase:o.GITHUB.apiBase,downloadBase:o.GITHUB.downloadBase,idleMs:3e4,maxBytes:0x40000000,waitSeconds:30,confirmWaitSeconds:600,settleMs:400,scanRunning:()=>null,othersRunning:()=>[],launch:function({helper:e,args:r,cwd:a,logFile:s}){let i=F(),o=n.default.openSync(s,"w");try{let n=(0,t.spawn)("/bin/bash",[e,...r],{cwd:a,env:i,detached:!0,stdio:["ignore",o,o]});return new Promise((e,t)=>{n.once("error",t),n.once("spawn",()=>{n.unref(),e(n)})})}finally{n.default.closeSync(o)}},exit:function(){setTimeout(()=>process.exit(o.UPDATE_HANDOFF_EXIT_CODE),1200)},sleep:e=>new Promise(t=>setTimeout(t,e))};function P(e){if(e.othersRunning().length)throw new m("Another user of this Mac has Six Degrees open, so it can't be replaced now. Try again once they have quit it.")}async function H(e,r){let a={fetchImpl:I,...O,...r},{signal:i}=e.ctrl,l=null,p=null,h=null,f=!1,w=()=>{if(!f){if(p&&D(p.point))try{(0,t.execFileSync)(d,["detach",p.point,"-force"],{stdio:"ignore",timeout:15e3})}catch{}for(let e of[h,l])if(e)try{n.default.rmSync(e,{recursive:!0,force:!0})}catch{}}};process.once("exit",w);try{let t,r,d,g=await A(`${a.apiBase}/repos/${a.slug}/releases/latest`,a,i,15e3,"application/vnd.github+json");if(404===g.status)throw new m("No release has been published yet.");if(!g.ok)throw new m(`GitHub answered ${g.status}. Try again in a moment.`);let{plan:w,refusal:y}=(0,o.planFromRelease)(await g.json(),{currentVersion:a.currentVersion,chip:a.chip,slug:a.slug,downloadBase:a.downloadBase});if(y)throw new m(y.message);if(a.expectVersion&&w.version!==a.expectVersion)throw new m(`Version ${w.version} has come out since you checked, and you were offered ${a.expectVersion}. Check again, then install.`,"stale-check");r={version:w.version,notes:w.notes,total:w.dmg.size},Object.assign(e,r),P(a),l=await c.default.mkdtemp(s.default.join(a.tmpRoot,"six-degrees-update-")),k(a.tmpRoot,(w.dmg.size||0x20000000)+0x4000000,"for the download"),Object.assign(e,{phase:"downloading"});let v=await A(w.sums.url,a,i,3e4,"text/plain, application/octet-stream");if(!v.ok)throw new m(`GitHub answered ${v.status} for the checksum file. Try again later.`);let S=()=>new m("The checksum file is not what was expected, so nothing was downloaded.");if(Number(v.headers.get("content-length"))>65536)throw S();let R=await v.text();if(R.length>65536)throw S();let j=(0,o.parseSha256Sums)(R).get(w.dmg.name);if(!j)throw new m(`The checksum file doesn't list ${w.dmg.name}, so its download can't be checked.`);let x=s.default.join(l,w.dmg.name),E=await C(w.dmg.url,`${x}.part`,{job:e,c:a,signal:i,expectedSize:w.dmg.size});if(d={phase:"verifying"},Object.assign(e,d),!(0,o.digestsMatch)(j,E))throw new m("The download doesn't match the checksum published with it, so it wasn't used. Try again later.");await c.default.rename(`${x}.part`,x),Object.assign(e,{phase:"preparing"}),p={point:s.default.join(l,"mnt"),device:null},await $(x,p,i);let D=s.default.join(p.point,o.APP_BUNDLE_NAME);await B(D,{plan:w,c:a,signal:i,where:"in the disk image"});let N=Number.parseInt(await T("/usr/bin/du",["-sk",D],{signal:i,timeoutMs:12e4}),10)||0;k(s.default.dirname(a.bundle),1024*N+0x4000000,`in ${s.default.dirname(a.bundle)}`),h=(0,o.stagingPath)(a.bundle),await c.default.rm(h,{recursive:!0,force:!0});try{await T("/usr/bin/ditto",[D,h],{signal:i,timeoutMs:9e5})}catch(e){if(i.aborted)throw e;throw new m(`Could not copy the new version into ${s.default.dirname(a.bundle)} (${e.detail}).`)}if(await B(h,{plan:w,c:a,signal:i,where:"after copying"}),await T("/usr/bin/xattr",["-dr","com.apple.quarantine",h],{signal:i}).catch(()=>{}),await M(p,a.sleep),p=null,await c.default.rm(x,{force:!0}),i.aborted)throw i.reason;let _=await a.scanRunning();if(_)throw new m(`${(0,u.runningNow)(_)}, so the update was not applied. Try again when it has finished.`);if(P(a),i.aborted)throw i.reason;Object.assign(e,{phase:"restarting"});let F=s.default.join(l,"apply-update.sh");await c.default.copyFile(a.helper,F);let I=(0,o.helperArgs)({target:a.bundle,staged:h,keepDir:a.cacheDir,statusFile:a.statusFile,from:a.currentVersion,to:w.version,pids:a.pids||[process.ppid,process.pid],waitSeconds:a.waitSeconds,logFile:a.logFile,work:l,confirmFile:a.confirmFile,confirmWaitSeconds:a.confirmWaitSeconds,relaunch:(0,o.relaunchArgs)({dataDir:a.dataDir})}),O={outcome:"started",from:a.currentVersion,to:w.version,at:new Date().toISOString(),log:a.logFile};try{b(a.statusFile,O)}catch{}try{t=await a.launch({helper:F,args:I,cwd:a.tmpRoot,logFile:a.logFile}),await a.sleep(a.settleMs)}catch(e){throw n.default.rmSync(a.statusFile,{force:!0}),new m(`The update helper wouldn't start (${e.message}).`)}if(t&&(null!==t.exitCode||null!==t.signalCode)){n.default.rmSync(a.statusFile,{force:!0});let e=function(e){try{return n.default.readFileSync(e,"utf8").trim().split("\n").slice(-2).join(" ").replace(/^\S+ \S+ {2}/,"")}catch{return""}}(a.logFile);throw new m(`The update helper stopped before the app closed${e?` (${e})`:""}.`)}f=!0,a.exit()}catch(n){let t=i.aborted&&i.reason instanceof m&&i.reason.message===g;Object.assign(e,{phase:t?"cancelled":"failed",error:t?null:n instanceof m?n.message:n?.name==="TimeoutError"?"GitHub didn't answer in time. Try again in a moment.":n instanceof TypeError&&/fetch failed/i.test(n.message)?`Could not reach GitHub (${n.cause?.code||n.cause?.message||"no connection"}). Check your connection and try again.`:`The update stopped: ${n?.detail||n?.message||n}.`,code:!t&&n instanceof m?n.code:null})}finally{p&&await M(p,a.sleep).catch(()=>{}),!f&&(h&&await c.default.rm(h,{recursive:!0,force:!0}).catch(()=>{}),l&&await c.default.rm(l,{recursive:!0,force:!0}).catch(()=>{})),process.removeListener("exit",w),Object.assign(e,{endedAt:new Date().toISOString()})}}var U=e.i(24214);let L=null;function G(e,n){return new Promise(r=>{let a,s="",i="";try{a=(0,t.spawn)("git",e,{cwd:n})}catch(e){return r({code:-1,out:"",err:e.message})}let o=setTimeout(()=>{try{a.kill()}catch{}},6e4);a.stdout.on("data",e=>{s+=e.toString()}),a.stderr.on("data",e=>{i+=e.toString()}),a.on("error",e=>{clearTimeout(o),r({code:-1,out:s,err:e.message})}),a.on("close",e=>{clearTimeout(o),r({code:e,out:s.trim(),raw:s,err:i.trim()})})})}async function V(e){let[t,n,r,a]=await Promise.all([G(["rev-parse","--short","HEAD"],e),G(["log","-1","--pretty=%s"],e),G(["status","--porcelain"],e),G(["rev-parse","--abbrev-ref","HEAD"],e)]),s=(r.raw||"").split("\n").filter(e=>e.length>3).map(e=>e.slice(3).trim()).filter(Boolean),i=s.length>0&&s.every(e=>"package-lock.json"===e);return{sha:t.out,subject:n.out,branch:a.out,dirty:s,onlyLockfile:i}}function q(){let e=(0,r.dataDir)();return s.default.resolve(e)===s.default.join((0,a.homedir)(),".six-degrees")?null:e}function z(e){let t=(0,i.repoSlug)(U.default.repository),n=(0,i.installKind)(process.env,e||""),r={supported:!1,installed:!0,kind:n,version:U.default.version,slug:t,command:t?(0,i.updateCommand)(n,t,{dataDir:q()}):null};if("mac-app"===n){let e=w();!function({statusFile:e,confirmFile:t},n){let r=y(e);if(r&&"started"===r.outcome&&r.to===n&&y(t)?.version!==n)try{b(t,{version:n,pid:process.pid,at:new Date().toISOString()})}catch{return!1}}(e,U.default.version),r.lastUpdate=(0,o.lastUpdateReport)(y(e.statusFile),{runningVersion:U.default.version}),r.job=x()}let a=(0,o.releaseSource)(process.env);return a.test&&(r.testReleases=a.apiBase),r}async function K(e,t){let n=await fetch(`${t}/repos/${e}/releases/latest`,{headers:{Accept:"application/vnd.github+json","User-Agent":"six-degrees-update-check"},signal:AbortSignal.timeout(1e4),cache:"no-store"});if(404===n.status)return null;if(!n.ok)throw Error(`GitHub answered ${n.status}`);let r=await n.json();return{version:String(r.tag_name||"").replace(/^v/i,""),url:r.html_url||null,release:r}}function X(e){return{refusal:{code:"not-mac",message:"Installing an update from here works only in the Mac app."}}}function W(e,t){let r=!0;try{(0,n.accessSync)("/Applications",n.constants.W_OK)}catch{r=!1}return(0,o.terminalFallback)({bundle:e,refusalCode:t?.code||null,installsTo:(0,o.installerTarget)({applicationsWritable:r,home:(0,a.homedir)()}),dataDir:q()})}function Y(e){let r;if(!(!e||(r=R().job)&&h.has(r.phase)))try{!function({bundle:e,cacheDir:r,tmpRoot:a,statusFile:i,now:l=Date.now(),isAlive:c=function(e){try{return process.kill(e,0),!0}catch(e){return"EPERM"===e.code}},asideAgeMs:u=6e5}={}){let p=[],h=e=>l-Math.max(e.mtimeMs,e.ctimeMs),f=e=>{try{return n.default.lstatSync(e)}catch{return null}},m=e=>{try{return n.default.readdirSync(e)}catch{return[]}},g=e=>{try{n.default.rmSync(e,{recursive:!0,force:!0}),p.push(e)}catch{}},w=i?y(i):null,b=w?.outcome==="failed"&&"string"==typeof w.previous?s.default.resolve(w.previous):null;if(e){let t=s.default.dirname(e);for(let{name:n,kind:r,pid:a}of(0,o.leftoversBeside)(m(t),s.default.basename(e))){let e=s.default.join(t,n),i=f(e);i&&e!==b&&("incoming"===r?h(i)>36e5&&g(e):!c(a)&&h(i)>u&&g(e))}}if(r)for(let e of m(r)){if(!/^\.previous-[A-Za-z0-9]{6}$/.test(e)&&!/\.zip\.part$/.test(e)&&!/^(last-update|update-confirmed)\.json\.\d+\.tmp$/.test(e))continue;let t=s.default.join(r,e),n=f(t);n&&h(n)>36e5&&g(t)}if(a)for(let e of m(a)){if(!/^six-degrees-update-[A-Za-z0-9]{6}$/.test(e))continue;let n=s.default.join(a,e),r=f(n);if(!r||!r.isDirectory()||36e5>=h(r))continue;let i=s.default.join(n,"mnt");if(D(i)){try{(0,t.execFileSync)(d,["detach",i,"-force"],{stdio:"ignore",timeout:3e4})}catch{}if(D(i))continue}g(n)}}({bundle:e,tmpRoot:(0,a.tmpdir)(),...w()})}catch{}}async function J(e,c){var d;let p=z(c),y=(0,o.releaseSource)(process.env);if("update-status"===e)return Response.json({job:x()});if("cancel-install"===e){let e;return Response.json({job:((e=R().job)&&f.has(e.phase)&&e.ctrl.abort(new m(g)),j(e))})}if("check-release"===e){if(!p.slug)return Response.json({error:"This copy does not say where it was published."},{status:400});let e="mac-app"===p.kind?X(c):null;e&&Y(e.bundle);try{let t=await K(p.slug,y.apiBase),n=!!(t&&(0,i.compareVersions)(t.version,p.version)>0),r=null,a=null;if(n&&e){let n=e.refusal?null:(0,o.planFromRelease)(t.release,{currentVersion:p.version,chip:v().chip,slug:p.slug,downloadBase:y.downloadBase}),s=e.refusal||n?.refusal||null;r=s?{possible:!1,reason:s.message,code:s.code}:{possible:!0,size:n.plan.dmg.size},a=W(e.bundle,e.refusal)}return e&&(d=n?t.version:null,R().checked=d?String(d):null),Response.json({...p,latest:t&&{version:t.version,url:t.url},newer:n,install:r,fallback:a})}catch(e){return Response.json({error:`Could not reach GitHub (${e.message}). Try again in a moment.`},{status:502})}}if("install-release"===e){let e;if("mac-app"!==p.kind)return Response.json({error:"Only the Mac app can install an update itself. Use the line below instead.",command:p.command},{status:400});if(!p.slug)return Response.json({error:"This copy does not say where it was published."},{status:400});let{bundle:i,refusal:d}=X(c),f=W(i,d);if(d)return Response.json({error:d.message,refusal:d.code,fallback:f,command:p.command},{status:409});let m=(0,u.busyRefusal)("Let it finish or stop it, then install the update.");if(m)return Response.json({error:m,fallback:f,command:p.command},{status:409});let g=R().checked||null;if(!g)return Response.json({error:"Check for updates first, then install.",refusal:"not-checked",fallback:f,command:p.command},{status:409});Y(i);let b=v(),S=function(e){let t=R();if(t.job&&h.has(t.job.phase))return{error:"An update is already in progress.",job:j(t.job)};let n={id:(0,l.randomUUID)(),phase:"checking",version:null,notes:null,received:0,total:null,error:null,code:null,startedAt:new Date().toISOString(),endedAt:null,ctrl:new AbortController};t.job=n;let r=H(n,e);return{job:j(n),done:r}}({slug:p.slug,currentVersion:p.version,expectVersion:g,chip:b.chip,macosVersion:b.macosVersion,bundle:i,dataDir:(0,r.dataDir)(),helper:(e=c?s.default.join(c,"scripts","apply-update.sh"):null)&&(0,n.existsSync)(e)?e:null,tmpRoot:(0,a.tmpdir)(),...w(),apiBase:y.apiBase,downloadBase:y.downloadBase,scanRunning:u.scannerJob,othersRunning:()=>(function(e){if(!e||"function"!=typeof process.getuid)return[];let r="";try{r=(0,t.execFileSync)("/bin/ps",["-axo","uid=,pid=,comm="],{timeout:1e4,maxBuffer:0x1000000,stdio:["ignore","pipe","ignore"],env:F()}).toString()}catch{return[]}let a=e;try{a=n.default.realpathSync(e)}catch{}return(0,o.foreignAppProcesses)(r,{bundles:[e,a],uid:process.getuid()})})(i)});return S.error?Response.json({error:S.error,job:S.job},{status:409}):Response.json({job:S.job},{status:202})}return Response.json({error:"Not a git checkout."},{status:400})}async function Z(){let e=(0,r.projectRoot)();if(!(0,r.isGitCheckout)())return Response.json(z(e));let n=await V(e),a=function(e){if(null===L)try{L=(0,t.execFileSync)("git",["rev-parse","--short","HEAD"],{cwd:e}).toString().trim()}catch{L=""}return L}(e);return Response.json({supported:!0,...n,bootSha:a,restartNeeded:!!(a&&n.sha&&a!==n.sha)})}async function Q(e){let t=(0,r.projectRoot)(),n={};try{n=await e.json()}catch{}let a=String(n.action||"");if(!(0,r.isGitCheckout)())return J(a,t);if("check"===a){let e=await G(["fetch","--quiet","origin"],t);if(0!==e.code)return Response.json({error:`Could not reach GitHub: ${e.err.slice(0,200)}`},{status:502});let n=await V(t),r=`origin/${n.branch||"main"}`,[a,s]=await Promise.all([G(["rev-list","--count",`HEAD..${r}`],t),G(["log","--pretty=%h %s",`HEAD..${r}`],t)]),i=Number(a.out||0);return Response.json({...n,behind:Number.isFinite(i)?i:0,commits:(s.out||"").split("\n").filter(Boolean).slice(0,25)})}if("pull"===a){let e=await V(t);if(e.dirty.length&&!e.onlyLockfile)return Response.json({error:"There are local changes here, so nothing was updated.",dirty:e.dirty},{status:409});e.onlyLockfile&&await G(["checkout","--","package-lock.json"],t);let n=await G(["pull","--ff-only"],t);if(0!==n.code)return Response.json({error:n.err.slice(0,400)||"The update could not be applied automatically."},{status:409});let r=await V(t),a=/package(-lock)?\.json/.test(n.out);return Response.json({ok:!0,output:n.out.split("\n").slice(-40).join("\n"),sha:r.sha,subject:r.subject,needsRestart:a})}return Response.json({error:`Unknown action '${a}'`},{status:400})}e.s(["GET",0,Z,"POST",0,Q],34091)},81067,e=>{"use strict";var t=e.i(47909),n=e.i(74017),r=e.i(96250),a=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),c=e.i(87718),u=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),m=e.i(10372),g=e.i(93695);e.i(52474);var w=e.i(220);let y=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/update/route",pathname:"/api/update",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/update/route.js",nextConfigOutput:"standalone",userland:()=>e.r(34091),...{}}),{workAsyncStorage:b,workUnitAsyncStorage:v,serverHooks:S}=y;async function R(e,t,r){r.requestMeta&&(0,a.setRequestMeta)(e,r.requestMeta),y.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let b="/api/update/route";b=b.replace(/\/index$/,"")||"/";let v=await y.prepare(e,t,{srcPage:b,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:S,deploymentId:R,params:j,nextConfig:x,parsedUrl:T,isDraftMode:E,prerenderManifest:k,routerServerContext:A,isOnDemandRevalidate:C,revalidateOnlyGenerated:$,resolvedPathname:D,clientReferenceManifest:M,serverActionsManifest:N}=v,_=(0,o.normalizeAppPath)(b),B=!!(k.dynamicRoutes[_]||k.routes[D]),F=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,T,!1):t.end("This page could not be found"),null);if(B&&!E){let e=!!k.routes[D],t=k.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(x.adapterPath)return await F();throw new g.NoFallbackError}}let I=null;!B||y.isDev||E||(I="/index"===(I=D)?"/":I);let O=!0===y.isDev||!B,P=B&&!O;N&&M&&(0,i.setManifestsSingleton)({page:b,clientReferenceManifest:M,serverActionsManifest:N});let H=e.method||"GET",U=(0,s.getTracer)(),L=U.getActiveScopeSpan(),G=!!(null==A?void 0:A.isWrappedByNextServer),V=!!(0,a.getRequestMeta)(e,"minimalMode"),q=(0,a.getRequestMeta)(e,"incrementalCache")||await y.getIncrementalCache(e,x,k,V);null==q||q.resetRequestCache(),globalThis.__incrementalCache=q;let z={params:j,previewProps:k.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts,useCacheTimeout:x.experimental.useCacheTimeout},cacheComponents:!!x.cacheComponents,validationLevel:x.experimental.instantInsights.validationLevel,supportsDynamicResponse:O,incrementalCache:q,hmrRefreshHash:(0,a.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:x.cacheLife,staticPageGenerationTimeout:x.staticPageGenerationTimeout,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>y.onRequestError(e,t,r,a,A)},sharedContext:{buildId:S,deploymentId:R}},K=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),W=c.NextRequestAdapter.fromNodeNextRequest(K,(0,c.signalFromNodeResponse)(t)),Y=async({previousCacheEntry:n})=>{try{if(!V&&C&&$&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await y.handle(W,z);e.fetchMetrics=z.renderOpts.fetchMetrics;let s=z.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let i=z.renderOpts.collectedTags;if(!B)return await (0,p.sendResponse)(K,X,a,s),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);i&&(t[m.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==z.renderOpts.collectedRevalidate&&!(z.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&z.renderOpts.collectedRevalidate,r=void 0===z.renderOpts.collectedExpire||z.renderOpts.collectedExpire>=m.INFINITE_CACHE?!1!==n&&n>0?x.expireTime:void 0:z.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await y.onRequestError(e,t,{routerKind:"App Router",routePath:b,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:C})},!1,A),t}},J=async(a,i)=>{try{var o,l;let a=await y.handleResponse({req:e,nextConfig:x,cacheKey:I,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:k,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:$,responseGenerator:Y,waitUntil:r.waitUntil,isMinimalMode:V});if(!B)return;if((null==a||null==(o=a.value)?void 0:o.kind)!==w.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});V||t.setHeader("x-nextjs-cache",C?"REVALIDATED":a.isMiss?"MISS":a.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(a.value.headers);V&&B||s.delete(m.NEXT_CACHE_TAGS_HEADER),!a.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.getCacheControlHeader)(a.cacheControl)),await (0,p.sendResponse)(K,X,new Response(a.value.body,{headers:s,status:a.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await y.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:P,isOnDemandRevalidate:C})},!1,A),B)throw t;await (0,p.sendResponse)(K,X,new Response(null,{status:500}));return}finally{(()=>{if(!a)return;let e=t.statusCode;a.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(a.setStatus({code:s.SpanStatusCode.ERROR}),a.setAttribute("error.type",e.toString()));let n=U.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==u.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route")||_,o=`${H} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":o}),a.updateName(o),i&&i!==a&&(i.setAttribute("http.route",r),i.updateName(o))})()}};if(G&&L)await J(L,void 0);else{let t=U.getActiveScopeSpan();await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${b}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},e=>J(e,t)),void 0,!G)}}e.s(["handler",0,R,"patchFetch",0,function(){return(0,r.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:v})},"routeModule",0,y,"serverHooks",0,S,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,v])}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=_1itd1o_._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[52224,e=>{"use strict";var t=e.i(2157),r=e.i(50227),a=e.i(88431),n=e.i(88602);function s(){let e=(0,n.resolveProfile)({create:!1});return e?.id&&/^[\w-]+$/.test(String(e.id))?r.default.join((0,a.dataDir)(),`social-${e.id}.json`):null}async function o(){let e=s();if(!e)return Response.json({social:null});try{return Response.json({social:JSON.parse((0,t.readFileSync)(e,"utf8"))})}catch{return Response.json({social:null})}}async function i(e){let r,a=s();if(!a)return Response.json({error:"Pick a profile first."},{status:400});try{r=await e.json()}catch{return Response.json({error:"That isn’t readable."},{status:400})}let n={};try{n=JSON.parse((0,t.readFileSync)(a,"utf8"))||{}}catch{}let o={live:n.live||{},liveAt:n.liveAt||null,autoSync:!0===n.autoSync,importedAt:new Date().toISOString(),asOf:Number(r?.asOf)||null,people:r?.people&&"object"==typeof r.people?r.people:{},chapters:Array.isArray(r?.chapters)?r.chapters:[],posts:r?.posts&&"object"==typeof r.posts?r.posts:null,invites:r?.invites&&"object"==typeof r.invites?r.invites:null,emails:r?.emails===!0};for(let e of Object.values(o.people))if(e&&"object"==typeof e){for(let t of Object.keys(e))["last","lastFromThem","total","recent","email"].includes(t)||delete e[t];o.emails||delete e.email}let i=`${a}.${process.pid}.tmp`;return(0,t.writeFileSync)(i,JSON.stringify(o)),(0,t.renameSync)(i,a),Response.json({ok:!0,people:Object.keys(o.people).length})}async function l(e){let r,a=s();if(!a)return Response.json({error:"Pick a profile first."},{status:400});try{r=await e.json()}catch{return Response.json({error:"That isn’t readable."},{status:400})}let n={};try{n=JSON.parse((0,t.readFileSync)(a,"utf8"))||{}}catch{}let o={};for(let[e,t]of Object.entries(r?.live||{}))"string"==typeof e&&e.includes("/in/")&&t&&"object"==typeof t&&(o[e]={last:Number(t.last)||null,unread:Number.isFinite(Number(t.unread))?Number(t.unread):null});let i={...n,live:o,liveAt:new Date().toISOString()},l=`${a}.${process.pid}.tmp`;return(0,t.writeFileSync)(l,JSON.stringify(i)),(0,t.renameSync)(l,a),Response.json({ok:!0,people:Object.keys(o).length})}async function u(e){let r=s();if(!r)return Response.json({error:"Pick a profile first."},{status:400});let a={};try{a=await e.json()}catch{}let n={};try{n=JSON.parse((0,t.readFileSync)(r,"utf8"))||{}}catch{}let o={...n,autoSync:a?.autoSync===!0},i=`${r}.${process.pid}.tmp`;return(0,t.writeFileSync)(i,JSON.stringify(o)),(0,t.renameSync)(i,r),Response.json({ok:!0,autoSync:o.autoSync})}async function c(){let e=s();return e&&(0,t.rmSync)(e,{force:!0}),Response.json({ok:!0})}e.s(["DELETE",0,c,"GET",0,o,"PATCH",0,u,"POST",0,i,"PUT",0,l])},1958,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),p=e.i(47587),d=e.i(66012),h=e.i(70101),f=e.i(26937),R=e.i(10372),y=e.i(93695);e.i(52474);var v=e.i(220);let m=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/social/route",pathname:"/api/social",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/social/route.js",nextConfigOutput:"standalone",userland:()=>e.r(52224),...{}}),{workAsyncStorage:S,workUnitAsyncStorage:g,serverHooks:w}=m;async function E(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),m.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let S="/api/social/route";S=S.replace(/\/index$/,"")||"/";let g=await m.prepare(e,t,{srcPage:S,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,deploymentId:E,params:b,nextConfig:C,parsedUrl:A,isDraftMode:O,prerenderManifest:T,routerServerContext:N,isOnDemandRevalidate:j,revalidateOnlyGenerated:x,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:_}=g,H=(0,i.normalizeAppPath)(S),q=!!(T.dynamicRoutes[H]||T.routes[P]),I=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!O){let e=!!T.routes[P],t=T.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(C.adapterPath)return await I();throw new y.NoFallbackError}}let D=null;!q||m.isDev||O||(D="/index"===(D=P)?"/":D);let F=!0===m.isDev||!q,M=q&&!F;_&&k&&(0,o.setManifestsSingleton)({page:S,clientReferenceManifest:k,serverActionsManifest:_});let U=e.method||"GET",$=(0,s.getTracer)(),K=$.getActiveScopeSpan(),L=!!(null==N?void 0:N.isWrappedByNextServer),J=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await m.getIncrementalCache(e,C,T,J);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let G={params:b,previewProps:T.preview,renderOpts:{experimental:{authInterrupts:!!C.experimental.authInterrupts,useCacheTimeout:C.experimental.useCacheTimeout},cacheComponents:!!C.cacheComponents,validationLevel:C.experimental.instantInsights.validationLevel,supportsDynamicResponse:F,incrementalCache:B,hmrRefreshHash:(0,n.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:C.cacheLife,staticPageGenerationTimeout:C.staticPageGenerationTimeout,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>m.onRequestError(e,t,a,n,N)},sharedContext:{buildId:w,deploymentId:E}},V=new l.NodeNextRequest(e),X=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(V,(0,u.signalFromNodeResponse)(t)),z=async({previousCacheEntry:r})=>{try{if(!J&&j&&x&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await m.handle(W,G);e.fetchMetrics=G.renderOpts.fetchMetrics;let s=G.renderOpts.pendingWaitUntil;s&&a.waitUntil&&(a.waitUntil(s),s=void 0);let o=G.renderOpts.collectedTags;if(!q)return await (0,d.sendResponse)(V,X,n,s),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);o&&(t[R.NEXT_CACHE_TAGS_HEADER]=o),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==G.renderOpts.collectedRevalidate&&!(G.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&G.renderOpts.collectedRevalidate,a=void 0===G.renderOpts.collectedExpire||G.renderOpts.collectedExpire>=R.INFINITE_CACHE?!1!==r&&r>0?C.expireTime:void 0:G.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await m.onRequestError(e,t,{routerKind:"App Router",routePath:S,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:j})},!1,N),t}},Z=async(n,o)=>{try{var i,l;let n=await m.handleResponse({req:e,nextConfig:C,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:x,responseGenerator:z,waitUntil:a.waitUntil,isMinimalMode:J});if(!q)return;if((null==n||null==(i=n.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==n||null==(l=n.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});J||t.setHeader("x-nextjs-cache",j?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),O&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let s=(0,h.fromNodeOutgoingHttpHeaders)(n.value.headers);J&&q||s.delete(R.NEXT_CACHE_TAGS_HEADER),!n.cacheControl||t.getHeader("Cache-Control")||s.get("Cache-Control")||s.set("Cache-Control",(0,f.getCacheControlHeader)(n.cacheControl)),await (0,d.sendResponse)(V,X,new Response(n.value.body,{headers:s,status:n.value.status||200}));return}catch(t){if(t instanceof y.NoFallbackError||await m.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:j})},!1,N),q)throw t;await (0,d.sendResponse)(V,X,new Response(null,{status:500}));return}finally{(()=>{if(!n)return;let e=t.statusCode;n.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(n.setStatus({code:s.SpanStatusCode.ERROR}),n.setAttribute("error.type",e.toString()));let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route")||H,i=`${U} ${a}`;n.setAttributes({"next.route":a,"http.route":a,"next.span_name":i}),n.updateName(i),o&&o!==n&&(o.setAttribute("http.route",a),o.updateName(i))})()}};if(L&&K)await Z(K,void 0);else{let t=$.getActiveScopeSpan();await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${U} ${S}`,kind:s.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},e=>Z(e,t)),void 0,!L)}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:g})},"routeModule",0,m,"serverHooks",0,w,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,g])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_1xh07bp._.js.map
|
|
@@ -159,7 +159,7 @@ CREATE TABLE IF NOT EXISTS user_profile (
|
|
|
159
159
|
created_at TEXT DEFAULT (datetime('now')),
|
|
160
160
|
updated_at TEXT DEFAULT (datetime('now'))
|
|
161
161
|
);
|
|
162
|
-
`;e.s(["SCHEMA_SQL",0,a],28681);let o="0.4.
|
|
162
|
+
`;e.s(["SCHEMA_SQL",0,a],28681);let o="0.4.4";e.s(["APP_VERSION",0,o],48170);var s=e.x("node:sqlite",()=>require("node:sqlite"),!0),l=e.i(12714),c=e.i(12506);let u=["/api/admin-delete","/api/admin-update","/api/delete-cluster","/api/setup-profile","/api/scraper","/api/update","/api/data/export","/api/data/import","/api/data/restart","/api/data/reveal"],f=new Set(["127.0.0.1","::1","localhost"]),d=new Set(["127.0.0.1","localhost","[::1]","0.0.0.0"]);function p(e){return f.has(String(e||"").toLowerCase())}function h({method:e,pathname:t,headers:n,env:r={}}){let i=e=>n?.get?.(e)??null,a=r.SIX_DEGREES_BIND||r.HOSTNAME;if(function({bind:e,host:t}){let n;if(!p(e)||!t)return!1;try{n=new URL(`http://${t}`).hostname.toLowerCase()}catch{return!0}return!d.has(n)}({bind:a,host:i("host")}))return{status:421,error:"This app only answers to 127.0.0.1 and localhost."};if(function({method:e,secFetchSite:t,origin:n,host:r}){if(!e||!["POST","PUT","PATCH","DELETE"].includes(e.toUpperCase()))return!1;if(t){if("same-origin"===t||"none"===t)return!1;if("same-site"!==t||!n)return!0}if(n)try{let e=new URL(n).host;return!!r&&e!==r}catch{return!0}return!1}({method:e,secFetchSite:i("sec-fetch-site"),origin:i("origin"),host:i("host")}))return{status:403,error:"Cross-site requests are not accepted. This app only answers to pages it serves."};if(!u.some(e=>t===e||t.startsWith(`${e}/`)))return null;let o=function({bind:e,token:t,bearer:n}){return t&&function(e,t){if("string"!=typeof e||"string"!=typeof t||e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e.charCodeAt(r)^t.charCodeAt(r);return 0===n}(n,t)?{allow:!0,reason:"valid admin token"}:p(e)?{allow:!0,reason:"server is bound to loopback; only this machine can connect"}:t?{allow:!1,status:401,reason:"missing or incorrect admin token"}:{allow:!1,status:503,reason:"server is not bound to loopback and no ADMIN_TOKEN is configured"}}({bind:a,token:r.ADMIN_TOKEN,bearer:(i("authorization")||"").replace(/^Bearer\s+/i,"")});return o.allow?null:{status:o.status,error:o.reason}}e.s(["requestRefusal",0,h],54090);var T=e.i(1348);let m=new Set(["ENOENT","EINVAL","ENOTSUP","ENOSYS","EISDIR","EPERM","EBADF"]);function E(e){let t;try{t=n.default.openSync(e,"r")}catch(e){if(m.has(e.code))return;throw e}try{n.default.fsyncSync(t)}catch(e){if(!m.has(e.code))throw e}finally{n.default.closeSync(t)}}function y(e,t){let r=`${e}.${process.pid}.tmp`;try{let i=n.default.openSync(r,"w");try{n.default.writeFileSync(i,t),n.default.fsyncSync(i)}finally{n.default.closeSync(i)}n.default.renameSync(r,e)}catch(e){throw n.default.rmSync(r,{force:!0}),e}E(i.default.dirname(e))}let S=function(e){let t=n.default.openSync(e,"r");try{n.default.fsyncSync(t)}finally{n.default.closeSync(t)}},g=function(e,t){y(e,`${JSON.stringify(t,null,2)}
|
|
163
163
|
`)},w=[25,50,100,200,500],_=[100,250,500,1e3,0],A=[10,25,50,100],N="America/Los_Angeles";function b(e){try{return JSON.parse((0,n.readFileSync)(e,"utf8"))}catch{return null}}function R(e=Date.now()){let t=Object.fromEntries(new Intl.DateTimeFormat("en-US",{timeZone:N,year:"numeric",month:"numeric"}).formatToParts(new Date(e)).map(e=>[e.type,e.value])),n=Number(t.year),r=Number(t.month),i=Date.UTC(n,r-1,1,8);for(let e=0;e<2;e++)i=Date.UTC(n,r-1,1,-function(e){let t=(new Intl.DateTimeFormat("en-US",{timeZone:N,timeZoneName:"shortOffset"}).formatToParts(new Date(e)).find(e=>"timeZoneName"===e.type)?.value||"GMT-8").match(/GMT([+-]\d+)(?::(\d+))?/);return t?Number(t[1]):-8}(i));return i}function I(e){let t,n=b(i.default.join(e,"scan-limits.json"))||{},r=(e,t)=>Number.isInteger(e)&&e>=0?e:t;return{daily:r(n.daily,50),monthly:r(n.monthly,250),profiles:(t=r(n.profiles,0)||50,A.filter(e=>e<=t).pop()??A[0])}}let O="linkedin-activity.json",L="linkedin-cooldown.json",D="scan-limits.json",x=e=>!!e&&"object"==typeof e&&!Array.isArray(e),k=e=>void 0===e||Array.isArray(e)&&e.every(e=>"number"==typeof e&&Number.isFinite(e)&&e>=0),X=e=>"number"==typeof e&&Number.isFinite(e)&&e>=0;function F(e,t){if(!x(t))return"it is not a JSON object";if(e===O){if(!k(t.searches)||!k(t.profiles))return"its record of searches is not a list of times"}else if(e===L){if(!X(t.until))return"its pause has no end time";if(void 0!==t.reason&&"string"!=typeof t.reason)return"its pause has a reason that is not text";if(void 0!==t.set_at&&!X(t.set_at))return"its pause has a start time that is not a time"}else if(e===D){if(void 0!==t.daily&&!w.includes(t.daily))return`its daily limit (${String(t.daily).slice(0,20)}) is not one Six Degrees offers`;if(void 0!==t.monthly&&!_.includes(t.monthly))return`its monthly limit (${String(t.monthly).slice(0,20)}) is not one Six Degrees offers`;if(void 0!==t.profiles&&!A.includes(t.profiles))return`its limit on profile views (${String(t.profiles).slice(0,20)}) is not one Six Degrees offers`}return null}function $(e=[],t=[]){let n=e=>e.reduce((e,t)=>e.set(t,(e.get(t)||0)+1),new Map),r=n(e);for(let[e,i]of n(t))i>(r.get(e)||0)&&r.set(e,i);return[...r].sort((e,t)=>e[0]-t[0]).flatMap(([e,t])=>Array(t).fill(e))}function j(e){if(void 0===e)return[];if(!Array.isArray(e))return null;let t=e.map(Number);return t.every(Number.isFinite)?t:null}let v=e=>{try{return(0,n.lstatSync)(e),!0}catch{return!1}};function U({dir:e,from:t}){let n=t=>i.default.join(e,t),r=e=>{let n=b(i.default.join(t,e));return x(n)&&!F(e,n)?n:null},a=r(O);if(a){let e=v(n(O))?b(n(O)):{},t=x(e)?j(e.searches):null,r=x(e)?j(e.profiles):null;t&&r&&g(n(O),{searches:$(t,a.searches),profiles:$(r,a.profiles)})}let o=r(L);if(o){let e=b(n(L)),t=Number.isFinite(Number(e?.until))?Number(e.until):-1/0;o.until>t&&g(n(L),{until:o.until,reason:o.reason??"LinkedIn pushed back",set_at:o.set_at??null})}let s=r(D);s&&!v(n(D))&&g(n(D),{daily:s.daily??50,monthly:s.monthly??250,profiles:s.profiles??50})}e.s(["budgetFileProblem",0,F,"liftCooldown",0,function(e){try{(0,n.unlinkSync)(i.default.join(e,"linkedin-cooldown.json"))}catch{}},"linkedinState",0,function(e,t=Date.now()){let r=I(e),a=function(e,t=Date.now()){let r=i.default.join(e,"linkedin-activity.json"),a=(0,n.existsSync)(r)?b(r):{searches:[],profiles:[]};if(!a||"object"!=typeof a)return{searchesToday:1/0,searchesMonth:0,profilesToday:1/0,unreadable:!0};let o=(Array.isArray(a.searches)?a.searches:[]).map(Number),s=(Array.isArray(a.profiles)?a.profiles:[]).map(Number),l=t/1e3-86400,c=R(t)/1e3;return{searchesToday:o.filter(e=>e>l).length,searchesMonth:o.filter(e=>e>=c).length,profilesToday:s.filter(e=>e>l).length}}(e,t),o=(e,t)=>e?Math.max(0,e-t):null;return{...a,limits:r,leftToday:o(r.daily,a.searchesToday),leftMonth:o(r.monthly,a.searchesMonth),profilesLeftToday:o(r.profiles,a.profilesToday),monthResets:function(e=Date.now()){let t=R(e);return R(t+3456e6)}(t),cooldown:function(e,t=Date.now()){let n=b(i.default.join(e,"linkedin-cooldown.json")),r=1e3*Number(n?.until);return n&&Number.isFinite(r)&&!(r<=t)?{until:r,reason:String(n.reason||"LinkedIn pushed back"),setAt:1e3*Number(n.set_at)||null}:null}(e,t)}},"mergeBudgetFiles",0,U,"writeLimits",0,function(e,{daily:t,monthly:r,profiles:a}={}){var o;let s,l=I(e),c={daily:w.includes(t)?t:l.daily,monthly:_.includes(r)?r:l.monthly,profiles:A.includes(a)?a:l.profiles};return o=i.default.join(e,"scan-limits.json"),s=`${o}.${process.pid}.${Date.now()}.tmp`,(0,n.writeFileSync)(s,JSON.stringify(c,null,2)),(0,n.renameSync)(s,o),c}],41238);var C=e.i(74533);let M=/^[A-Za-z0-9_-]+\.(webp|jpg|jpeg|png)$/,P="/avatars/";function G(e){return"string"==typeof e&&e.startsWith(P)&&M.test(e.slice(P.length))?e:null}function q(e){return e.prepare(`SELECT DISTINCT profile_url AS profileUrl, profile_image_url AS imageUrl
|
|
164
164
|
FROM linkedin_connections
|
|
165
165
|
WHERE profile_image_url IS NOT NULL AND profile_image_url <> ''
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[9272,a=>{a.v({className:"geist_2ae47f08-module__h69qWW__className",variable:"geist_2ae47f08-module__h69qWW__variable"})},79474,a=>{a.v({className:"geist_mono_eb58308d-module__w_p2Lq__className",variable:"geist_mono_eb58308d-module__w_p2Lq__variable"})},26230,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/ScanStatusBar.js from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/ScanStatusBar.js","default")},21043,a=>{"use strict";var b=a.i(26230);a.n(b)},88999,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/SocialAutoSync.js from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/SocialAutoSync.js","default")},25493,a=>{"use strict";var b=a.i(88999);a.n(b)},62925,a=>{"use strict";var b=a.i(7997),c=a.i(9272);let d={className:c.default.className,style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"}};null!=c.default.variable&&(d.variable=c.default.variable);var e=a.i(79474);let f={className:e.default.className,style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"}};null!=e.default.variable&&(f.variable=e.default.variable);var g=a.i(68354),h=a.i(42041),i=a.i(21043),j=a.i(25493);a.s(["default",0,function({children:a}){return(0,b.jsx)("html",{lang:"en",className:`${d.variable} ${f.variable}`,children:(0,b.jsx)("body",{style:{margin:0,padding:0,background:"#0a0a1a"},children:(0,b.jsxs)(g.default,{children:[a,(0,b.jsx)(h.default,{}),(0,b.jsx)(i.default,{}),(0,b.jsx)(j.default,{})]})})})},"metadata",0,{title:"Six Degrees",description:"Maps your LinkedIn network: who you know, who they know, and the shortest path to someone you haven't met. Runs on your own computer; nothing is uploaded.",viewport:"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"}],62925)},19325,function(a){a.n(a.i(62925))},61143,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/StaleServerBanner.js from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/StaleServerBanner.js","default")},42041,a=>{"use strict";var b=a.i(61143);a.n(b)},69067,a=>{"use strict";a.s(["default",()=>c,"useUser",()=>d]);var b=a.i(11857);let c=(0,b.registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/app/components/UserProvider.js from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/UserProvider.js","default"),d=(0,b.registerClientReference)(function(){throw Error("Attempted to call useUser() from the server but useUser is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/app/components/UserProvider.js","useUser")},68354,a=>{"use strict";var b=a.i(69067);a.n(b)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__16hs8kw._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[18622,(a,b,c)=>{b.exports=a.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},24725,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},43285,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/dynamic-access-async-storage.external.js",()=>require("next/dist/server/app-render/dynamic-access-async-storage.external.js"))},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.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,(a,b,c)=>{b.exports=a.x("next/dist/server/runtime-reacts.external.js",()=>require("next/dist/server/runtime-reacts.external.js"))},42602,(a,b,c)=>{"use strict";b.exports=a.r(18622)},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},35112,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactDOM},87924,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactJsxRuntime},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},72131,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].React}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1feicqq._.js.map
|