gtm-now 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -8752,12 +8752,57 @@ function parseName(fullName) {
8752
8752
  if (parts.length === 1) return { first: parts[0], last: "" };
8753
8753
  return { first: parts[0], last: parts.slice(1).join(" ") };
8754
8754
  }
8755
+ function parseLocation(location) {
8756
+ if (!location) return {};
8757
+ const lower = location.toLowerCase().trim();
8758
+ if (US_STATES[lower]) {
8759
+ return { person_country: "US", person_state: US_STATES[lower] };
8760
+ }
8761
+ if (location.length === 2 && US_STATE_CODES.has(location.toUpperCase())) {
8762
+ return { person_country: "US", person_state: location.toUpperCase() };
8763
+ }
8764
+ const cityStateMatch = location.match(/^(.+),\s*([A-Za-z]{2})$/);
8765
+ if (cityStateMatch && US_STATE_CODES.has(cityStateMatch[2].toUpperCase())) {
8766
+ return { person_country: "US", person_state: cityStateMatch[2].toUpperCase() };
8767
+ }
8768
+ const COUNTRY_MAP = {
8769
+ "united states": "US",
8770
+ usa: "US",
8771
+ "united kingdom": "UK",
8772
+ uk: "UK",
8773
+ germany: "DE",
8774
+ france: "FR",
8775
+ canada: "CA",
8776
+ australia: "AU",
8777
+ india: "IN",
8778
+ brazil: "BR",
8779
+ japan: "JP",
8780
+ "south korea": "KR",
8781
+ spain: "ES",
8782
+ italy: "IT",
8783
+ netherlands: "NL",
8784
+ sweden: "SE",
8785
+ switzerland: "CH",
8786
+ israel: "IL",
8787
+ singapore: "SG",
8788
+ mexico: "MX",
8789
+ ireland: "IE",
8790
+ poland: "PL"
8791
+ };
8792
+ if (COUNTRY_MAP[lower]) {
8793
+ return { person_country: COUNTRY_MAP[lower] };
8794
+ }
8795
+ if (location.length === 2) {
8796
+ return { person_country: location.toUpperCase() };
8797
+ }
8798
+ return { person_country: location };
8799
+ }
8755
8800
  function domainToCompanyName(domain) {
8756
8801
  const slug = domain.split(".")[0] ?? domain;
8757
8802
  const words = slug.replace(/[-_]/g, " ").replace(/([a-z])([A-Z])/g, "$1 $2").split(/\s+/).filter(Boolean);
8758
8803
  return words.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join(" ");
8759
8804
  }
8760
- var SENIORITY_TO_DISCO, DiscoAdapter;
8805
+ var SENIORITY_TO_DISCO, DiscoAdapter, US_STATES, US_STATE_CODES;
8761
8806
  var init_disco = __esm({
8762
8807
  "src/providers/adapters/disco.ts"() {
8763
8808
  "use strict";
@@ -8880,7 +8925,7 @@ var init_disco = __esm({
8880
8925
  // Fall back to icp_text when company_name given without company_domain or company_domains
8881
8926
  icp_text: !query.company_domain && !query.company_domains && query.company_name ? query.company_name : void 0,
8882
8927
  title: query.job_title,
8883
- person_country: query.location,
8928
+ ...parseLocation(query.location),
8884
8929
  has_email: query.has_email ?? true,
8885
8930
  max_records: query.limit ?? 25,
8886
8931
  seniority: mapSeniority(query.seniority),
@@ -8908,7 +8953,7 @@ var init_disco = __esm({
8908
8953
  company_domain: c.domain,
8909
8954
  linkedin_url: c.social_urls?.find((u) => u.includes("linkedin")),
8910
8955
  email: c.email,
8911
- phone: c.phone,
8956
+ phone: typeof c.phone === "string" ? c.phone : Array.isArray(c.phone) ? c.phone[0]?.phone : void 0,
8912
8957
  seniority: c.seniority,
8913
8958
  department: c.department,
8914
8959
  skills: c.skills,
@@ -8919,6 +8964,59 @@ var init_disco = __esm({
8919
8964
  });
8920
8965
  }
8921
8966
  };
8967
+ US_STATES = {
8968
+ alabama: "AL",
8969
+ alaska: "AK",
8970
+ arizona: "AZ",
8971
+ arkansas: "AR",
8972
+ california: "CA",
8973
+ colorado: "CO",
8974
+ connecticut: "CT",
8975
+ delaware: "DE",
8976
+ florida: "FL",
8977
+ georgia: "GA",
8978
+ hawaii: "HI",
8979
+ idaho: "ID",
8980
+ illinois: "IL",
8981
+ indiana: "IN",
8982
+ iowa: "IA",
8983
+ kansas: "KS",
8984
+ kentucky: "KY",
8985
+ louisiana: "LA",
8986
+ maine: "ME",
8987
+ maryland: "MD",
8988
+ massachusetts: "MA",
8989
+ michigan: "MI",
8990
+ minnesota: "MN",
8991
+ mississippi: "MS",
8992
+ missouri: "MO",
8993
+ montana: "MT",
8994
+ nebraska: "NE",
8995
+ nevada: "NV",
8996
+ "new hampshire": "NH",
8997
+ "new jersey": "NJ",
8998
+ "new mexico": "NM",
8999
+ "new york": "NY",
9000
+ "north carolina": "NC",
9001
+ "north dakota": "ND",
9002
+ ohio: "OH",
9003
+ oklahoma: "OK",
9004
+ oregon: "OR",
9005
+ pennsylvania: "PA",
9006
+ "rhode island": "RI",
9007
+ "south carolina": "SC",
9008
+ "south dakota": "SD",
9009
+ tennessee: "TN",
9010
+ texas: "TX",
9011
+ utah: "UT",
9012
+ vermont: "VT",
9013
+ virginia: "VA",
9014
+ washington: "WA",
9015
+ "west virginia": "WV",
9016
+ wisconsin: "WI",
9017
+ wyoming: "WY"
9018
+ };
9019
+ US_STATE_CODES = new Set(Object.values(US_STATES));
8922
9020
  }
8923
9021
  });
8924
9022
 
@@ -10510,7 +10608,13 @@ var init_status = __esm({
10510
10608
  capability: "outreach_linkedin",
10511
10609
  setup: "Set GTM_HEYREACH_API_KEY"
10512
10610
  },
10513
- { tool: "gtm_crm", requires: "attio", capability: "crm_read", setup: "Set GTM_ATTIO_API_KEY" }
10611
+ { tool: "gtm_crm", requires: "attio", capability: "crm_read", setup: "Set GTM_ATTIO_API_KEY" },
10612
+ {
10613
+ tool: "gtm_ai",
10614
+ requires: "anthropic or openai",
10615
+ capability: "ai",
10616
+ setup: "Set GTM_ANTHROPIC_API_KEY or GTM_OPENAI_API_KEY"
10617
+ }
10514
10618
  ];
10515
10619
  }
10516
10620
  });