{
  "directed": false,
  "multigraph": false,
  "graph": {},
  "nodes": [
    {
      "label": "config.js",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L1",
      "id": "config_js",
      "community": 0,
      "norm_label": "config.js"
    },
    {
      "label": "CITIES",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L5",
      "id": "hunt_config_cities",
      "community": 0,
      "norm_label": "cities"
    },
    {
      "label": "TRADES",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L7",
      "id": "hunt_config_trades",
      "community": 0,
      "norm_label": "trades"
    },
    {
      "label": "TRADE_ALIASES",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L17",
      "id": "hunt_config_trade_aliases",
      "community": 0,
      "norm_label": "trade_aliases"
    },
    {
      "label": "normalizeTrade()",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L40",
      "id": "hunt_config_normalizetrade",
      "community": 5,
      "norm_label": "normalizetrade()"
    },
    {
      "label": "RATE_LIMITS",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L50",
      "id": "hunt_config_rate_limits",
      "community": 0,
      "norm_label": "rate_limits"
    },
    {
      "label": "GUMTREE_LOCATION_IDS",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L68",
      "id": "hunt_config_gumtree_location_ids",
      "community": 0,
      "norm_label": "gumtree_location_ids"
    },
    {
      "label": "GUMTREE_URLS",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L74",
      "id": "hunt_config_gumtree_urls",
      "community": 0,
      "norm_label": "gumtree_urls"
    },
    {
      "label": "TEMPLATES",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L91",
      "id": "hunt_config_templates",
      "community": 0,
      "norm_label": "templates"
    },
    {
      "label": "fillTemplate()",
      "file_type": "code",
      "source_file": "config.js",
      "source_location": "L195",
      "id": "hunt_config_filltemplate",
      "community": 3,
      "norm_label": "filltemplate()"
    },
    {
      "label": "contractor-hunter.js",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L1",
      "id": "contractor_hunter_js",
      "community": 1,
      "norm_label": "contractor-hunter.js"
    },
    {
      "label": "path",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L15",
      "id": "hunt_contractor_hunter_path",
      "community": 1,
      "norm_label": "path"
    },
    {
      "label": "axios",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L16",
      "id": "hunt_contractor_hunter_axios",
      "community": 1,
      "norm_label": "axios"
    },
    {
      "label": "cheerio",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L17",
      "id": "hunt_contractor_hunter_cheerio",
      "community": 1,
      "norm_label": "cheerio"
    },
    {
      "label": "{ upsertContact, insertLead }",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L19",
      "id": "hunt_contractor_hunter_upsertcontact_insertlead",
      "community": 1,
      "norm_label": "{ upsertcontact, insertlead }"
    },
    {
      "label": "{ CITIES, GUMTREE_URLS, normalizeTrade }",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L20",
      "id": "hunt_contractor_hunter_cities_gumtree_urls_normalizetrade",
      "community": 1,
      "norm_label": "{ cities, gumtree_urls, normalizetrade }"
    },
    {
      "label": "USER_AGENTS",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L24",
      "id": "hunt_contractor_hunter_user_agents",
      "community": 1,
      "norm_label": "user_agents"
    },
    {
      "label": "randomUserAgent()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L30",
      "id": "hunt_contractor_hunter_randomuseragent",
      "community": 1,
      "norm_label": "randomuseragent()"
    },
    {
      "label": "randomDelay()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L37",
      "id": "hunt_contractor_hunter_randomdelay",
      "community": 1,
      "norm_label": "randomdelay()"
    },
    {
      "label": "cleanUrl()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L43",
      "id": "hunt_contractor_hunter_cleanurl",
      "community": 1,
      "norm_label": "cleanurl()"
    },
    {
      "label": "extractSuburb()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L53",
      "id": "hunt_contractor_hunter_extractsuburb",
      "community": 1,
      "norm_label": "extractsuburb()"
    },
    {
      "label": "extractContacts()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L64",
      "id": "hunt_contractor_hunter_extractcontacts",
      "community": 1,
      "norm_label": "extractcontacts()"
    },
    {
      "label": "fetchPage()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L88",
      "id": "hunt_contractor_hunter_fetchpage",
      "community": 1,
      "norm_label": "fetchpage()"
    },
    {
      "label": "parsePage()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L111",
      "id": "hunt_contractor_hunter_parsepage",
      "community": 1,
      "norm_label": "parsepage()"
    },
    {
      "label": "scrapeGumtreeContractors()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L201",
      "id": "hunt_contractor_hunter_scrapegumtreecontractors",
      "community": 1,
      "norm_label": "scrapegumtreecontractors()"
    },
    {
      "label": "runCity()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L249",
      "id": "hunt_contractor_hunter_runcity",
      "community": 2,
      "norm_label": "runcity()"
    },
    {
      "label": "parseArgs()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L330",
      "id": "hunt_contractor_hunter_parseargs",
      "community": 1,
      "norm_label": "parseargs()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "contractor-hunter.js",
      "source_location": "L349",
      "id": "hunt_contractor_hunter_main",
      "community": 1,
      "norm_label": "main()"
    },
    {
      "label": "db.js",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L1",
      "id": "db_js",
      "community": 2,
      "norm_label": "db.js"
    },
    {
      "label": "{ createClient }",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L5",
      "id": "hunt_db_createclient",
      "community": 2,
      "norm_label": "{ createclient }"
    },
    {
      "label": "{ CONTACT_COOLDOWN_DAYS, MAX_CONTACTS, RATE_LIMITS }",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L6",
      "id": "hunt_db_contact_cooldown_days_max_contacts_rate_limits",
      "community": 2,
      "norm_label": "{ contact_cooldown_days, max_contacts, rate_limits }"
    },
    {
      "label": "supabase",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L10",
      "id": "hunt_db_supabase",
      "community": 4,
      "norm_label": "supabase"
    },
    {
      "label": "isUniqueViolation()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L17",
      "id": "hunt_db_isuniqueviolation",
      "community": 2,
      "norm_label": "isuniqueviolation()"
    },
    {
      "label": "findContact()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L27",
      "id": "hunt_db_findcontact",
      "community": 2,
      "norm_label": "findcontact()"
    },
    {
      "label": "upsertContact()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L71",
      "id": "hunt_db_upsertcontact",
      "community": 2,
      "norm_label": "upsertcontact()"
    },
    {
      "label": "canContact()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L125",
      "id": "hunt_db_cancontact",
      "community": 3,
      "norm_label": "cancontact()"
    },
    {
      "label": "recordContact()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L160",
      "id": "hunt_db_recordcontact",
      "community": 3,
      "norm_label": "recordcontact()"
    },
    {
      "label": "markUnsubscribed()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L191",
      "id": "hunt_db_markunsubscribed",
      "community": 4,
      "norm_label": "markunsubscribed()"
    },
    {
      "label": "markBounced()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L212",
      "id": "hunt_db_markbounced",
      "community": 4,
      "norm_label": "markbounced()"
    },
    {
      "label": "insertLead()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L232",
      "id": "hunt_db_insertlead",
      "community": 2,
      "norm_label": "insertlead()"
    },
    {
      "label": "_shouldAutoApprove()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L278",
      "id": "hunt_db_shouldautoapprove",
      "community": 2,
      "norm_label": "_shouldautoapprove()"
    },
    {
      "label": "getLeadQueue()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L299",
      "id": "hunt_db_getleadqueue",
      "community": 3,
      "norm_label": "getleadqueue()"
    },
    {
      "label": "updateLeadStatus()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L325",
      "id": "hunt_db_updateleadstatus",
      "community": 3,
      "norm_label": "updateleadstatus()"
    },
    {
      "label": "upsertJob()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L345",
      "id": "hunt_db_upsertjob",
      "community": 0,
      "norm_label": "upsertjob()"
    },
    {
      "label": "expireStaleJobs()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L370",
      "id": "hunt_db_expirestalejobs",
      "community": 0,
      "norm_label": "expirestalejobs()"
    },
    {
      "label": "getDailySendCount()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L399",
      "id": "hunt_db_getdailysendcount",
      "community": 3,
      "norm_label": "getdailysendcount()"
    },
    {
      "label": "canSendToday()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L426",
      "id": "hunt_db_cansendtoday",
      "community": 3,
      "norm_label": "cansendtoday()"
    },
    {
      "label": "insertMatch()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L441",
      "id": "hunt_db_insertmatch",
      "community": 2,
      "norm_label": "insertmatch()"
    },
    {
      "label": "findMatches()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L468",
      "id": "hunt_db_findmatches",
      "community": 2,
      "norm_label": "findmatches()"
    },
    {
      "label": "getStats()",
      "file_type": "code",
      "source_file": "db.js",
      "source_location": "L535",
      "id": "hunt_db_getstats",
      "community": 8,
      "norm_label": "getstats()"
    },
    {
      "label": "debug-gumtree.js",
      "file_type": "code",
      "source_file": "debug-gumtree.js",
      "source_location": "L1",
      "id": "debug_gumtree_js",
      "community": 9,
      "norm_label": "debug-gumtree.js"
    },
    {
      "label": "axios",
      "file_type": "code",
      "source_file": "debug-gumtree.js",
      "source_location": "L3",
      "id": "hunt_debug_gumtree_axios",
      "community": 9,
      "norm_label": "axios"
    },
    {
      "label": "cheerio",
      "file_type": "code",
      "source_file": "debug-gumtree.js",
      "source_location": "L4",
      "id": "hunt_debug_gumtree_cheerio",
      "community": 9,
      "norm_label": "cheerio"
    },
    {
      "label": "debug()",
      "file_type": "code",
      "source_file": "debug-gumtree.js",
      "source_location": "L6",
      "id": "hunt_debug_gumtree_debug",
      "community": 9,
      "norm_label": "debug()"
    },
    {
      "label": "axios",
      "file_type": "code",
      "source_file": "debug-gumtree2.js",
      "source_location": "L3",
      "id": "hunt_debug_gumtree2_axios",
      "community": 9,
      "norm_label": "axios"
    },
    {
      "label": "cheerio",
      "file_type": "code",
      "source_file": "debug-gumtree2.js",
      "source_location": "L4",
      "id": "hunt_debug_gumtree2_cheerio",
      "community": 9,
      "norm_label": "cheerio"
    },
    {
      "label": "debug()",
      "file_type": "code",
      "source_file": "debug-gumtree2.js",
      "source_location": "L6",
      "id": "hunt_debug_gumtree2_debug",
      "community": 9,
      "norm_label": "debug()"
    },
    {
      "label": "ecosystem.config.js",
      "file_type": "code",
      "source_file": "ecosystem.config.js",
      "source_location": "L1",
      "id": "ecosystem_config_js",
      "community": 12,
      "norm_label": "ecosystem.config.js"
    },
    {
      "label": "import-existing-leads.js",
      "file_type": "code",
      "source_file": "import-existing-leads.js",
      "source_location": "L1",
      "id": "import_existing_leads_js",
      "community": 10,
      "norm_label": "import-existing-leads.js"
    },
    {
      "label": "{ createClient }",
      "file_type": "code",
      "source_file": "import-existing-leads.js",
      "source_location": "L17",
      "id": "hunt_import_existing_leads_createclient",
      "community": 10,
      "norm_label": "{ createclient }"
    },
    {
      "label": "supabase",
      "file_type": "code",
      "source_file": "import-existing-leads.js",
      "source_location": "L21",
      "id": "hunt_import_existing_leads_supabase",
      "community": 10,
      "norm_label": "supabase"
    },
    {
      "label": "isUniqueViolation()",
      "file_type": "code",
      "source_file": "import-existing-leads.js",
      "source_location": "L28",
      "id": "hunt_import_existing_leads_isuniqueviolation",
      "community": 10,
      "norm_label": "isuniqueviolation()"
    },
    {
      "label": "buildIdentityKey()",
      "file_type": "code",
      "source_file": "import-existing-leads.js",
      "source_location": "L35",
      "id": "hunt_import_existing_leads_buildidentitykey",
      "community": 10,
      "norm_label": "buildidentitykey()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "import-existing-leads.js",
      "source_location": "L48",
      "id": "hunt_import_existing_leads_main",
      "community": 10,
      "norm_label": "main()"
    },
    {
      "label": "job-aggregator.js",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L1",
      "id": "job_aggregator_js",
      "community": 0,
      "norm_label": "job-aggregator.js"
    },
    {
      "label": "path",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L19",
      "id": "hunt_job_aggregator_path",
      "community": 0,
      "norm_label": "path"
    },
    {
      "label": "{ upsertJob, expireStaleJobs }",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L26",
      "id": "hunt_job_aggregator_upsertjob_expirestalejobs",
      "community": 0,
      "norm_label": "{ upsertjob, expirestalejobs }"
    },
    {
      "label": "{ CITIES }",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L27",
      "id": "hunt_job_aggregator_cities",
      "community": 0,
      "norm_label": "{ cities }"
    },
    {
      "label": "parseArgs()",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L34",
      "id": "hunt_job_aggregator_parseargs",
      "community": 0,
      "norm_label": "parseargs()"
    },
    {
      "label": "sleep()",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L53",
      "id": "hunt_job_aggregator_sleep",
      "community": 0,
      "norm_label": "sleep()"
    },
    {
      "label": "processCity()",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L66",
      "id": "hunt_job_aggregator_processcity",
      "community": 0,
      "norm_label": "processcity()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "job-aggregator.js",
      "source_location": "L112",
      "id": "hunt_job_aggregator_main",
      "community": 0,
      "norm_label": "main()"
    },
    {
      "label": "matchmaker.js",
      "file_type": "code",
      "source_file": "matchmaker.js",
      "source_location": "L1",
      "id": "matchmaker_js",
      "community": 2,
      "norm_label": "matchmaker.js"
    },
    {
      "label": "{ findMatches, insertMatch }",
      "file_type": "code",
      "source_file": "matchmaker.js",
      "source_location": "L4",
      "id": "hunt_matchmaker_findmatches_insertmatch",
      "community": 2,
      "norm_label": "{ findmatches, insertmatch }"
    },
    {
      "label": "scoreMatch()",
      "file_type": "code",
      "source_file": "matchmaker.js",
      "source_location": "L14",
      "id": "hunt_matchmaker_scorematch",
      "community": 2,
      "norm_label": "scorematch()"
    },
    {
      "label": "label()",
      "file_type": "code",
      "source_file": "matchmaker.js",
      "source_location": "L31",
      "id": "hunt_matchmaker_label",
      "community": 2,
      "norm_label": "label()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "matchmaker.js",
      "source_location": "L38",
      "id": "hunt_matchmaker_main",
      "community": 2,
      "norm_label": "main()"
    },
    {
      "label": "notion-summary.js",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L1",
      "id": "notion_summary_js",
      "community": 8,
      "norm_label": "notion-summary.js"
    },
    {
      "label": "{ getStats, supabase }",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L7",
      "id": "hunt_notion_summary_getstats_supabase",
      "community": 8,
      "norm_label": "{ getstats, supabase }"
    },
    {
      "label": "todayStart()",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L11",
      "id": "hunt_notion_summary_todaystart",
      "community": 8,
      "norm_label": "todaystart()"
    },
    {
      "label": "getTodayStats()",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L19",
      "id": "hunt_notion_summary_gettodaystats",
      "community": 8,
      "norm_label": "gettodaystats()"
    },
    {
      "label": "formatSummary()",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L68",
      "id": "hunt_notion_summary_formatsummary",
      "community": 8,
      "norm_label": "formatsummary()"
    },
    {
      "label": "generateSummary()",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L110",
      "id": "hunt_notion_summary_generatesummary",
      "community": 8,
      "norm_label": "generatesummary()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "notion-summary.js",
      "source_location": "L123",
      "id": "hunt_notion_summary_main",
      "community": 8,
      "norm_label": "main()"
    },
    {
      "label": "outreach-sender.js",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L1",
      "id": "outreach_sender_js",
      "community": 3,
      "norm_label": "outreach-sender.js"
    },
    {
      "label": "{ sendPlainText }",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L6",
      "id": "hunt_outreach_sender_sendplaintext",
      "community": 3,
      "norm_label": "{ sendplaintext }"
    },
    {
      "label": "{\r\n  getLeadQueue,\r\n  updateLeadStatus,\r\n  canContact,\r\n  recordContact,\r\n  canSendToday,\r\n}",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "id": "hunt_outreach_sender_getleadqueue_updateleadstatus_cancontact_recordcontact_cansendtoday",
      "community": 3,
      "norm_label": "{\r\n  getleadqueue,\r\n  updateleadstatus,\r\n  cancontact,\r\n  recordcontact,\r\n  cansendtoday,\r\n}"
    },
    {
      "label": "{ TEMPLATES, fillTemplate, SEND_DELAY_MS }",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L14",
      "id": "hunt_outreach_sender_templates_filltemplate_send_delay_ms",
      "community": 3,
      "norm_label": "{ templates, filltemplate, send_delay_ms }"
    },
    {
      "label": "capitalize()",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L22",
      "id": "hunt_outreach_sender_capitalize",
      "community": 3,
      "norm_label": "capitalize()"
    },
    {
      "label": "buildUnsubscribeUrl()",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L27",
      "id": "hunt_outreach_sender_buildunsubscribeurl",
      "community": 3,
      "norm_label": "buildunsubscribeurl()"
    },
    {
      "label": "sleep()",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L32",
      "id": "hunt_outreach_sender_sleep",
      "community": 3,
      "norm_label": "sleep()"
    },
    {
      "label": "runBatch()",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L38",
      "id": "hunt_outreach_sender_runbatch",
      "community": 3,
      "norm_label": "runbatch()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "outreach-sender.js",
      "source_location": "L153",
      "id": "hunt_outreach_sender_main",
      "community": 3,
      "norm_label": "main()"
    },
    {
      "label": "reply-monitor.js",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L1",
      "id": "reply_monitor_js",
      "community": 4,
      "norm_label": "reply-monitor.js"
    },
    {
      "label": "{ listMessages, getThread }",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L6",
      "id": "hunt_reply_monitor_listmessages_getthread",
      "community": 4,
      "norm_label": "{ listmessages, getthread }"
    },
    {
      "label": "{ supabase, markBounced, markUnsubscribed }",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L7",
      "id": "hunt_reply_monitor_supabase_markbounced_markunsubscribed",
      "community": 4,
      "norm_label": "{ supabase, markbounced, markunsubscribed }"
    },
    {
      "label": "BOUNCE_SENDERS",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L13",
      "id": "hunt_reply_monitor_bounce_senders",
      "community": 4,
      "norm_label": "bounce_senders"
    },
    {
      "label": "NEGATIVE_KEYWORDS",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L15",
      "id": "hunt_reply_monitor_negative_keywords",
      "community": 4,
      "norm_label": "negative_keywords"
    },
    {
      "label": "POSITIVE_KEYWORDS",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L24",
      "id": "hunt_reply_monitor_positive_keywords",
      "community": 4,
      "norm_label": "positive_keywords"
    },
    {
      "label": "classifyReply()",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L37",
      "id": "hunt_reply_monitor_classifyreply",
      "community": 4,
      "norm_label": "classifyreply()"
    },
    {
      "label": "getHeader()",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L65",
      "id": "hunt_reply_monitor_getheader",
      "community": 4,
      "norm_label": "getheader()"
    },
    {
      "label": "decodeBody()",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L74",
      "id": "hunt_reply_monitor_decodebody",
      "community": 4,
      "norm_label": "decodebody()"
    },
    {
      "label": "extractPlainText()",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L86",
      "id": "hunt_reply_monitor_extractplaintext",
      "community": 4,
      "norm_label": "extractplaintext()"
    },
    {
      "label": "runCycle()",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L105",
      "id": "hunt_reply_monitor_runcycle",
      "community": 4,
      "norm_label": "runcycle()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "reply-monitor.js",
      "source_location": "L211",
      "id": "hunt_reply_monitor_main",
      "community": 4,
      "norm_label": "main()"
    },
    {
      "label": "worker-hunter.js",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L1",
      "id": "worker_hunter_js",
      "community": 11,
      "norm_label": "worker-hunter.js"
    },
    {
      "label": "path",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L14",
      "id": "hunt_worker_hunter_path",
      "community": 11,
      "norm_label": "path"
    },
    {
      "label": "{ upsertContact, insertLead }",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L21",
      "id": "hunt_worker_hunter_upsertcontact_insertlead",
      "community": 11,
      "norm_label": "{ upsertcontact, insertlead }"
    },
    {
      "label": "{ CITIES }",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L22",
      "id": "hunt_worker_hunter_cities",
      "community": 11,
      "norm_label": "{ cities }"
    },
    {
      "label": "parseArgs()",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L26",
      "id": "hunt_worker_hunter_parseargs",
      "community": 11,
      "norm_label": "parseargs()"
    },
    {
      "label": "runCity()",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L52",
      "id": "hunt_worker_hunter_runcity",
      "community": 2,
      "norm_label": "runcity()"
    },
    {
      "label": "main()",
      "file_type": "code",
      "source_file": "worker-hunter.js",
      "source_location": "L130",
      "id": "hunt_worker_hunter_main",
      "community": 11,
      "norm_label": "main()"
    },
    {
      "label": "gumtree-jobs.js",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L1",
      "id": "scrapers_gumtree_jobs_js",
      "community": 5,
      "norm_label": "gumtree-jobs.js"
    },
    {
      "label": "{ chromium }",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L11",
      "id": "scrapers_gumtree_jobs_chromium",
      "community": 5,
      "norm_label": "{ chromium }"
    },
    {
      "label": "path",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L12",
      "id": "scrapers_gumtree_jobs_path",
      "community": 5,
      "norm_label": "path"
    },
    {
      "label": "{ GUMTREE_URLS, normalizeTrade }",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L14",
      "id": "scrapers_gumtree_jobs_gumtree_urls_normalizetrade",
      "community": 5,
      "norm_label": "{ gumtree_urls, normalizetrade }"
    },
    {
      "label": "HEADED",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L18",
      "id": "scrapers_gumtree_jobs_headed",
      "community": 5,
      "norm_label": "headed"
    },
    {
      "label": "randomDelay()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L23",
      "id": "scrapers_gumtree_jobs_randomdelay",
      "community": 5,
      "norm_label": "randomdelay()"
    },
    {
      "label": "cleanUrl()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L29",
      "id": "scrapers_gumtree_jobs_cleanurl",
      "community": 5,
      "norm_label": "cleanurl()"
    },
    {
      "label": "extractSuburb()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L39",
      "id": "scrapers_gumtree_jobs_extractsuburb",
      "community": 5,
      "norm_label": "extractsuburb()"
    },
    {
      "label": "guessTrade()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L46",
      "id": "scrapers_gumtree_jobs_guesstrade",
      "community": 5,
      "norm_label": "guesstrade()"
    },
    {
      "label": "extractJobsFromPage()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L68",
      "id": "scrapers_gumtree_jobs_extractjobsfrompage",
      "community": 5,
      "norm_label": "extractjobsfrompage()"
    },
    {
      "label": "scrapeGumtreeJobs()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L188",
      "id": "scrapers_gumtree_jobs_scrapegumtreejobs",
      "community": 5,
      "norm_label": "scrapegumtreejobs()"
    },
    {
      "label": "gumtree-scrapingbee.js",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L1",
      "id": "scrapers_gumtree_scrapingbee_js",
      "community": 7,
      "norm_label": "gumtree-scrapingbee.js"
    },
    {
      "label": "axios",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L16",
      "id": "scrapers_gumtree_scrapingbee_axios",
      "community": 7,
      "norm_label": "axios"
    },
    {
      "label": "cheerio",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L17",
      "id": "scrapers_gumtree_scrapingbee_cheerio",
      "community": 7,
      "norm_label": "cheerio"
    },
    {
      "label": "path",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L18",
      "id": "scrapers_gumtree_scrapingbee_path",
      "community": 7,
      "norm_label": "path"
    },
    {
      "label": "{ GUMTREE_URLS, normalizeTrade }",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L20",
      "id": "scrapers_gumtree_scrapingbee_gumtree_urls_normalizetrade",
      "community": 7,
      "norm_label": "{ gumtree_urls, normalizetrade }"
    },
    {
      "label": "extractContacts()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L34",
      "id": "scrapers_gumtree_scrapingbee_extractcontacts",
      "community": 7,
      "norm_label": "extractcontacts()"
    },
    {
      "label": "cleanUrl()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L43",
      "id": "scrapers_gumtree_scrapingbee_cleanurl",
      "community": 7,
      "norm_label": "cleanurl()"
    },
    {
      "label": "fetchPage()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L54",
      "id": "scrapers_gumtree_scrapingbee_fetchpage",
      "community": 7,
      "norm_label": "fetchpage()"
    },
    {
      "label": "scrapeGumtreeJobs()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L73",
      "id": "scrapers_gumtree_scrapingbee_scrapegumtreejobs",
      "community": 7,
      "norm_label": "scrapegumtreejobs()"
    },
    {
      "label": "scrapeGumtreeWorkers()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L169",
      "id": "scrapers_gumtree_scrapingbee_scrapegumtreeworkers",
      "community": 7,
      "norm_label": "scrapegumtreeworkers()"
    },
    {
      "label": "gumtree-workers.js",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L1",
      "id": "scrapers_gumtree_workers_js",
      "community": 6,
      "norm_label": "gumtree-workers.js"
    },
    {
      "label": "{ chromium }",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L11",
      "id": "scrapers_gumtree_workers_chromium",
      "community": 6,
      "norm_label": "{ chromium }"
    },
    {
      "label": "path",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L12",
      "id": "scrapers_gumtree_workers_path",
      "community": 6,
      "norm_label": "path"
    },
    {
      "label": "{ GUMTREE_URLS, normalizeTrade }",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L14",
      "id": "scrapers_gumtree_workers_gumtree_urls_normalizetrade",
      "community": 6,
      "norm_label": "{ gumtree_urls, normalizetrade }"
    },
    {
      "label": "HEADED",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L18",
      "id": "scrapers_gumtree_workers_headed",
      "community": 6,
      "norm_label": "headed"
    },
    {
      "label": "randomDelay()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L23",
      "id": "scrapers_gumtree_workers_randomdelay",
      "community": 6,
      "norm_label": "randomdelay()"
    },
    {
      "label": "extractContacts()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L33",
      "id": "scrapers_gumtree_workers_extractcontacts",
      "community": 6,
      "norm_label": "extractcontacts()"
    },
    {
      "label": "extractName()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L64",
      "id": "scrapers_gumtree_workers_extractname",
      "community": 6,
      "norm_label": "extractname()"
    },
    {
      "label": "guessTrade()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L79",
      "id": "scrapers_gumtree_workers_guesstrade",
      "community": 6,
      "norm_label": "guesstrade()"
    },
    {
      "label": "extractWorkersFromPage()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L101",
      "id": "scrapers_gumtree_workers_extractworkersfrompage",
      "community": 6,
      "norm_label": "extractworkersfrompage()"
    },
    {
      "label": "scrapeGumtreeWorkers()",
      "file_type": "code",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L213",
      "id": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "community": 6,
      "norm_label": "scrapegumtreeworkers()"
    }
  ],
  "links": [
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L5",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_cities",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_trades",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L17",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_trade_aliases",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L40",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_normalizetrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L50",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_rate_limits",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L68",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_gumtree_location_ids",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L74",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_gumtree_urls",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L91",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_templates",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "config.js",
      "source_location": "L195",
      "weight": 1.0,
      "source": "config_js",
      "target": "hunt_config_filltemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "db_js",
      "target": "config_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L27",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "config_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "config_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L27",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_config_cities",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L57",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_guesstrade",
      "target": "hunt_config_normalizetrade"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L90",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_guesstrade",
      "target": "hunt_config_normalizetrade"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_config_rate_limits",
      "confidence_score": 1.0
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_config_templates",
      "confidence_score": 1.0
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_config_filltemplate",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "outreach-sender.js",
      "source_location": "L117",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_config_filltemplate"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L15",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_path",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L16",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_axios",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L17",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_cheerio",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L19",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_upsertcontact_insertlead",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L20",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_cities_gumtree_urls_normalizetrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L24",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_user_agents",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L30",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_randomuseragent",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L37",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_randomdelay",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L43",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_cleanurl",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L53",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_extractsuburb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L64",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_extractcontacts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L88",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_fetchpage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L111",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_parsepage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L201",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_scrapegumtreecontractors",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L249",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_runcity",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L330",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_parseargs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L349",
      "weight": 1.0,
      "source": "contractor_hunter_js",
      "target": "hunt_contractor_hunter_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L91",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_fetchpage",
      "target": "hunt_contractor_hunter_randomuseragent",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L233",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_scrapegumtreecontractors",
      "target": "hunt_contractor_hunter_randomdelay",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L217",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_scrapegumtreecontractors",
      "target": "hunt_contractor_hunter_fetchpage",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L218",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_scrapegumtreecontractors",
      "target": "hunt_contractor_hunter_parsepage",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L254",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_runcity",
      "target": "hunt_contractor_hunter_scrapegumtreecontractors",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L360",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_main",
      "target": "hunt_contractor_hunter_runcity",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "contractor-hunter.js",
      "source_location": "L277",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_runcity",
      "target": "hunt_db_upsertcontact"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "contractor-hunter.js",
      "source_location": "L298",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_runcity",
      "target": "hunt_db_insertlead"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "contractor-hunter.js",
      "source_location": "L350",
      "weight": 1.0,
      "source": "hunt_contractor_hunter_main",
      "target": "hunt_contractor_hunter_parseargs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L5",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_createclient",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_contact_cooldown_days_max_contacts_rate_limits",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L10",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_supabase",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L17",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L27",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_findcontact",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L71",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_upsertcontact",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L125",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_cancontact",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L160",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_recordcontact",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L191",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_markunsubscribed",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L212",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_markbounced",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L232",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_insertlead",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L278",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_shouldautoapprove",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L299",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_getleadqueue",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L325",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_updateleadstatus",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L345",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_upsertjob",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L370",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_expirestalejobs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L399",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_getdailysendcount",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L426",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_cansendtoday",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L441",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_insertmatch",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L468",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_findmatches",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L535",
      "weight": 1.0,
      "source": "db_js",
      "target": "hunt_db_getstats",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L26",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "db_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L4",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "db_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "db_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "db_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports_from",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "db_js",
      "confidence_score": 1.0
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_db_supabase",
      "confidence_score": 1.0
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_db_supabase",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L105",
      "weight": 1.0,
      "source": "hunt_db_upsertcontact",
      "target": "hunt_db_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L241",
      "weight": 1.0,
      "source": "hunt_db_insertlead",
      "target": "hunt_db_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L354",
      "weight": 1.0,
      "source": "hunt_db_upsertjob",
      "target": "hunt_db_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L450",
      "weight": 1.0,
      "source": "hunt_db_insertmatch",
      "target": "hunt_db_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L73",
      "weight": 1.0,
      "source": "hunt_db_upsertcontact",
      "target": "hunt_db_findcontact",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "worker-hunter.js",
      "source_location": "L79",
      "weight": 1.0,
      "source": "hunt_worker_hunter_runcity",
      "target": "hunt_db_upsertcontact"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_db_cancontact",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "outreach-sender.js",
      "source_location": "L87",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_db_cancontact"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_db_recordcontact",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "outreach-sender.js",
      "source_location": "L131",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_db_recordcontact"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_db_markunsubscribed",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "reply-monitor.js",
      "source_location": "L186",
      "weight": 1.0,
      "source": "hunt_reply_monitor_runcycle",
      "target": "hunt_db_markunsubscribed"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_db_markbounced",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "reply-monitor.js",
      "source_location": "L184",
      "weight": 1.0,
      "source": "hunt_reply_monitor_runcycle",
      "target": "hunt_db_markbounced"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L251",
      "weight": 1.0,
      "source": "hunt_db_insertlead",
      "target": "hunt_db_shouldautoapprove",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "INFERRED",
      "confidence_score": 0.8,
      "source_file": "worker-hunter.js",
      "source_location": "L100",
      "weight": 1.0,
      "source": "hunt_worker_hunter_runcity",
      "target": "hunt_db_insertlead"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_db_getleadqueue",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "outreach-sender.js",
      "source_location": "L50",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_db_getleadqueue"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_db_updateleadstatus",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "outreach-sender.js",
      "source_location": "L125",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_db_updateleadstatus"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L26",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_db_upsertjob",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "job-aggregator.js",
      "source_location": "L98",
      "weight": 1.0,
      "source": "hunt_job_aggregator_processcity",
      "target": "hunt_db_upsertjob"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L26",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_db_expirestalejobs",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "job-aggregator.js",
      "source_location": "L141",
      "weight": 1.0,
      "source": "hunt_job_aggregator_main",
      "target": "hunt_db_expirestalejobs"
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "db.js",
      "source_location": "L428",
      "weight": 1.0,
      "source": "hunt_db_cansendtoday",
      "target": "hunt_db_getdailysendcount",
      "confidence_score": 1.0
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_db_cansendtoday",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "outreach-sender.js",
      "source_location": "L42",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_db_cansendtoday"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L4",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "hunt_db_insertmatch",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "matchmaker.js",
      "source_location": "L61",
      "weight": 1.0,
      "source": "hunt_matchmaker_main",
      "target": "hunt_db_insertmatch"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L4",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "hunt_db_findmatches",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "matchmaker.js",
      "source_location": "L41",
      "weight": 1.0,
      "source": "hunt_matchmaker_main",
      "target": "hunt_db_findmatches"
    },
    {
      "relation": "imports",
      "context": "import",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_db_getstats",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "confidence_score": 1.0,
      "source_file": "notion-summary.js",
      "source_location": "L114",
      "weight": 1.0,
      "source": "hunt_notion_summary_generatesummary",
      "target": "hunt_db_getstats"
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "debug-gumtree.js",
      "source_location": "L3",
      "weight": 1.0,
      "source": "debug_gumtree_js",
      "target": "hunt_debug_gumtree_axios",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "debug-gumtree.js",
      "source_location": "L4",
      "weight": 1.0,
      "source": "debug_gumtree_js",
      "target": "hunt_debug_gumtree_cheerio",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "debug-gumtree.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "debug_gumtree_js",
      "target": "hunt_debug_gumtree_debug",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "debug-gumtree2.js",
      "source_location": "L3",
      "weight": 1.0,
      "source": "debug_gumtree_js",
      "target": "hunt_debug_gumtree2_axios",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "debug-gumtree2.js",
      "source_location": "L4",
      "weight": 1.0,
      "source": "debug_gumtree_js",
      "target": "hunt_debug_gumtree2_cheerio",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "debug-gumtree2.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "debug_gumtree_js",
      "target": "hunt_debug_gumtree2_debug",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L17",
      "weight": 1.0,
      "source": "import_existing_leads_js",
      "target": "hunt_import_existing_leads_createclient",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L21",
      "weight": 1.0,
      "source": "import_existing_leads_js",
      "target": "hunt_import_existing_leads_supabase",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L28",
      "weight": 1.0,
      "source": "import_existing_leads_js",
      "target": "hunt_import_existing_leads_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L35",
      "weight": 1.0,
      "source": "import_existing_leads_js",
      "target": "hunt_import_existing_leads_buildidentitykey",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L48",
      "weight": 1.0,
      "source": "import_existing_leads_js",
      "target": "hunt_import_existing_leads_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L104",
      "weight": 1.0,
      "source": "hunt_import_existing_leads_main",
      "target": "hunt_import_existing_leads_isuniqueviolation",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "import-existing-leads.js",
      "source_location": "L91",
      "weight": 1.0,
      "source": "hunt_import_existing_leads_main",
      "target": "hunt_import_existing_leads_buildidentitykey",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L19",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_path",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L26",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_upsertjob_expirestalejobs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L27",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_cities",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L34",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_parseargs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L53",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_sleep",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L66",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_processcity",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L112",
      "weight": 1.0,
      "source": "job_aggregator_js",
      "target": "hunt_job_aggregator_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L113",
      "weight": 1.0,
      "source": "hunt_job_aggregator_main",
      "target": "hunt_job_aggregator_parseargs",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L134",
      "weight": 1.0,
      "source": "hunt_job_aggregator_main",
      "target": "hunt_job_aggregator_sleep",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "job-aggregator.js",
      "source_location": "L127",
      "weight": 1.0,
      "source": "hunt_job_aggregator_main",
      "target": "hunt_job_aggregator_processcity",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L4",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "hunt_matchmaker_findmatches_insertmatch",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "hunt_matchmaker_scorematch",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L31",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "hunt_matchmaker_label",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L38",
      "weight": 1.0,
      "source": "matchmaker_js",
      "target": "hunt_matchmaker_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L54",
      "weight": 1.0,
      "source": "hunt_matchmaker_main",
      "target": "hunt_matchmaker_scorematch",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "matchmaker.js",
      "source_location": "L72",
      "weight": 1.0,
      "source": "hunt_matchmaker_main",
      "target": "hunt_matchmaker_label",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_notion_summary_getstats_supabase",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L11",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_notion_summary_todaystart",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L19",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_notion_summary_gettodaystats",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L68",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_notion_summary_formatsummary",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L110",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_notion_summary_generatesummary",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L123",
      "weight": 1.0,
      "source": "notion_summary_js",
      "target": "hunt_notion_summary_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L20",
      "weight": 1.0,
      "source": "hunt_notion_summary_gettodaystats",
      "target": "hunt_notion_summary_todaystart",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L115",
      "weight": 1.0,
      "source": "hunt_notion_summary_generatesummary",
      "target": "hunt_notion_summary_gettodaystats",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L118",
      "weight": 1.0,
      "source": "hunt_notion_summary_generatesummary",
      "target": "hunt_notion_summary_formatsummary",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "notion-summary.js",
      "source_location": "L126",
      "weight": 1.0,
      "source": "hunt_notion_summary_main",
      "target": "hunt_notion_summary_generatesummary",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_sendplaintext",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_getleadqueue_updateleadstatus_cancontact_recordcontact_cansendtoday",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_templates_filltemplate_send_delay_ms",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L22",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_capitalize",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L27",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_buildunsubscribeurl",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L32",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_sleep",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L38",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_runbatch",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L153",
      "weight": 1.0,
      "source": "outreach_sender_js",
      "target": "hunt_outreach_sender_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L106",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_outreach_sender_capitalize",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L114",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_outreach_sender_buildunsubscribeurl",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L140",
      "weight": 1.0,
      "source": "hunt_outreach_sender_runbatch",
      "target": "hunt_outreach_sender_sleep",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "outreach-sender.js",
      "source_location": "L157",
      "weight": 1.0,
      "source": "hunt_outreach_sender_main",
      "target": "hunt_outreach_sender_runbatch",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L6",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_listmessages_getthread",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L7",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_supabase_markbounced_markunsubscribed",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L13",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_bounce_senders",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L15",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_negative_keywords",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L24",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_positive_keywords",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L37",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_classifyreply",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L65",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_getheader",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L74",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_decodebody",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L86",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_extractplaintext",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L105",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_runcycle",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L211",
      "weight": 1.0,
      "source": "reply_monitor_js",
      "target": "hunt_reply_monitor_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L168",
      "weight": 1.0,
      "source": "hunt_reply_monitor_runcycle",
      "target": "hunt_reply_monitor_classifyreply",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L160",
      "weight": 1.0,
      "source": "hunt_reply_monitor_runcycle",
      "target": "hunt_reply_monitor_getheader",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L90",
      "weight": 1.0,
      "source": "hunt_reply_monitor_extractplaintext",
      "target": "hunt_reply_monitor_decodebody",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L161",
      "weight": 1.0,
      "source": "hunt_reply_monitor_runcycle",
      "target": "hunt_reply_monitor_extractplaintext",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "reply-monitor.js",
      "source_location": "L215",
      "weight": 1.0,
      "source": "hunt_reply_monitor_main",
      "target": "hunt_reply_monitor_runcycle",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "worker_hunter_js",
      "target": "hunt_worker_hunter_path",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L21",
      "weight": 1.0,
      "source": "worker_hunter_js",
      "target": "hunt_worker_hunter_upsertcontact_insertlead",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L22",
      "weight": 1.0,
      "source": "worker_hunter_js",
      "target": "hunt_worker_hunter_cities",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L26",
      "weight": 1.0,
      "source": "worker_hunter_js",
      "target": "hunt_worker_hunter_parseargs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L52",
      "weight": 1.0,
      "source": "worker_hunter_js",
      "target": "hunt_worker_hunter_runcity",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L130",
      "weight": 1.0,
      "source": "worker_hunter_js",
      "target": "hunt_worker_hunter_main",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L131",
      "weight": 1.0,
      "source": "hunt_worker_hunter_main",
      "target": "hunt_worker_hunter_parseargs",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "worker-hunter.js",
      "source_location": "L141",
      "weight": 1.0,
      "source": "hunt_worker_hunter_main",
      "target": "hunt_worker_hunter_runcity",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L11",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_chromium",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L12",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_path",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_gumtree_urls_normalizetrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L18",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_headed",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L23",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_randomdelay",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L29",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_cleanurl",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L39",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_extractsuburb",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L46",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_guesstrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L68",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_extractjobsfrompage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L188",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_js",
      "target": "scrapers_gumtree_jobs_scrapegumtreejobs",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L251",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_scrapegumtreejobs",
      "target": "scrapers_gumtree_jobs_randomdelay",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L235",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_scrapegumtreejobs",
      "target": "scrapers_gumtree_jobs_guesstrade",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-jobs.js",
      "source_location": "L231",
      "weight": 1.0,
      "source": "scrapers_gumtree_jobs_scrapegumtreejobs",
      "target": "scrapers_gumtree_jobs_extractjobsfrompage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L16",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_axios",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L17",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_cheerio",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L18",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_path",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L20",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_gumtree_urls_normalizetrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L34",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_extractcontacts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L43",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_cleanurl",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L54",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_fetchpage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L73",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_scrapegumtreejobs",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L169",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_js",
      "target": "scrapers_gumtree_scrapingbee_scrapegumtreeworkers",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L83",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_scrapegumtreejobs",
      "target": "scrapers_gumtree_scrapingbee_fetchpage",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-scrapingbee.js",
      "source_location": "L179",
      "weight": 1.0,
      "source": "scrapers_gumtree_scrapingbee_scrapegumtreeworkers",
      "target": "scrapers_gumtree_scrapingbee_fetchpage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L11",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_chromium",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L12",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_path",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L14",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_gumtree_urls_normalizetrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L18",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_headed",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L23",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_randomdelay",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L33",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_extractcontacts",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L64",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_extractname",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L79",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_guesstrade",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L101",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_extractworkersfrompage",
      "confidence_score": 1.0
    },
    {
      "relation": "contains",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L213",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_js",
      "target": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L284",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "target": "scrapers_gumtree_workers_randomdelay",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L261",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "target": "scrapers_gumtree_workers_extractcontacts",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L263",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "target": "scrapers_gumtree_workers_extractname",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L266",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "target": "scrapers_gumtree_workers_guesstrade",
      "confidence_score": 1.0
    },
    {
      "relation": "calls",
      "context": "call",
      "confidence": "EXTRACTED",
      "source_file": "scrapers/gumtree-workers.js",
      "source_location": "L256",
      "weight": 1.0,
      "source": "scrapers_gumtree_workers_scrapegumtreeworkers",
      "target": "scrapers_gumtree_workers_extractworkersfrompage",
      "confidence_score": 1.0
    }
  ],
  "hyperedges": [],
  "built_at_commit": "5ae6d1f185ad0ec9ddf950c26bb80829fc49e305"
}